Boucle VBA sur onglets

Le
Manbas
Bonjour à tous,
Dans un classeur doté de plus de 20 feuilles, il y a celles qui portent le
nom de chaque mois de l'année (janvier, fevrier, etc).
Je voudrais faire une boucle sur ces 12 feuilles là, de façon à introduire
une macro qui va se dérouler sur ActiveSheet, sur chaque feuille l'une après
l'autre. (Par exemple un countif, un sum, toujours sur la même colonne).
Je n'arrive pas à écrire correctement le code car je me sert de Array pour
sélectionner l'ensemble des feuilles mais ça ne marche pas.
Pouvez-vous m'aider SVP?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4748321
Bonjour,

For m = 1 To 12
f = Format(DateSerial(2007, m, 1), "mmmm")
Sheets(m).Select
Next m

JB
http://boisgontierjacques.free.fr


On 12 sep, 18:10, "Manbas"
Bonjour à tous,
Dans un classeur doté de plus de 20 feuilles, il y a celles qui portent le
nom de chaque mois de l'année (janvier, fevrier, etc...).
Je voudrais faire une boucle sur ces 12 feuilles là, de façon à int roduire
une macro qui va se dérouler sur ActiveSheet, sur chaque feuille l'une après
l'autre. (Par exemple un countif, un sum, toujours sur la même colonne).
Je n'arrive pas à écrire correctement le code car je me sert de Array pour
sélectionner l'ensemble des feuilles mais ça ne marche pas.
Pouvez-vous m'aider SVP?


JB
Le #4748301
For m = 1 To 4
f = Format(DateSerial(2007, m, 1), "mmmm")
Sheets(f).Select
Next m


JB

On 12 sep, 18:16, JB
Bonjour,

For m = 1 To 12
f = Format(DateSerial(2007, m, 1), "mmmm")
Sheets(m).Select
Next m

JBhttp://boisgontierjacques.free.fr

On 12 sep, 18:10, "Manbas"


Bonjour à tous,
Dans un classeur doté de plus de 20 feuilles, il y a celles qui porte nt le
nom de chaque mois de l'année (janvier, fevrier, etc...).
Je voudrais faire une boucle sur ces 12 feuilles là, de façon à i ntroduire
une macro qui va se dérouler sur ActiveSheet, sur chaque feuille l'un e après
l'autre. (Par exemple un countif, un sum, toujours sur la même colonn e).
Je n'arrive pas à écrire correctement le code car je me sert de Arr ay pour
sélectionner l'ensemble des feuilles mais ça ne marche pas.
Pouvez-vous m'aider SVP?- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Manbas
Le #4748151
Bonjour JB et d'abord merci.
Mais je reste en échec (erreur execution 9, indice appartient pas à la
sélection sur la ligne Sheets(f).select)
Apparemment mon onglet Janvier n'est pas reconnu. Si je lis correctement le
code.
Une remarque, car je vois 2007 dans le code qui sert à le désigner: c'est un
calendrier perpétuel donc les années sont appelées à changer. A priori c'est
sans importance pour le code...

"JB"

For m = 1 To 4
f = Format(DateSerial(2007, m, 1), "mmmm")
Sheets(f).Select
Next m


JB

On 12 sep, 18:16, JB
Bonjour,

For m = 1 To 12
f = Format(DateSerial(2007, m, 1), "mmmm")
Sheets(m).Select
Next m

JBhttp://boisgontierjacques.free.fr

On 12 sep, 18:10, "Manbas"


Bonjour à tous,
Dans un classeur doté de plus de 20 feuilles, il y a celles qui portent
le
nom de chaque mois de l'année (janvier, fevrier, etc...).
Je voudrais faire une boucle sur ces 12 feuilles là, de façon à
introduire
une macro qui va se dérouler sur ActiveSheet, sur chaque feuille l'une
après
l'autre. (Par exemple un countif, un sum, toujours sur la même colonne).
Je n'arrive pas à écrire correctement le code car je me sert de Array
pour
sélectionner l'ensemble des feuilles mais ça ne marche pas.
Pouvez-vous m'aider SVP?- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



JB
Le #4748061
Autre méthode:

