Fusion de colonnes avec condition IF

Résolu/Fermé
Lils_Bis Messages postés 57 Date d'inscription lundi 4 avril 2016 Statut Membre Dernière intervention 28 décembre 2020 - 11 mai 2016 à 14:09
Lils_Bis Messages postés 57 Date d'inscription lundi 4 avril 2016 Statut Membre Dernière intervention 28 décembre 2020 - 17 mai 2016 à 11:30
Bonjour à toutes et à tous !

Voilà j'ai un petit problème et n'arrivant pas à le résoudre par mes propres moyens, je me tourne vers vous !
Alors j'ai dans mon fichier EXCEL des colonnes que je souhaiterai fusionner selon une condition. A savoir que je souhaiterai que la fusion entre deux colonnes SI
- Dans ma cellule B1, j'ai la valeur "Niveau1" (en titre de colonne donc). Dans ce cas je souhaiterais que la colonne B fusionne avec la colonne C pour qu'elle ne forme plus qu'une seule et unique colonne. Aussi, en complément, si possible, il faudrait que la colonne C soit supprimé (car son contenu se retrouve dans la colonne B)

Merci par avance de l'aide que vous pourrez m'apporter !



A voir également:

1 réponse

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
14 mai 2016 à 17:59
Bonjour
Si j'ai bien compris
Sub FusionColonnes()
    Application.ScreenUpdating = False
    DerLig = Columns("B:C").Find("*", , , , xlByColumns, xlPrevious).Row
    If [B1] = "Niveau1" Then
        For i = 2 To DerLig
            Cells(i, 2) = Cells(i, 2) & " " & Cells(i, 3)
        Next i
        Range("C2:C" & DerLig).ClearContents
    End If
End Sub

Cdlt
0
Lils_Bis Messages postés 57 Date d'inscription lundi 4 avril 2016 Statut Membre Dernière intervention 28 décembre 2020
17 mai 2016 à 11:30
Bonjour,
Je te remercie de ta solution mais entre temps, j'en avais trouvé une moi-même, je la poste ici pour ceux que ça intéresse.

Derla = Range("A" & Rows.Count).End(xlUp).Row
Derlb = Range("B" & Rows.Count).End(xlUp).Row
If Derla > Derlb Then
derl = Derla
Else: derl = Derlb
End If

For i = 2 To derl
If Range("C1") = "Niveau1" Then
FusionFor = Range("C" & i) & Range("H" & i) & Range("M" & i) _
& Range("R" & i) & Range("S" & i) & Range("T" & i)
Range("C" & i) = FusionFor
End If

Next i
If Range("C1") = "Niveau1" Then
Range("H:H,M:M,R:R,S:S,T:T").Select
'Range("T1").Activate
Selection.Delete Shift:=xlToLeft
Range("C1") = "Niveau"
End If
0