Excel - VBA - Variable et feuille

Fermé
dks31 Messages postés 14 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 21 août 2018 - 23 nov. 2003 à 00:11
 JeanSairien - 1 avril 2010 à 12:10
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 !
A voir également:

3 réponses

Profil bloqué
23 nov. 2003 à 12:08
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
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
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