Cellules fusionnées par VBA

nico0007

XLDnaute Junior
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...:confused:
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
 

deudecos

XLDnaute Impliqué
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
 

nico0007

XLDnaute Junior
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
 

ChTi160

XLDnaute Barbatruc
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
 

Statistiques des forums

Discussions
312 239
Messages
2 086 503
Membres
103 236
dernier inscrit
Menni