Adaptation code Fusion cellules pour 3 feuilles

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cathodique

XLDnaute Barbatruc
Bonjour,

Avec ce code, j'arrive à fusionner des cellules contigües ayant la même valeur pour la ligne 7 et la colonne A sur une seule feuille.
Code:
Sub merging_Feuil1()
 Dim i As Long
 
    With Sheets("A") 'Feuil1 'lenomdetafeuille
 
        For i = .Range("A" & .Rows.Count).End(xlUp).Row To 7 Step -1
            If UCase(.Cells(i, 1)) = UCase(.Cells(i - 1, 1)) Then
                .Cells(i - 1, 1) = ""
                .Range(Cells(i, 1), Cells(i - 1, 1)).merge
            End If
        Next i
 
        For i = .Cells(7, .Columns.Count).End(xlToLeft).Column To 2 Step -1
            If UCase(.Cells(7, i)) = UCase(.Cells(7, i - 1)) Then
                .Cells(7, i - 1) = ""
                .Range(Cells(7, i), Cells(7, i - 1)).merge
            End If
        Next i
 
    End With
 
End Sub

Mais en voulant l'adapter pour 3 feuilles nommées A, B et C, ça bug au niveau de la ligne signalée par des xxxx
Code:
Sub merging_Feuil_A_B_C()
 Dim i As Long, n As Long
 Dim Tp
 
 Application.ScreenUpdating = False
 
 Tp = Array("A", "B", "C")
 For n = LBound(Tp) To UBound(Tp)
 
     With Sheets(Tp(n)) ' Feuil1 'lenomdetafeuille
 
        For i = .Range("A" & .Rows.Count).End(xlUp).Row To 7 Step -1
            If UCase(.Cells(i, 1)) = UCase(.Cells(i - 1, 1)) Then
                .Cells(i - 1, 1) = ""
                .Range(Cells(i, 1), Cells(i - 1, 1)).merge   'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxBUG
            End If
        Next i
 
        For i = .Cells(7, .Columns.Count).End(xlToLeft).Column To 2 Step -1
            If UCase(.Cells(7, i)) = UCase(.Cells(7, i - 1)) Then
                .Cells(7, i - 1) = ""
                .Range(Cells(7, i), Cells(7, i - 1)).merge
            End If
        Next i
    End With
     Next n
End Sub
Mon code n'est pas bon plus qu’il s'arrête sur une ligne. Merci de m'aider en corrigeant mon code ou me proposer un autre plus adapter.

Mes remerciements anticipés.

Cordialement,
 

Pièces jointes

Re : Adaptation code Fusion cellules pour 3 feuilles

bonjour cathodique
A tester:

Code:
Sub merging_Feuil_A_B_C()
 Dim i As Long, n As Long
 Dim Tp
 
 Application.ScreenUpdating = False
 
 Tp = Array("A", "B", "C")
 For n = LBound(Tp) To UBound(Tp)
 
     With Sheets(Tp(n)) ' Feuil1 'lenomdetafeuille
 
        For i = .Range("A" & .Rows.Count).End(xlUp).Row To 7 Step -1
            If UCase(.Cells(i, 1)) = UCase(.Cells(i - 1, 1)) Then
                .Cells(i - 1, 1) = ""
                .Range(.Cells(i, 1), .Cells(i - 1, 1)).merge   'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxBUG
            End If
        Next i
 
        For i = .Cells(7, .Columns.Count).End(xlToLeft).Column To 2 Step -1
            If UCase(.Cells(7, i)) = UCase(.Cells(7, i - 1)) Then
                .Cells(7, i - 1) = ""
                .Range(.Cells(7, i), .Cells(7, i - 1)).merge
            End If
        Next i
    End With
     Next n
End Sub

Edit: Salut Caillou (même avis !!!)
 
[Résolu] : Adaptation code Fusion cellules pour 3 feuilles

Bonjour Caillou, Bonjour PierreJean,

Je vous remercie beaucoup. En effet, il manquait les points (.),je n'avais pas fait attention.
Mais ce que je ne comprends pas, c'est que le code ne planté pas alors que même dans celui-ci les points est manquant.

Bon, maintenant ça fonctionne bien grâce à vos corrections.

Je vous en remercie.

Cordialement,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
912
Réponses
15
Affichages
788
Réponses
4
Affichages
281
Réponses
2
Affichages
257
Réponses
2
Affichages
528
Réponses
8
Affichages
782
Retour