programmation VBA

fridrou

XLDnaute Nouveau
bonjour,

j'arrive avec un nouveau probleme: mon but fair fusionner des cellules d'une meme colonne 4 par 4.

le probleme que j'ai est étrange*. je procède comme pour une macro simple mais en généralisant le mode opératoire. et la, ca bloque.

la ligne fausse est la suivante :

Range (("A" & i) : ("A" & (i + 3))).Select

merci pour votre aide
 

Dull

XLDnaute Barbatruc
Re : programmation VBA

Salut fridou, Spitnolan :), le Forum

Peut-être parce que l'ami Spitnolan n'a ni les tenants ni les aboutissants de ton Code :eek:

Essaye de fournir un extrait de ton fichier de -48ko , sans données confidentielles et Zippé si possible et tu va voir qu'en 2 temps 3 mouvements il (ont) trouvera la solution.

Bonne Journée

EDITION: Salut pierrejean et comme tu le dit ça devrait fonctionner:)
 
Dernière édition:

fridrou

XLDnaute Nouveau
Re : programmation VBA

voila le programme, il peut s'appliquer sur n'importe quelle feuille de calcul:

Sub fusionner()
For i = 1 To 20
Do Until i = 20
Range("A" & i" : "A" & i + 3 ).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
Selection.Merge

End With
Loop
Next i

End Sub
 

jp14

XLDnaute Barbatruc
Re : programmation VBA

Bonjour
A essayer

Range("A" & i & ":A" & (i + 3)).Select
au lieu de
Range("A" & i" : "A" & i + 3 ).Select

Solution déjà proposé par Spitnolan08

Supprimer la boucle do et rajouter step 4 à la boucle for next

JP
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : programmation VBA

Re

Salut dull :)
Salut jp :)

Quelque chose qui fonctionne et fait peut-etre ce que tu souhaites

Code:
Sub fusionner()
For i = 1 To 60 Step 4
'Do Until i = 20
Range("A" & i & ":A" & i + 3).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
Selection.Merge
End With
'Loop
Next i
End Sub

Note que la aussi la ligne

Range("A" & i & ":A" & i + 3).Select

t'a été donnée il y a longtemps

Edit: En fait c'est exactement ce que propose JP !!!
 

Discussions similaires

Réponses
1
Affichages
145
Réponses
7
Affichages
453

Statistiques des forums

Discussions
312 778
Messages
2 092 040
Membres
105 162
dernier inscrit
djikon