For Each f In Array("Janvier", "Février", "Mars", "Avril")
Sheets(f).Select
MsgBox "ok"
Next f

http://cjoint.com/?jmuJhMlt6v


JB

On 12 sep, 19:23, "Manbas"
Bonjour JB et d'abord merci.
Mais je reste en échec (erreur execution 9, indice appartient pas à la
sélection sur la ligne Sheets(f).select)
Apparemment mon onglet Janvier n'est pas reconnu. Si je lis correctement le
code.
Une remarque, car je vois 2007 dans le code qui sert à le désigner: c 'est un
calendrier perpétuel donc les années sont appelées à changer. A p riori c'est
sans importance pour le code...

"JB"

For m = 1 To 4
f = Format(DateSerial(2007, m, 1), "mmmm")
Sheets(f).Select
Next m

JB

On 12 sep, 18:16, JB


Bonjour,

For m = 1 To 12
f = Format(DateSerial(2007, m, 1), "mmmm")
Sheets(m).Select
Next m

JBhttp://boisgontierjacques.free.fr

On 12 sep, 18:10, "Manbas"
Bonjour à tous,
Dans un classeur doté de plus de 20 feuilles, il y a celles qui por tent
le
nom de chaque mois de l'année (janvier, fevrier, etc...).
Je voudrais faire une boucle sur ces 12 feuilles là, de façon à
introduire
une macro qui va se dérouler sur ActiveSheet, sur chaque feuille l' une
après
l'autre. (Par exemple un countif, un sum, toujours sur la même colo nne).
Je n'arrive pas à écrire correctement le code car je me sert de A rray
pour
sélectionner l'ensemble des feuilles mais ça ne marche pas.
Pouvez-vous m'aider SVP?- Masquer le texte des messages précédent s -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -




Manbas
Le #4692791
Bonjour JB et merci, ça marche enfin.
Et les solutions précédentes se sont mises à fonctionner aussi... depuis que
j'ai copié tes feuilles dans mon classeur, dépatisé ces feuilles pour
recoller leur nom dans les miennes ! De l'obscurantisme pur et dur !
Certes j'avais oublié l'accent sur février.
Mais nous écrivons Janvier, Mars, Avril, de la même manière !!!
Alors quoi? Un blanc? Un espace dans le nom?
Je ne sais pas

"JB"
Autre méthode:

For Each f In Array("Janvier", "Février", "Mars", "Avril")
Sheets(f).Select
MsgBox "ok"
Next f

http://cjoint.com/?jmuJhMlt6v


JB

On 12 sep, 19:23, "Manbas"
Bonjour JB et d'abord merci.
Mais je reste en échec (erreur execution 9, indice appartient pas à la
sélection sur la ligne Sheets(f).select)
Apparemment mon onglet Janvier n'est pas reconnu. Si je lis correctement
le
code.
Une remarque, car je vois 2007 dans le code qui sert à le désigner: c'est
un
calendrier perpétuel donc les années sont appelées à changer. A priori
c'est
sans importance pour le code...

"JB"

For m = 1 To 4
f = Format(DateSerial(2007, m, 1), "mmmm")
Sheets(f).Select
Next m

JB

On 12 sep, 18:16, JB


Bonjour,

For m = 1 To 12
f = Format(DateSerial(2007, m, 1), "mmmm")
Sheets(m).Select
Next m

JBhttp://boisgontierjacques.free.fr

On 12 sep, 18:10, "Manbas"
Bonjour à tous,
Dans un classeur doté de plus de 20 feuilles, il y a celles qui
portent
le
nom de chaque mois de l'année (janvier, fevrier, etc...).
Je voudrais faire une boucle sur ces 12 feuilles là, de façon à
introduire
une macro qui va se dérouler sur ActiveSheet, sur chaque feuille l'une
après
l'autre. (Par exemple un countif, un sum, toujours sur la même
colonne).
Je n'arrive pas à écrire correctement le code car je me sert de Array
pour
sélectionner l'ensemble des feuilles mais ça ne marche pas.
Pouvez-vous m'aider SVP?- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des
messages précédents -


- Afficher le texte des messages précédents -




Publicité
Poster une réponse
Anonyme