Macro excel : sélection d'onglet

Résolu/Fermé
Donarno - 23 sept. 2010 à 15:45
 Donarno - 23 sept. 2010 à 18:17
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

A voir également:

3 réponses

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
23 sept. 2010 à 16:04
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
cousinhub29 Messages postés 881 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 avril 2024 333
23 sept. 2010 à 16:11
Salut eriiic,

Tu es sûr?

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

Bonne journée
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
23 sept. 2010 à 16:28
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
0
cousinhub29 Messages postés 881 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 avril 2024 333
23 sept. 2010 à 16:42
Effectivement, je n'avais point fait attention....

Bien joué

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

les autres ne fonctionnent pas

Merci à tous !
0
sushicat Messages postés 154 Date d'inscription jeudi 3 janvier 2002 Statut Membre Dernière intervention 30 septembre 2010 24
23 sept. 2010 à 15:51
Et ça ?

For i = 1 To 3
indice = i
MsgBox indice
Sheets("&i").Select
....
Next
0
cousinhub29 Messages postés 881 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 avril 2024 333
23 sept. 2010 à 16:01
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
0