Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Boucle VBA sur onglets

5 réponses
Avatar
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?

5 réponses

Avatar
JB
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" wrote:
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?


Avatar
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 wrote:
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" wrote:



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 -



Avatar
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" a écrit dans le message de news:


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


JB

On 12 sep, 18:16, JB wrote:
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" wrote:



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 -



Avatar
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" wrote:
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" a écrit dans le message de news:


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

JB

On 12 sep, 18:16, JB wrote:



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" wrote:

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 -




Avatar
Manbas
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" a écrit dans le message de news:

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" wrote:
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" a écrit dans le message de news:


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

JB

On 12 sep, 18:16, JB wrote:



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" wrote:

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 -