[Catégorie modifiée VB6 --> VBA] Pbm avec macro sur Excel 2003

Lentzouille Messages postés 670 Date d'inscription mardi 27 septembre 2011 Statut Membre Dernière intervention 11 septembre 2020 - 1 oct. 2010 à 12:20
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 2 oct. 2010 à 01:08
Bonjour,

J'ai un petit soucis concernant les macros sur excel 2003 !!

Donc je veux reproduire une formule en 'recherchev' sur la ligne d'en dessous, tout en insérant une ligne par la suite avec cet macro, cependant cela me le fait uniquement une fois car dans VB cela me prend le nom des cellules et noms pas cellule -1,


Je sais pas si j'ai été clair...

Merci pour votre aide,

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 oct. 2010 à 12:51
Salut

Une fois que ton programme a un Range défini sur une ou des cellules, la propriété Offset te permet de naviguer autour de ce Range :
MsgBox Range("A1").Offset(0, 2).Value
te fournira le contenu de la cellule placée deux colonnes à droite de A1, donc C1 - Voir les paramètres dans l'aide

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Lentzouille Messages postés 670 Date d'inscription mardi 27 septembre 2011 Statut Membre Dernière intervention 11 septembre 2020
1 oct. 2010 à 14:15
'
Range("B33:K33").Select
Selection.AutoFill Destination:=Range("B33:K34"), Type:=xlFillDefault
Range("B33:K34").Select
Rows("35:35").Select
Selection.Insert Shift:=xlDown
End Sub


Après avoir fait la macro via excel, voilà ce que VB me sors ... je voulais savoir ce qu'il fallait corriger :


Merciii
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 oct. 2010 à 15:56
Je t'ai donné un mot clé qui répond à ta question (peu claire).
Si le Range des cellules est ta "Selection" et que tu veux sélectionner une colonne de plus, essaye Selection.Offset...
A toi de lire l'aide à son sujet et à faire des essais.
0
Lentzouille Messages postés 670 Date d'inscription mardi 27 septembre 2011 Statut Membre Dernière intervention 11 septembre 2020
1 oct. 2010 à 16:16
Justement je ne veux pas faire ça sur une colonne mais sur une ligne

Ex: ce qui est sur la ligne 3 je veux y retrouve sur ma ligne 4 puis 5 puis 6 etc ... grâce a la macro ;)

Merci pour ton aide précieuse :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
2 oct. 2010 à 01:08
"ce qui est sur la ligne 3 je veux y retrouve sur ma ligne 4 puis 5 puis 6 etc"
Crois-tu que de telles explications soient compréhensibles ?
Je ne comprends rien à ce que tu veux faire.

Si tu dois sélectionner plusieurs lignes, pourquoi ne pas modifier la macro pour sélectionner la ligne 35 jusqu'à la ligne 38 ?
Au lieu de Rows("35:35").Select, tu mets Rows("35:38").Select

Si tu dois t'adresser à plusieurs ensembles de cellules, il faut passer par un Range :
    Rows("35:35").Select
    Range(Selection, Selection.Offset(2, 0)).Select
Mais comme on ne sait pas ce que tu veux faire ...
0
Rejoignez-nous