Macro excel : sélection d'onglet [Résolu/Fermé]

Signaler
-
 Donarno -
Bonjour,

Je souhaite dans Excel 2007 faire une macro qui sélectionne automatiquement les onglets à la suite pour appliquer une série de modifications, d'ajout ou changements.
Mes onglets (feuilles) s'appelent 1, 2, 3......

Le hic c'est la sélectionne de l'onglet dans la boucle For ... next
For i = 1 To 3
indice = "" &i & ""
Sheets("'&i'").Select
.....
Next

N'ajoute pas les ""

For i = 1 To 3
indice = """ & i & """
MsgBox indice
Sheets("'&i'").Select
.....
Next
affiche & i &

Merci de votre aide

3 réponses

Messages postés
23566
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2020
6 407
Bonjour,

Il faut transformer le nombre en texte, et doubler le " pour qu'il en tienne compte en tant que caractère

Worksheets("" & i & "").select
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
579
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
11 novembre 2018
288
Salut eriiic,

Tu es sûr?

Regarde mon code....il fonctionne sans....

Bonne journée
Messages postés
23566
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2020
6 407
Salut cousinhub29,

Bien sûr qu'il fonctionne ton code, seulement tu utilises l'index et non le nom d'onglet.
Inverse les onglets "1" et "2" dans le classeur et fais le tourner en pas à pas, tu verras.

eric
Messages postés
579
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
11 novembre 2018
288
Effectivement, je n'avais point fait attention....

Bien joué

Au plaisir
oui c'est ta solution qui fonctionne:Worksheets("" & i & "").select

les autres ne fonctionnent pas

Merci à tous !
Messages postés
154
Date d'inscription
jeudi 3 janvier 2002
Statut
Membre
Dernière intervention
30 septembre 2010
23
Et ça ?

For i = 1 To 3
indice = i
MsgBox indice
Sheets("&i").Select
....
Next
Messages postés
579
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
11 novembre 2018
288
Bonjour,

Bien qu'il soit rarement nécessaire de sélectionner les onglets pour y apporter des modifications, ceci fera l'affaire, je pense :

For i = 1 To 3
    Sheets(i).Select
Next i


Et comme dit en début de réponse, tu peux très bien y écrire sans le sélectionner...

Ce code te met la date du jour dans les cellules A1 de tes trois onglets...

For i = 1 To 3
    With Sheets(i)
        .Range("A1") = Date
    End With
Next i


Sans les avoir sélectionner au préalable...

Bon courage