Macro excel : sélection d'onglet

Résolu
Donarno -  
 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

A voir également:

3 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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 1074 Date d'inscription   Statut Membre Dernière intervention   361
 
Salut eriiic,

Tu es sûr?

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

Bonne journée
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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 1074 Date d'inscription   Statut Membre Dernière intervention   361
 
Effectivement, je n'avais point fait attention....

Bien joué

Au plaisir
0
Donarno
 
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   Statut Membre Dernière intervention   24
 
Et ça ?

For i = 1 To 3
indice = i
MsgBox indice
Sheets("&i").Select
....
Next
0
cousinhub29 Messages postés 1074 Date d'inscription   Statut Membre Dernière intervention   361
 
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