Excel - VBA - Variable et feuille

Bonjour à tous,

Voici mon problème: Je crée une feuille qui se nomme en fonction d'une variable. Ca c'est fait sans probleme avec:

Sheets.Add.Select
ActiveSheet.Name = MaVariable

Là où j'ai du mal c'est que je n'arrive plus à selectionner cette feuille dans mes autres macro. Je ne sais pas comment ecrire ma ligne de commande en tenant compte de son nom (variable). J'ai essayé:

Sheets Variable.Select (marche pas) puis,
Sheets (Variable).Select (Idem) enfin,
Sheets ("Variable").Select (Grrrr......)

mais ça ne marche pas. Please, Help !

3 réponses

  1. ta variable doit être de type string
    Dim Mavariable as string

    Comme tu peux utiliser str(variable) pour la convertir en string

    time is not money, time is life
    2
    1. Merci beaucoup pour ta reponse, mais j'ai besoin de quelques precisions: Declarer ma variable en type String, ok, mais j'ai toujours mon probleme pour y faire reference.
      Voici mon code, ce sera peut-etre plus clair:

      'Declaration des variables "Public" permettra d'utiliser ces
      'varibles dans tous les modules (à la difference de Dim par exemple).

      Public MaVariable As String

      Private Sub CommandButton1_Click()

      'On defini la valeur des differentes variables; ici ce qui a été entré
      'dans les TexBox du UserForm2.

      MaVariable = UserForm2.TextBox1

      Sheets("Model Test Classe").Select

      'On test si quelque chose a été saisi dans le 1er TextBox du Userform2.
      If Classe_3°1 <> "" Then

      'On crée une nouvelle feuille (Add) et on la selectionne
      Sheets.Add.Select

      'On renomme cette feuille avec la variable de la premiere TextBox.
      ActiveSheet.Name = MaVariable

      'On va copier le feuille "Model" et on la copie dans la nouvelle feuille.
      Sheets("Model").Select
      Cells.Select
      ActiveSheet.Copy

      'ET C'EST LA QUE JE N'ARRIVE PLUS A SELECTIONNER LA NOUVELLE FEUILLE
      'AVEC SON NOM VARIABLE !

      Sheets MaVariable.Select
      Cells.Select
      ActiveSheet.Paste

      Merci de votre aide. :-)
      1
      1. A mon avis tu doit faire sheets("Model").copy,sheets("Model").paste ce qui copiera ta feuille Model dans ta feuille MaVariable.

        Parceque ce que tu fais c'est sélectionner ta feuille Model, tu fais une sopie, puis ta va dans ta feuille MaVariable et tu colle ta feuille MaVariable, ce qui reviens à ne rien faire.

        Ou alors Essaie de faire directement : ActiveSheet.cells = sheets("Model").cells

        Je n'ai pas essayé mais test si ça fonctionne.
        1