[VBA Excel] Boucle pour fusion de cellules
Résolu/Fermé
juju93110
Messages postés
19
Date d'inscription
lundi 17 décembre 2007
Statut
Membre
Dernière intervention
10 décembre 2013
-
7 janv. 2008 à 16:29
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 7 janv. 2008 à 22:59
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 7 janv. 2008 à 22:59
A voir également:
- [VBA Excel] Boucle pour fusion de cellules
- Formule excel pour additionner plusieurs cellules - Guide
- Liste déroulante excel - Guide
- Fusionner deux cellules excel - Guide
- Verrouiller cellules excel - Guide
- Excel cellule couleur si condition texte - Guide
3 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 718
7 janv. 2008 à 21:54
7 janv. 2008 à 21:54
bonjour
Tu peux simplifier ton code en évitant les sélections qui ne servent qu'à ralentir l'exécution.
Cependant si ceci fera fonctionner ta macro, il est tout de même fortement déconseillé d'utiliser les macros avec des cellules fusionnées.
Tu veux en plus fusionner avec une macro mais comme tu l'as remarqué, la première fonctionne mais pas les suivantes car celle qui est fusionnée perturbe les adressages : pour Excel la ligne fusionnée ne compte plus.
Je fais fonctionner ta macro en utilisant une colonne où je n'ai pas de fusions de lignes mais si tu en as tu auras le même problème.
Si tu veux éviter les soucis, je te conseille expressément d'éviter les fusions de cellules en utilisant des boucles macros.
Maintenant y en a qui ont essayé...ils ont eu des problèmes, c'est vous qui voyez ! comme disent Chevallier Laspales...
Tu peux simplifier ton code en évitant les sélections qui ne servent qu'à ralentir l'exécution.
Sub fusion() Dim decalage_ligne As Double decalage_ligne = 0 Do While Range("L3").Offset(decalage_ligne, 0).Value <> "" With Range("L13:L14").Offset(decalage_ligne, -2) .HorizontalAlignment = xlLeft .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End With decalage_ligne = decalage_ligne + 13 Loop End Sub
Cependant si ceci fera fonctionner ta macro, il est tout de même fortement déconseillé d'utiliser les macros avec des cellules fusionnées.
Tu veux en plus fusionner avec une macro mais comme tu l'as remarqué, la première fonctionne mais pas les suivantes car celle qui est fusionnée perturbe les adressages : pour Excel la ligne fusionnée ne compte plus.
Je fais fonctionner ta macro en utilisant une colonne où je n'ai pas de fusions de lignes mais si tu en as tu auras le même problème.
Si tu veux éviter les soucis, je te conseille expressément d'éviter les fusions de cellules en utilisant des boucles macros.
Maintenant y en a qui ont essayé...ils ont eu des problèmes, c'est vous qui voyez ! comme disent Chevallier Laspales...
juju93110
Messages postés
19
Date d'inscription
lundi 17 décembre 2007
Statut
Membre
Dernière intervention
10 décembre 2013
7 janv. 2008 à 22:49
7 janv. 2008 à 22:49
Ah !!! mais c'est tout vu.
Merci beaucoup pour ta réponse.
Je me sent bête de ne pas y avoir pensé moi même.
La fusion des cellules n'a qu'un but purement esthétique.
Merci beaucoup pour ta réponse.
Je me sent bête de ne pas y avoir pensé moi même.
La fusion des cellules n'a qu'un but purement esthétique.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 718
7 janv. 2008 à 22:59
7 janv. 2008 à 22:59
bonjour
La fusion des cellules n'a qu'un but purement esthétique.
C'est souvent le cas car on utilise Excel pour faire de la présentation et en fait un tableur était surtout destiné à calculer...
Je me sent bête de ne pas y avoir pensé moi même.
Surtout pas !
C'est toujours très difficile de remettre en cause une procédure que l'on a conçue et qui était tout à fait logique si tu ne connais pas le problème des fusions de cellules.
@+ et bonne suite.
La fusion des cellules n'a qu'un but purement esthétique.
C'est souvent le cas car on utilise Excel pour faire de la présentation et en fait un tableur était surtout destiné à calculer...
Je me sent bête de ne pas y avoir pensé moi même.
Surtout pas !
C'est toujours très difficile de remettre en cause une procédure que l'on a conçue et qui était tout à fait logique si tu ne connais pas le problème des fusions de cellules.
@+ et bonne suite.