Fusion de cellule en boucle

Bonjour le forum,

Après un premier post très instructif, me revoila pour un nouveau (petit) problème.

J'essaie d'améliorer ma macro en passant par du code VBA mais je sèche un peu la. Je souhiaterai faire un code qui me permet de fusionner la cellule de la colonne C (active) avec la cellule de la colonne D (vide) pour les lignes 25 à 51 de ma feuille.

En claire, fusionner C25 avec D25; C26 avec D26 jusqu'a C51 avec D51.

voila le code que j'ai éssayer de faire mais qui ne fonctionne pas vraiment car ne se limite pas à la plage souhaitée (fusionne toutes les lignes des colonne C et D en une seule cellule) de plus il entraine ce massage d'erreur recurant qui dit que seule la valeure de la premiere celulle de gauche sera concervée.

"Sub test_merge_loop()
For Each cell In Range("C25: C51")
Range("C:D").Merge
Range("C:D").HorizontalAlignment = xlCenter
Range("C:D").VerticalAlignment = xlCenter
Next cell
End Sub"

Je vous remercie de nouveau pour l'aide que vous m'apporterez.

Hello,

Pour infos les cellules fusionnées dans un tableau ne sont pas conseillées surtout avec du vba.

Ceci étant dit à tester :

Sub test_merge_loop()
dim i as byte 'ligne maxi 255
For i = 25 to 51 
Range("C" & i & ":D" & i).Merge
Range("C" & i & ":D" & i).HorizontalAlignment = xlCenter
Range("C" & i & ":D" & i).VerticalAlignment = xlCenter
Next i
End Sub"

Salut Rag02700,

Merci pour ta proposition, elle fonctionne magnifiquement bien.

J'ai en effet vu plusieurs fois cette mise en garde. Vu que c'est pour de l'esthétisme pur je verais si ça me pose des soucis pour la suite auquel cas je le supprimerai.

Un grand merci pour ton aide.

Bon weekend à tous.

Bonjour Rag02700 et tous les autres aussi,

Je reviens vers vous ou si d'autres personnes ont la réponse, en ce qui concerne mon soucis de fusion de cellules. Je voudrais savoir s'il est possible de cumuler des "dim x as byte" comme dans ton modèle.
Je m'explique. J'ai ajouté 2 colonnes au tableau du coup je fusionne avec ton code B et C. J'ai voulu sur le même modèle fusionner D, E et F. Les codes fonctionnent parfaitement bien quand ils sont dans des modules différents en revanche si je les mets dans une même macro le second ne fonctionne pas. J'ai le message d'erreur qui dit que seule les données de la cellues supérieur gauche sera conservé.

Ma question: est il possible de les cumuler?
Si "non" peut on cumuler les deux demande des fusions en un seul "dim x as byte"?

Je vous remercie pour votre aide.

Hello,

Je sais pas trop ce que tu as fait mais si j'ai bien compris ce que tu souhaites faire :

Sub test_merge_loop()
    Dim i As Byte 'ligne maxi 255
    For i = 25 To 51
        Range("b" & i & ":c" & i).Merge
        Range("b" & i & ":c" & i).HorizontalAlignment = xlCenter
        Range("b" & i & ":c" & i).VerticalAlignment = xlCenter

        Range("d" & i & ":f" & i).Merge
        Range("d" & i & ":f" & i).HorizontalAlignment = xlCenter
        Range("d" & i & ":f" & i).VerticalAlignment = xlCenter
    Next i
End Sub

Merci pour ta réponse. Je regarderai demain mais oui je pense que ça va coller à ce que je souhaite.

Moi j'avais carrément refais un dim a as byte pour le second range.

j'ai en faite réussi à le faire fonctionner en le collant un peu plus loin dans le code. Mais forcément ta solution est plus académique.

Encore merci pour tout. Je te confirme demain que ça fonctionne.

Rechercher des sujets similaires à "fusion boucle"