TOP

Fusionner des cellules sans perdre de texte

Description

Supposons que nous ayons de nombreuses cellules que nous devons fusionner avec du texte. L'ensemble standard Excel a une fonction similaire : "Fusionner et centrer", mais lors de la fusion, il ne laisse que le texte de la cellule la plus externe. Nous devons donc utiliser notre propre macro à ces fins.


Code VBA pour la macro

Pour cela, ouvrez l'éditeur Visual Basic (Alt+F11), insérez le module VBA (Insert - Module) et copiez-y le texte de cette procédure :

Sub MergeCell()
    Const sDELIM    As String = " "
    Dim   rCell     As Range
    Dim   sMergeStr As String
    
    If TypeName(Selection) <> "Range" Then Exit Sub
    
    With Selection
        For Each rCell In .Cells
            sMergeStr = sMergeStr & sDELIM & rCell.Text
        Next rCell
        
        Application.DisplayAlerts = False
        .Merge Across:=False
        Application.DisplayAlerts = True
        
        .Item(1).Value = Mid(sMergeStr, 1 + Len(sDELIM))
    End With
End Sub

Enregistrez et revenez à Excel.

Sélectionnez maintenant les cellules requises et exécutez notre macro (Alt+F8) (nom de la macro : "MergeCell").