Fusion de colonnes avec condition IF

Résolu
Lils_Bis Messages postés 65 Statut Membre -  
Lils_Bis Messages postés 65 Statut Membre -
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 !

1 réponse

  1. Frenchie83 Messages postés 2254 Statut Membre 339
     
    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
    1. Lils_Bis Messages postés 65 Statut Membre
       
      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