VBA: copier les éléments d'une longue liste d'une feuille à l'autre, mais un élément toutes les 3 rangées sur la feuille de destination
5 réponses
Anne DeBlois
Bonjour,
Dans un classeur, il y a deux feuilles. La première a été formatée afin
d'accueillir des données sur des plantes. La seconde contient la liste
exhaustive des plantes. Je dois copier, un à un, chaque élément de la liste
(feuille 2) dans la feuille 1, avec la contrainte suivante: chaque élément
est placé à toutes les 3 rangées. La liste de la feuille 2 contient 3514
éléments...!!! Et la feuille 1 a été formatée en conséquence. Il ne reste
qu'à faire la copie. Bien sûr, je ne peux pas faire tout ça à la mitaine.
Donc, dans le but d'automatiser le tout en VBA, je me suis fait une macro
dont le code résultant est le suivant - c'est un début, en fait, j'ai fait
la procédure pour les quelques premiers éléments:
Je désire faire un [Do While.. Loop ] pour que la commande se répète jusqu'à
ce qu'elle trouve le dernier élément de la liste de la feuille 2, cependant
je ne sais pas trop comment coder des variables qui renverraient aux bonnes
adresses de cellule. Quelqu'un a-t-il une piste à me suggérer?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
bonjour,
With Sheets("Feuil2")
lastrow = .Range("A65536").End(xlUp).Row
For I = 1 To lastrow .Cells(I, 1).Copy Sheets("Feuil1").Range("A" & I * 3) Next
End With
A+
Bonjour,
Dans un classeur, il y a deux feuilles. La première a été formatée afin d'accueillir des données sur des plantes. La seconde contient la liste exhaustive des plantes. Je dois copier, un à un, chaque élément de la liste (feuille 2) dans la feuille 1, avec la contrainte suivante: chaque élément est placé à toutes les 3 rangées. La liste de la feuille 2 contient 3514 éléments...!!! Et la feuille 1 a été formatée en conséquence. Il ne reste qu'à faire la copie. Bien sûr, je ne peux pas faire tout ça à la mitaine.
Donc, dans le but d'automatiser le tout en VBA, je me suis fait une macro dont le code résultant est le suivant - c'est un début, en fait, j'ai fait la procédure pour les quelques premiers éléments:
Je désire faire un [Do While.. Loop ] pour que la commande se répète jusqu'à ce qu'elle trouve le dernier élément de la liste de la feuille 2, cependant je ne sais pas trop comment coder des variables qui renverraient aux bonnes adresses de cellule. Quelqu'un a-t-il une piste à me suggérer?
Merci à l'avance,
A.D.
bonjour,
With Sheets("Feuil2")
lastrow = .Range("A65536").End(xlUp).Row
For I = 1 To lastrow
.Cells(I, 1).Copy Sheets("Feuil1").Range("A" & I * 3)
Next
End With
A+
Bonjour,
Dans un classeur, il y a deux feuilles. La première a été formatée afin
d'accueillir des données sur des plantes. La seconde contient la liste
exhaustive des plantes. Je dois copier, un à un, chaque élément de la liste
(feuille 2) dans la feuille 1, avec la contrainte suivante: chaque élément
est placé à toutes les 3 rangées. La liste de la feuille 2 contient 3514
éléments...!!! Et la feuille 1 a été formatée en conséquence. Il ne reste
qu'à faire la copie. Bien sûr, je ne peux pas faire tout ça à la mitaine.
Donc, dans le but d'automatiser le tout en VBA, je me suis fait une macro
dont le code résultant est le suivant - c'est un début, en fait, j'ai fait
la procédure pour les quelques premiers éléments:
Je désire faire un [Do While.. Loop ] pour que la commande se répète jusqu'à
ce qu'elle trouve le dernier élément de la liste de la feuille 2, cependant
je ne sais pas trop comment coder des variables qui renverraient aux bonnes
adresses de cellule. Quelqu'un a-t-il une piste à me suggérer?
For I = 1 To lastrow .Cells(I, 1).Copy Sheets("Feuil1").Range("A" & I * 3) Next
End With
A+
Bonjour,
Dans un classeur, il y a deux feuilles. La première a été formatée afin d'accueillir des données sur des plantes. La seconde contient la liste exhaustive des plantes. Je dois copier, un à un, chaque élément de la liste (feuille 2) dans la feuille 1, avec la contrainte suivante: chaque élément est placé à toutes les 3 rangées. La liste de la feuille 2 contient 3514 éléments...!!! Et la feuille 1 a été formatée en conséquence. Il ne reste qu'à faire la copie. Bien sûr, je ne peux pas faire tout ça à la mitaine.
Donc, dans le but d'automatiser le tout en VBA, je me suis fait une macro dont le code résultant est le suivant - c'est un début, en fait, j'ai fait la procédure pour les quelques premiers éléments:
Je désire faire un [Do While.. Loop ] pour que la commande se répète jusqu'à ce qu'elle trouve le dernier élément de la liste de la feuille 2, cependant je ne sais pas trop comment coder des variables qui renverraient aux bonnes adresses de cellule. Quelqu'un a-t-il une piste à me suggérer?
Merci à l'avance,
A.D.
garnote
Bonjour Anne,
Il doit y avoir une macro plus rapide mais ça semble correspondre à ton besoin.
Sub Copier() Application.ScreenUpdating = False Do Until k = 1 i = i + 1 If IsEmpty(Sheets(2).Cells(i, 1)) Then k = 1 Sheets(2).Cells(i, 1).Copy Sheets(1).Cells(3 * i, 1) Loop End Sub
Serge
"Anne DeBlois" a écrit dans le message de news: %
Bonjour,
Dans un classeur, il y a deux feuilles. La première a été formatée afin d'accueillir des données sur des plantes. La seconde contient la liste exhaustive des plantes. Je dois copier, un à un, chaque élément de la liste (feuille 2) dans la feuille 1, avec la contrainte suivante: chaque élément est placé à toutes les 3 rangées. La liste de la feuille 2 contient 3514 éléments...!!! Et la feuille 1 a été formatée en conséquence. Il ne reste qu'à faire la copie. Bien sûr, je ne peux pas faire tout ça à la mitaine.
Donc, dans le but d'automatiser le tout en VBA, je me suis fait une macro dont le code résultant est le suivant - c'est un début, en fait, j'ai fait la procédure pour les quelques premiers éléments:
Je désire faire un [Do While.. Loop ] pour que la commande se répète jusqu'à ce qu'elle trouve le dernier élément de la liste de la feuille 2, cependant je ne sais pas trop comment coder des variables qui renverraient aux bonnes adresses de cellule. Quelqu'un a-t-il une piste à me suggérer?
Merci à l'avance,
A.D.
Bonjour Anne,
Il doit y avoir une macro plus rapide
mais ça semble correspondre à ton besoin.
Sub Copier()
Application.ScreenUpdating = False
Do Until k = 1
i = i + 1
If IsEmpty(Sheets(2).Cells(i, 1)) Then k = 1
Sheets(2).Cells(i, 1).Copy Sheets(1).Cells(3 * i, 1)
Loop
End Sub
Serge
"Anne DeBlois" <adNOeblSPAMois@dsdinternational.net> a écrit dans le message
de news: %23RM4EXkqFHA.2776@TK2MSFTNGP10.phx.gbl...
Bonjour,
Dans un classeur, il y a deux feuilles. La première a été formatée afin
d'accueillir des données sur des plantes. La seconde contient la liste
exhaustive des plantes. Je dois copier, un à un, chaque élément de la
liste (feuille 2) dans la feuille 1, avec la contrainte suivante: chaque
élément est placé à toutes les 3 rangées. La liste de la feuille 2
contient 3514 éléments...!!! Et la feuille 1 a été formatée en
conséquence. Il ne reste qu'à faire la copie. Bien sûr, je ne peux pas
faire tout ça à la mitaine.
Donc, dans le but d'automatiser le tout en VBA, je me suis fait une macro
dont le code résultant est le suivant - c'est un début, en fait, j'ai fait
la procédure pour les quelques premiers éléments:
Je désire faire un [Do While.. Loop ] pour que la commande se répète
jusqu'à ce qu'elle trouve le dernier élément de la liste de la feuille 2,
cependant je ne sais pas trop comment coder des variables qui renverraient
aux bonnes adresses de cellule. Quelqu'un a-t-il une piste à me suggérer?
Il doit y avoir une macro plus rapide mais ça semble correspondre à ton besoin.
Sub Copier() Application.ScreenUpdating = False Do Until k = 1 i = i + 1 If IsEmpty(Sheets(2).Cells(i, 1)) Then k = 1 Sheets(2).Cells(i, 1).Copy Sheets(1).Cells(3 * i, 1) Loop End Sub
Serge
"Anne DeBlois" a écrit dans le message de news: %
Bonjour,
Dans un classeur, il y a deux feuilles. La première a été formatée afin d'accueillir des données sur des plantes. La seconde contient la liste exhaustive des plantes. Je dois copier, un à un, chaque élément de la liste (feuille 2) dans la feuille 1, avec la contrainte suivante: chaque élément est placé à toutes les 3 rangées. La liste de la feuille 2 contient 3514 éléments...!!! Et la feuille 1 a été formatée en conséquence. Il ne reste qu'à faire la copie. Bien sûr, je ne peux pas faire tout ça à la mitaine.
Donc, dans le but d'automatiser le tout en VBA, je me suis fait une macro dont le code résultant est le suivant - c'est un début, en fait, j'ai fait la procédure pour les quelques premiers éléments:
Je désire faire un [Do While.. Loop ] pour que la commande se répète jusqu'à ce qu'elle trouve le dernier élément de la liste de la feuille 2, cependant je ne sais pas trop comment coder des variables qui renverraient aux bonnes adresses de cellule. Quelqu'un a-t-il une piste à me suggérer?
Merci à l'avance,
A.D.
Christian.L
Bonjour Anne
Qu'appelle tu "rangée" ? C'est la ligne.? La colonne?
Donne un exemple d'écriture sur tes 2 feuilles.
C.L.
"Anne DeBlois" a écrit dans le message de news: %
Bonjour,
Dans un classeur, il y a deux feuilles. La première a été formatée afin d'accueillir des données sur des plantes. La seconde contient la liste exhaustive des plantes. Je dois copier, un à un, chaque élément de la liste (feuille 2) dans la feuille 1, avec la contrainte suivante: chaque élément est placé à toutes les 3 rangées. La liste de la feuille 2 contient 3514 éléments...!!! Et la feuille 1 a été formatée en conséquence. Il ne reste qu'à faire la copie. Bien sûr, je ne peux pas faire tout ça à la mitaine.
Donc, dans le but d'automatiser le tout en VBA, je me suis fait une macro dont le code résultant est le suivant - c'est un début, en fait, j'ai fait la procédure pour les quelques premiers éléments:
Je désire faire un [Do While.. Loop ] pour que la commande se répète jusqu'à ce qu'elle trouve le dernier élément de la liste de la feuille 2, cependant je ne sais pas trop comment coder des variables qui renverraient aux bonnes adresses de cellule. Quelqu'un a-t-il une piste à me suggérer?
Merci à l'avance,
A.D.
Bonjour Anne
Qu'appelle tu "rangée" ? C'est la ligne.? La colonne?
Donne un exemple d'écriture sur tes 2 feuilles.
C.L.
"Anne DeBlois" <adNOeblSPAMois@dsdinternational.net> a écrit dans le message
de news: %23RM4EXkqFHA.2776@TK2MSFTNGP10.phx.gbl...
Bonjour,
Dans un classeur, il y a deux feuilles. La première a été formatée afin
d'accueillir des données sur des plantes. La seconde contient la liste
exhaustive des plantes. Je dois copier, un à un, chaque élément de la
liste (feuille 2) dans la feuille 1, avec la contrainte suivante: chaque
élément est placé à toutes les 3 rangées. La liste de la feuille 2
contient 3514 éléments...!!! Et la feuille 1 a été formatée en
conséquence. Il ne reste qu'à faire la copie. Bien sûr, je ne peux pas
faire tout ça à la mitaine.
Donc, dans le but d'automatiser le tout en VBA, je me suis fait une macro
dont le code résultant est le suivant - c'est un début, en fait, j'ai fait
la procédure pour les quelques premiers éléments:
Je désire faire un [Do While.. Loop ] pour que la commande se répète
jusqu'à ce qu'elle trouve le dernier élément de la liste de la feuille 2,
cependant je ne sais pas trop comment coder des variables qui renverraient
aux bonnes adresses de cellule. Quelqu'un a-t-il une piste à me suggérer?
Qu'appelle tu "rangée" ? C'est la ligne.? La colonne?
Donne un exemple d'écriture sur tes 2 feuilles.
C.L.
"Anne DeBlois" a écrit dans le message de news: %
Bonjour,
Dans un classeur, il y a deux feuilles. La première a été formatée afin d'accueillir des données sur des plantes. La seconde contient la liste exhaustive des plantes. Je dois copier, un à un, chaque élément de la liste (feuille 2) dans la feuille 1, avec la contrainte suivante: chaque élément est placé à toutes les 3 rangées. La liste de la feuille 2 contient 3514 éléments...!!! Et la feuille 1 a été formatée en conséquence. Il ne reste qu'à faire la copie. Bien sûr, je ne peux pas faire tout ça à la mitaine.
Donc, dans le but d'automatiser le tout en VBA, je me suis fait une macro dont le code résultant est le suivant - c'est un début, en fait, j'ai fait la procédure pour les quelques premiers éléments:
Je désire faire un [Do While.. Loop ] pour que la commande se répète jusqu'à ce qu'elle trouve le dernier élément de la liste de la feuille 2, cependant je ne sais pas trop comment coder des variables qui renverraient aux bonnes adresses de cellule. Quelqu'un a-t-il une piste à me suggérer?
Merci à l'avance,
A.D.
Anne DeBlois
Merci, ç'a fonctionné à merveille!
Anne
"anonymousA" a écrit dans le message de news:
bonjour,
With Sheets("Feuil2")
lastrow = .Range("A65536").End(xlUp).Row
For I = 1 To lastrow .Cells(I, 1).Copy Sheets("Feuil1").Range("A" & I * 3) Next
End With
A+
Bonjour,
Dans un classeur, il y a deux feuilles. La première a été formatée afin d'accueillir des données sur des plantes. La seconde contient la liste exhaustive des plantes. Je dois copier, un à un, chaque élément de la liste (feuille 2) dans la feuille 1, avec la contrainte suivante: chaque élément est placé à toutes les 3 rangées. La liste de la feuille 2 contient 3514 éléments...!!! Et la feuille 1 a été formatée en conséquence. Il ne reste qu'à faire la copie. Bien sûr, je ne peux pas faire tout ça à la mitaine.
Donc, dans le but d'automatiser le tout en VBA, je me suis fait une macro dont le code résultant est le suivant - c'est un début, en fait, j'ai fait la procédure pour les quelques premiers éléments:
Je désire faire un [Do While.. Loop ] pour que la commande se répète jusqu'à ce qu'elle trouve le dernier élément de la liste de la feuille 2, cependant je ne sais pas trop comment coder des variables qui renverraient aux bonnes adresses de cellule. Quelqu'un a-t-il une piste à me suggérer?
Merci à l'avance,
A.D.
Merci, ç'a fonctionné à merveille!
Anne
"anonymousA" <anonymousA@discussions.microsoft.com> a écrit dans le message
de news: 76C70CEF-B605-4126-9F6F-A08832894D8F@microsoft.com...
bonjour,
With Sheets("Feuil2")
lastrow = .Range("A65536").End(xlUp).Row
For I = 1 To lastrow
.Cells(I, 1).Copy Sheets("Feuil1").Range("A" & I * 3)
Next
End With
A+
Bonjour,
Dans un classeur, il y a deux feuilles. La première a été formatée afin
d'accueillir des données sur des plantes. La seconde contient la liste
exhaustive des plantes. Je dois copier, un à un, chaque élément de la
liste
(feuille 2) dans la feuille 1, avec la contrainte suivante: chaque
élément
est placé à toutes les 3 rangées. La liste de la feuille 2 contient 3514
éléments...!!! Et la feuille 1 a été formatée en conséquence. Il ne reste
qu'à faire la copie. Bien sûr, je ne peux pas faire tout ça à la mitaine.
Donc, dans le but d'automatiser le tout en VBA, je me suis fait une macro
dont le code résultant est le suivant - c'est un début, en fait, j'ai
fait
la procédure pour les quelques premiers éléments:
Je désire faire un [Do While.. Loop ] pour que la commande se répète
jusqu'à
ce qu'elle trouve le dernier élément de la liste de la feuille 2,
cependant
je ne sais pas trop comment coder des variables qui renverraient aux
bonnes
adresses de cellule. Quelqu'un a-t-il une piste à me suggérer?
For I = 1 To lastrow .Cells(I, 1).Copy Sheets("Feuil1").Range("A" & I * 3) Next
End With
A+
Bonjour,
Dans un classeur, il y a deux feuilles. La première a été formatée afin d'accueillir des données sur des plantes. La seconde contient la liste exhaustive des plantes. Je dois copier, un à un, chaque élément de la liste (feuille 2) dans la feuille 1, avec la contrainte suivante: chaque élément est placé à toutes les 3 rangées. La liste de la feuille 2 contient 3514 éléments...!!! Et la feuille 1 a été formatée en conséquence. Il ne reste qu'à faire la copie. Bien sûr, je ne peux pas faire tout ça à la mitaine.
Donc, dans le but d'automatiser le tout en VBA, je me suis fait une macro dont le code résultant est le suivant - c'est un début, en fait, j'ai fait la procédure pour les quelques premiers éléments:
Je désire faire un [Do While.. Loop ] pour que la commande se répète jusqu'à ce qu'elle trouve le dernier élément de la liste de la feuille 2, cependant je ne sais pas trop comment coder des variables qui renverraient aux bonnes adresses de cellule. Quelqu'un a-t-il une piste à me suggérer?
Merci à l'avance,
A.D.
Anne DeBlois
Pour éliminer la confusion: je parlais de la ligne.
Désolée.
A.D.
"Christian.L" a écrit dans le message de news:
Bonjour Anne
Qu'appelle tu "rangée" ? C'est la ligne.? La colonne?
Donne un exemple d'écriture sur tes 2 feuilles.
C.L.
Pour éliminer la confusion: je parlais de la ligne.
Désolée.
A.D.
"Christian.L" <christian.lecossier@voila.fr> a écrit dans le message de
news: u5aOzokqFHA.3836@TK2MSFTNGP12.phx.gbl...
Bonjour Anne
Qu'appelle tu "rangée" ? C'est la ligne.? La colonne?