Deplacement avec Offset / VBA

Résolu/Fermé
loulou - 24 févr. 2011 à 21:36
 loulou - 25 févr. 2011 à 10:55
Bonjour,

Dans une macro, sous Excel 2003, après avoir écrit une valeur dans une cellule, je souhaite réécrire cette même écriture 3 colonnes à droite, puis encore 3 colonnes à droite, puis encore 3 colonnes à droite...
Ce qui me donne, dans un exemple simplifié:

If A = "toto" then
ecrire "toto" dans la colonne B5
end if

activecell.offset(0, 3) = "toto"

Or, le fait que mon offset n'est pas dans une boucle pour le moment, dans l'état le ActiveCell décale de 3 à partir de la dernière cellule où j'ai cliqué.
Ce que je souhaite faire, c'est décaler de 3 mais à partir de ma dernière écriture, soit B5 dans mon petit exemple.

Avez-vous une idée pour résoudre ce souci ?

Merci

3 réponses

Bonjour,

Facile,
Il suffit de calculer l'offset avec une formule comme indiqué dans cet exemple:

Sub test()
Dim i As Integer
For i = 1 To 5
ActiveCell.Offset(0, i * 3) = "toto"
Next
End Sub
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
24 févr. 2011 à 23:18
Bonsoir,

for i = 0 to 5
[B5].offset(0, i*3) = "toto"
next i

eric
0
Parfait, ca marche

Merci!
0