Excel - VBA - Variable et feuille
dks31
Messages postés
14
Statut
Membre
-
JeanSairien -
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 !
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:
- Excel - VBA - Variable et feuille
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Si et ou excel - Guide
- Verrouiller cellule excel sans verrouiller la feuille - Guide
3 réponses
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
Dim Mavariable as string
Comme tu peux utiliser str(variable) pour la convertir en string
time is not money, time is life
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. :-)
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. :-)
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.
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.