Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Fusionner automatiquement des cellule identique

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 !

sebastien176

XLDnaute Junior
Bonjour à tous,

Comme écrit dans le titre, je voudrais pouvoir fusionner automatiquement des cellules identique

Dans la colonne "D" (de D16 à D381"), les cases comprises entre les dates du petit tableau (ci-dessous) se colorent et se remplissent automatiquement


Par contre chaque cellule comporte le texte "ARRET USINE" (voir ci-dessous)

J'aimerais que ces cellules soient fusionnées automatiquement par VBA ou macro

Merci par avance de votre aide

Bonne journée à tous

Seb
 

Pièces jointes

Bonsoir @sebastien176 , bonsoir à tous

Essai ce bout de code en ajoutant un petit bouton sur ta feuille pour appeler la macro :
VB:
Sub Fusion()
     Const Plage_Fusion = "P16:P381"
     Const NomSh = "Feuil1"
     Const Texte = "ARRET USINE"
  
     Dim Wsh As Worksheet, Rg As Range, sRg As Range, Continuer as Boolean
  
     Set Rg = Range(Plage_Fusion)
     i = 1
     While i < Rg.Rows.Count
          If Rg.Cells(i, 1).Value = Texte Then
               Continuer = True
               j = 1
               While Continuer
                    If Rg.Cells(i + j, 1) = Texte Then
                         j = j + 1
                    Else
                         Continuer = False
                    End If
               Wend
               If j > 1 Then
                    Application.DisplayAlerts = False
                    Rg.Cells(i, 1).Resize(j).Merge
                    Application.DisplayAlerts = True
               End If
               i = i + j
          End If
          i = i + 1
     Wend
End Sub

Bien sûr après l'exécution si tu veux annuler la fusion seule une cellule par plage dé-fusionnée conservera la formule.

Amicalement
Alain
 
Dernière édition:
Bonjour Seb,

Ci-joint une possibilité sans macros.

Sachant que tu travaille a priori à la semaine, je te propose une solution avec les modifs suivantes :
- J'ai rajouté un numéro de semaine après les dates de fermetures en AA9 et AA12
- La formule de calcul est modifiée pour calculer les cellules appartenant à l'une de ces semaines
- les zones sont fusionnées par semaine
- Police de caractère réduite pour que le texte tienne dans la zone

Dis-moi si ça peut te convenir.

Gaël
 

Pièces jointes

Bonsoir sebastien176, At TheOne, Gael,

Voyez le fichier joint et ces 2 macros :
VB:
Sub Fusionner()
'se lance par Ctrl+F
Dim c As Range, deb As Range
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each c In Range("P16:P" & Range("P" & Rows.Count).End(xlUp).Row + 1) 'une cellule (vide) en bas
    If c = "ARRET USINE" And deb Is Nothing Then Set deb = c
    If c = "" And Not deb Is Nothing Then Range(deb, c(0)).Merge: Set deb = Nothing
Next
End Sub

Sub Defusionner()
'se lance par Ctrl+D
Application.ScreenUpdating = False
Dim c As Range
For Each c In Range("P16:P" & Range("P" & Rows.Count).End(xlUp).Row)
    If c.MergeCells Then
        With c.MergeArea
            c.UnMerge
            c.AutoFill .Cells
        End With
    End If
Next
End Sub
Elles se lancent par les raccourcis clavier indiqués.

A+
 

Pièces jointes

- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…