Utilisation variable pr appelé une feuille
Résolu
Stef
-
choubaka Messages postés 39442 Date d'inscription Statut Modérateur Dernière intervention -
choubaka Messages postés 39442 Date d'inscription Statut Modérateur Dernière intervention -
Saltu à tous,
Je bloque sur un truc dans ma mcaro, merci d'avance pour votre coup de main :
Après création d'une nouvelle feuille, un TextBox utilisateur récupère le nom que le user a saisit.
Ex : R00001
Comme ceci :
Sheets("Sheet1").Name = txtValeur.Value
Ensuite, je récupère TxtValeur dans une variable :
NoFEUIL = txtValeur.Value
Plus bas dans mon code, je dois sélectionner la feuille mais en utilisant la variable et pas le nom de la feuille:
Sheets(NoFEUIL).Select
Impossible de trouver le moyen de faire marcher cette commande, si qqun a une idée --> MERCI C COOL !!
Stef
Je bloque sur un truc dans ma mcaro, merci d'avance pour votre coup de main :
Après création d'une nouvelle feuille, un TextBox utilisateur récupère le nom que le user a saisit.
Ex : R00001
Comme ceci :
Sheets("Sheet1").Name = txtValeur.Value
Ensuite, je récupère TxtValeur dans une variable :
NoFEUIL = txtValeur.Value
Plus bas dans mon code, je dois sélectionner la feuille mais en utilisant la variable et pas le nom de la feuille:
Sheets(NoFEUIL).Select
Impossible de trouver le moyen de faire marcher cette commande, si qqun a une idée --> MERCI C COOL !!
Stef
A voir également:
- Utilisation variable pr appelé une feuille
- Utilisation chromecast - Guide
- Télécharger gratuitement notice d'utilisation - Guide
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Bruler une feuille de laurier - Guide
- Comment supprimer une feuille sur word - Guide
4 réponses
Salut,
Tu es sur que t'as feuille s'appelle "Sheet1"?
Si tu as excel en français je crois que c'est plutôt
Tu es sur que t'as feuille s'appelle "Sheet1"?
Si tu as excel en français je crois que c'est plutôt
Sheets("Feuil1").Name = txtValeur.Valueet avec ça tout va bien.
Salut,
Merci pour la réponse mais mon problème n'est tjr pas résolu.
J'utilise Excel en anglais, c'est pourquoi le nom de ma feuille est "Sheet1".
J'ai déjà renommer ma feuille avec le nom que l'utilisateur à saisi dans le texBox, donc pour la commande :
Sheets("Sheet1").Name = txtValeur.Value
(txtValeur est égale à R00001)
Je met ensuite la R00001 dans une variable
nomFEUIL = txtValeur.Value
Pas de souci ça fonctionne.
Donc le nom de ma feuille est égale à R00001 pas de souci.
Mais plus bas dans ma macro, je veux selectionner la dite feuille
en utilisant la variable nomFEUIL et pas directement la valeur "R00001" et c'est ça qui ne fonctionne pas.
J'ai essayé ceci :
Sheets(NomFEUIL).Select
Sheets("Cstr(NomFEUIL)).Select
Mais ça plante!!
Merci d'avance à tous ceux qui aurainet une idée fumante :)
Stef
Merci pour la réponse mais mon problème n'est tjr pas résolu.
J'utilise Excel en anglais, c'est pourquoi le nom de ma feuille est "Sheet1".
J'ai déjà renommer ma feuille avec le nom que l'utilisateur à saisi dans le texBox, donc pour la commande :
Sheets("Sheet1").Name = txtValeur.Value
(txtValeur est égale à R00001)
Je met ensuite la R00001 dans une variable
nomFEUIL = txtValeur.Value
Pas de souci ça fonctionne.
Donc le nom de ma feuille est égale à R00001 pas de souci.
Mais plus bas dans ma macro, je veux selectionner la dite feuille
en utilisant la variable nomFEUIL et pas directement la valeur "R00001" et c'est ça qui ne fonctionne pas.
J'ai essayé ceci :
Sheets(NomFEUIL).Select
Sheets("Cstr(NomFEUIL)).Select
Mais ça plante!!
Merci d'avance à tous ceux qui aurainet une idée fumante :)
Stef
salut
j'ai plus ou moins la même macro que toi ...
La "fameuse variable", je l'ai déclaré en début du module
ici j'ai mis volontairement "jan" en clair pour l'exemple ... Plus bas, il y a la fonction qui va utiliser la variable
mais je pense qu'il est important de donner la valeur à ta variable avant de faire quoi que ce soit ...
j'ai plus ou moins la même macro que toi ...
La "fameuse variable", je l'ai déclaré en début du module
Dim CurrentMonth As String Sub DoUpDate() ' ....... CurrentMonth = "Jan" Call UpDatesheet
ici j'ai mis volontairement "jan" en clair pour l'exemple ... Plus bas, il y a la fonction qui va utiliser la variable
private sub UpDateSheet ....... Sheets("Sheet1").Name = CurrentMonth Sheets(CurrentMonth).Select Range("A2").Select ActiveSheet.Paste ...... End sub
mais je pense qu'il est important de donner la valeur à ta variable avant de faire quoi que ce soit ...
Salut Choubaka,
Merci pour ta réponse ça m'apermit de comprendre le problème mais pas encore de le résoudre.
En faite le mode d'utilisation des variable pour nommer et appeler les feuilles fonctionne bien. Merci encore c'est nickel!
Un autre problème est soulevé :
Ma varable NomFEUIL est définie par l'utilisateur dans un formulaire (Forms) et quand le formulaire est fermé, c'est le module2 de la macro qui continue.
Comment passer la valeur de la variable NomFEUIL entre les ces deux modules ??
Car j'ai vu que dans le module2 de ma macro, NomFEUIL est vide...
Merci si tu as une idée
Stef
Merci pour ta réponse ça m'apermit de comprendre le problème mais pas encore de le résoudre.
En faite le mode d'utilisation des variable pour nommer et appeler les feuilles fonctionne bien. Merci encore c'est nickel!
Un autre problème est soulevé :
Ma varable NomFEUIL est définie par l'utilisateur dans un formulaire (Forms) et quand le formulaire est fermé, c'est le module2 de la macro qui continue.
Comment passer la valeur de la variable NomFEUIL entre les ces deux modules ??
Car j'ai vu que dans le module2 de ma macro, NomFEUIL est vide...
Merci si tu as une idée
Stef
rien ne t'empêche de créer une fonction publique dans tes modules prenant en argument la variable ... Cette fonction pourra être appelée par ton formulaire et pourrait par exemple mettre à jour la variable contenue dans le module...
Public Sub UpdateNomFeuilleMod1( $nomFeuille As String)
CurrentMonth = $nomFeuille
End sub
Public Sub UpdateNomFeuilleMod1( $nomFeuille As String)
CurrentMonth = $nomFeuille
End sub