Repeter le lancement d'une macro

Fermé
ki.net Messages postés 30 Date d'inscription mercredi 6 septembre 2006 Statut Membre Dernière intervention 28 octobre 2008 - 28 juil. 2008 à 17:51
ki.net Messages postés 30 Date d'inscription mercredi 6 septembre 2006 Statut Membre Dernière intervention 28 octobre 2008 - 30 juil. 2008 à 15:44
Bonjour,
J'ai créé une macro qui copie la première ligne d'une feuille et la place sur un autre fichier
cette macro actionne une autre macro de mise à jour puis revient sur la première feuille et efface cette première ligne qui est donc remplacée par la deuxième ligne. La macro se ferme.
Pour la relancer je suis obligé de cliquer sur le bouton de commande que j'ai créé.
Problème, il faut le faire plus de 2000 fois (jusqu'a ce que ma feuille soit vide).
Il ya certainement un moyen, mais mes connaissances ne m'ont encore pas permis de trouver.
Merci de votre aide.
Trugarez ha Kenavo
A voir également:

6 réponses

abdel008 Messages postés 11 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 29 juillet 2008
28 juil. 2008 à 18:03
moi aussi je suis un debutant en vba
mais je pensse qu il y'as deus solutuion la premiere est d'etuliser une boucle for
la deusieme c'est not end of file "EOF"
vous dever poser la question sur comment faire la boucle for
je pense que la repeonsse existe dans le forom
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 247
28 juil. 2008 à 20:15
Bonsoir,

en supposant la colonne A remplie jusqu'en bas :
For i = 1 To [A65536].End(xlUp).Row
' faire ceci
next i

te fera une boucle de 10 si la dernière donnée colonne A est en A10

eric
0
abdel008 Messages postés 11 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 29 juillet 2008
29 juil. 2008 à 10:14
Tu peux faire un teste si la case est vide et de faire un break c'est à dire sortire de la boucle dès le contenue de la case est vide
0
ki.net Messages postés 30 Date d'inscription mercredi 6 septembre 2006 Statut Membre Dernière intervention 28 octobre 2008
30 juil. 2008 à 13:31
Bonjour,
J'ai essayé en vain de faire tourner ma macro avec:

For i = 1 To [A65536].End(xlUp).Row
' faire ceci
next i

à chaque fois elle buggait.
J'ai zappé une partie et inscrit

For i = 1 To [A65536].Row

Ma macro est partie et a continué son travail durant la nuit.
OK ce matin.
Merci pour votre aide.
Je me pose toutefois une question, a quoi sert 'End(xlUp)', l'ai-je bien utilisé.

Trugarez.
0

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

Posez votre question
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 247
30 juil. 2008 à 14:04
Bonjour,

le .End(xlUp) sert à détecter la dernière cellule utilisée dans la colonne pour que la boucle ne se fasse que sur ce qui est nécessaire.
J'avais ecrit en supposant la colonne A remplie jusqu'en bas . Es-tu sûr que tu avais des données en colonne A ?? moi pas...

For i = 1 To [A65536].Row
autant mettre For i = 1 To 65536 puisque tu lui dis d'aller jusqu'au n° de ligne de la cellule A65536...

eric
0
ki.net Messages postés 30 Date d'inscription mercredi 6 septembre 2006 Statut Membre Dernière intervention 28 octobre 2008
30 juil. 2008 à 15:44
Bonjour,
j'ai compris, la recherche se fait jusqu'à la dernière ligne de la feuille Excel soit 65536.
J'avais limité le nombre de ligne à 2000 et la macro ne pouvait donc pas s'exécuter.
Tout est OK pour moi.

Merci Eric
0