Microsoft 365 Fusionner des cellules identiques horizontalement

  • Initiateur de la discussion Initiateur de la discussion Louism
  • Date de début Date de début

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 !

Louism

XLDnaute Nouveau
Bonjour,

Je viens de créer un planning annuel partiellement automatisé sur 13 mois pour suivre les absences des employés.

Le but de ce fichier est d'être un modèle pour créer rapidement le planning pour les années suivantes. Mon planning se met à jours en modifiant ma date d'entrée dans le premier onglet, mais j'aimerais trouver un moyen de fusionner les cellules des N° de semaine en ligne 12. Ci-joint mon fichier pour visualiser ma demande. Je suis à l'aise avec les formules, mais je n'ai aucune expérience en macro et VBA.

J'ai actuellement deux modèles (1 pour les années de 365 jours et un modèle pour les années de 366 jours).

En vous remerciant par avance pour votre aide !
 

Pièces jointes

Solution
Re

A tester:
Sub Macro1()
Dim debut As Range
Set debut = Cells(12, 3)
For n = 4 To Cells(12, Columns.Count).End(xlToLeft).Column + 1
If Cells(12, n).Value <> debut.Value Then
Application.DisplayAlerts = False
Range(debut, Cells(12, n - 1)).MergeCells = True
Application.DisplayAlerts = True
Set debut = Cells(12, n)
End If
Next
End Sub
Bonjour Louism

Voici la macro a lancer pour obtenir la fusion

Sub Macro1()
Dim debut As Range
Set debut = Cells(12, 3)
For n = 4 To Cells(12, Columns.Count).End(xlToLeft).Column
If Cells(12, n) <> debut.Value Then
Application.DisplayAlerts = False
Range(debut, Cells(12, n - 1)).MergeCells = True
Application.DisplayAlerts = True
Set debut = Cells(12, n)
End If
Next
End Sub
 

Pièces jointes

Bonjour PierreJean,

Je vous remercie pour cette macro, c'est exactement ce qu'il me fallait !

Par contre, j'ai essayé de lancer la macro en mettant en année de réf 2022 ou 2023 et je vois que la fusion ne se fait pas pour les dernières colonnes. Que dois-je modifier dans la macro ?

En vous remerciant par avance !
 
Re

A tester:
Sub Macro1()
Dim debut As Range
Set debut = Cells(12, 3)
For n = 4 To Cells(12, Columns.Count).End(xlToLeft).Column + 1
If Cells(12, n).Value <> debut.Value Then
Application.DisplayAlerts = False
Range(debut, Cells(12, n - 1)).MergeCells = True
Application.DisplayAlerts = True
Set debut = Cells(12, n)
End If
Next
End Sub
 
- 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
46
Affichages
2 K
Réponses
12
Affichages
966
Réponses
7
Affichages
856
Retour