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

3 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
    1. cousinhub29 Messages postés 1113 Date d'inscription   Statut Membre Dernière intervention   383
       
      Salut eriiic,

      Tu es sûr?

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

      Bonne journée
      0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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
    3. cousinhub29 Messages postés 1113 Date d'inscription   Statut Membre Dernière intervention   383
       
      Effectivement, je n'avais point fait attention....

      Bien joué

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

      les autres ne fonctionnent pas

      Merci à tous !
      0
  2. sushicat Messages postés 157 Statut Membre 24
     
    Et ça ?

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