Je voudrais pouvoir jongler entre un onglet initial et d'autres qui
servirait de destination..
Idéalement, je voudrais
- donner dans la procédure le nom des onglets des onglets de destination
(faire une liste) -> mais je ne sais pas faire en VBA
- faire une boucle qui va copier sur chacun des onglets de la liste les
mêmes colonnes de l'onglet initial (avec la même colonne de destination)->
je ne sais pas faire
Voila donc ce que je ne sais pas faire et qui serait "logique"..
Donc je me débrouille avec les connaissance du bord, et j'ai simplifié mon
logigramme en lancant la macro "manuellement" feuille par feuille.
Maintenant je bloque la définition des noms de feuilles.
Dim init As Worksheets
Dim dest As Worksheets
init = Sheets("2101")-> pb de compil
dest = active.Sheet-> pb de compil
Merci la réponse est la bonne, même si la question semblait floue et pourtant j'avais pris le temps de poser la bonne question...
Merci encore
"AV" a écrit dans le message news: e4#
Sous réserve de bonne compréhension : Copier la plage A1:E1 de "Feuil1" en A1:E1 de chacune des feuilles du tableau
(lesFeuilles) :
Sub zzz() lesFeuilles = Array("Feuil2", "Feuil3", "Feuil4") For Each F In lesFeuilles Sheets(F).[A1:E1] = [Feuil1!A1:E1].Value Next End Sub
AV
Benco
J'ai poursuivi mon apprentissage notamment sur les listes, Si je comprends bien on est pas obligé de déclarer "proprement" que les arguments de la liste déclarée dans array seront "appelés" par la boucle For/Next... Ici on donne le nom "F" et le simple fait de dire "in" + Array, cela définit la manière d'accéder aux arguments ? Remarquez qu'on peut pas faire plus simple comme déclaration explicite...
Merci encore, j'ajoute Array et For/Next à ma liste des fonctions VBA maitrisables simplement.
"Benco" a écrit dans le message news:
Merci la réponse est la bonne, même si la question semblait floue et pourtant j'avais pris le temps de poser la bonne question...
Merci encore
"AV" a écrit dans le message news: e4#
Sous réserve de bonne compréhension : Copier la plage A1:E1 de "Feuil1" en A1:E1 de chacune des feuilles du tableau
(lesFeuilles) :
Sub zzz() lesFeuilles = Array("Feuil2", "Feuil3", "Feuil4") For Each F In lesFeuilles Sheets(F).[A1:E1] = [Feuil1!A1:E1].Value Next End Sub
AV
J'ai poursuivi mon apprentissage notamment sur les listes,
Si je comprends bien on est pas obligé de déclarer "proprement" que les
arguments de la liste déclarée dans array seront "appelés" par la boucle
For/Next...
Ici on donne le nom "F" et le simple fait de dire "in" + Array, cela définit
la manière d'accéder aux arguments ?
Remarquez qu'on peut pas faire plus simple comme déclaration explicite...
Merci encore, j'ajoute Array et For/Next à ma liste des fonctions VBA
maitrisables simplement.
"Benco" <bcome.atea.pas2spam@reel.fr> a écrit dans le message news:
uqw3D3r4EHA.4072@TK2MSFTNGP10.phx.gbl...
Merci la réponse est la bonne, même si la question semblait floue
et pourtant j'avais pris le temps de poser la bonne question...
Merci encore
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message news:
e4#Sunr4EHA.3864@TK2MSFTNGP15.phx.gbl...
Sous réserve de bonne compréhension :
Copier la plage A1:E1 de "Feuil1" en A1:E1 de chacune des feuilles du
tableau
(lesFeuilles) :
Sub zzz()
lesFeuilles = Array("Feuil2", "Feuil3", "Feuil4")
For Each F In lesFeuilles
Sheets(F).[A1:E1] = [Feuil1!A1:E1].Value
Next
End Sub
J'ai poursuivi mon apprentissage notamment sur les listes, Si je comprends bien on est pas obligé de déclarer "proprement" que les arguments de la liste déclarée dans array seront "appelés" par la boucle For/Next... Ici on donne le nom "F" et le simple fait de dire "in" + Array, cela définit la manière d'accéder aux arguments ? Remarquez qu'on peut pas faire plus simple comme déclaration explicite...
Merci encore, j'ajoute Array et For/Next à ma liste des fonctions VBA maitrisables simplement.
"Benco" a écrit dans le message news:
Merci la réponse est la bonne, même si la question semblait floue et pourtant j'avais pris le temps de poser la bonne question...
Merci encore
"AV" a écrit dans le message news: e4#
Sous réserve de bonne compréhension : Copier la plage A1:E1 de "Feuil1" en A1:E1 de chacune des feuilles du tableau
(lesFeuilles) :
Sub zzz() lesFeuilles = Array("Feuil2", "Feuil3", "Feuil4") For Each F In lesFeuilles Sheets(F).[A1:E1] = [Feuil1!A1:E1].Value Next End Sub