Excel - VBA - Variable et feuille

dks31 Messages postés 14 Statut Membre -  
 JeanSairien -
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. Profil bloqué
     
    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
  2. DKS31
     
    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
  3. JeanSairien
     
    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