Cellules fusionnées par VBA

  • Initiateur de la discussion Initiateur de la discussion nico0007
  • 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 !

N

nico0007

Guest
Bonjour le forum,

J'essaie avec beaucoup de mal et peu de réussite de faire fusionner trois - quatre cellules dans mon code vba. Voici mon code:
Code:
Selection=ActiveCell + ActiveCell.Offset(0, 1) + ActiveCell.Offset(0, 2) + ActiveCell.Offset(0, 3)
Puis je fais un
Code:
Selection.merge
Mais rien n'y fais. Mes valeurs restent dans la même cellule et un AutoFit est effectué. Je me retrouve donc avec une Range de 12 kilomètre de haut...😕
Je ne peux pas donner une plage de cellule spécifique car mon code doit se répéter sur d'autres cas, donc je dois faire qqchose de générique...

Une idée?
Merci
 
Re : Cellules fusionnées par VBA

Salut Nico, le forum,

En me servant de l'enregistreur de macro, ca me donne ca comme code.
A toi de l'adapter a tes besoins.
Pour info :l'enregistreur de macro est quelque chose de tres utile ! Pensez a l'utiliser !!!

Range("F6:I6").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge

Bonne journee

Olivier
 
Re : Cellules fusionnées par VBA

salut,
je te remercie pour ta réponse.
J'ai essayé ça aussi. Je le fais effectivement assez régulièrement...Mais là rien n'y fait. Les cellules ne fusionnent pas. En tout cas lorsque je fais la selection présentée dans mon premier post. Car effectivement si je fais la selection d'une plage de cellule (type F6:H6) ça marche, mais ce n'est pas mon but. Je veux vraiment que mon code soit générique, d'où l'utilisation de Activecell et des offsets.

Merci de ton aide
 
Re : Cellules fusionnées par VBA

Salut nico0007
bonsoir le Fil

voilà un montage qui fait ce que tu veux Lol
a adapter bien sur

Code:
Sub Test()
Dim R As Integer
Dim C As Byte, LastC As Byte
Dim cel As Range
  R = ActiveCell.Row
   C = ActiveCell.Column
  LastC = ActiveCell.Offset(0, 3).Column
Set cel = Range(Cells(R, C), Cells(R, LastC))
With cel
   .MergeCells = True
   .Interior.ColorIndex = 4
   .HorizontalAlignment = xlCenter
   .VerticalAlignment = xlCenter
End With
End Sub
Bonne fin de Journée
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
639
Réponses
4
Affichages
892
Retour