TOP

Fusionner des cellules sans perdre de texte

Description

Supposons que nous ayons de nombreuses cellules que nous devons fusionner avec du texte. Dans l'ensemble standard Excel, il existe une fonction similaire : "Fusionner et centrer" , mais lors de l'exécution de l'union, 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 MergeToOneCell()
    'moonexcel.com.ua
    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").