VBA: portée des variables
Résolu/Fermé
NyectoD
Messages postés
23
Date d'inscription
mercredi 2 avril 2014
Statut
Membre
Dernière intervention
6 juin 2014
-
12 mai 2014 à 16:15
NyectoD Messages postés 23 Date d'inscription mercredi 2 avril 2014 Statut Membre Dernière intervention 6 juin 2014 - 13 mai 2014 à 11:51
NyectoD Messages postés 23 Date d'inscription mercredi 2 avril 2014 Statut Membre Dernière intervention 6 juin 2014 - 13 mai 2014 à 11:51
A voir également:
- VBA: portée des variables
- Excel compter cellule couleur sans vba - Guide
- Mkdir vba ✓ - Forum VB / VBA
- Vba range avec variable ✓ - Forum VB / VBA
- L'indice n'appartient pas à la sélection vba ✓ - Forum Programmation
- Autofill vba ✓ - Forum Excel
5 réponses
NyectoD
Messages postés
23
Date d'inscription
mercredi 2 avril 2014
Statut
Membre
Dernière intervention
6 juin 2014
1
12 mai 2014 à 16:25
12 mai 2014 à 16:25
Avec une analyse pas à pas détaillé, je me rends compte que ma variable n'est plus déclarée et ne possède plus de valeur.
NyectoD
Messages postés
23
Date d'inscription
mercredi 2 avril 2014
Statut
Membre
Dernière intervention
6 juin 2014
1
12 mai 2014 à 16:52
12 mai 2014 à 16:52
Je continue à chercher de mon côté, j'ai déclaré ma variable en public avant l'initialisation de mon premier UserForm mais elle n'est dorénavant plus visible même dans celui ci.
J'ai mis
Public NomCplt As String
Plus tard dans mon code, je lui donne une valeur de cette manière
NomCplt = Nom & "texte variable"
En pas à pas, la variable NomCplt n'est plus déclarée et ne renvoie rien.
Quelqu'un a une piste pour moi ?
J'ai mis
Public NomCplt As String
Plus tard dans mon code, je lui donne une valeur de cette manière
NomCplt = Nom & "texte variable"
En pas à pas, la variable NomCplt n'est plus déclarée et ne renvoie rien.
Quelqu'un a une piste pour moi ?
benol3
Messages postés
570
Date d'inscription
lundi 29 juillet 2013
Statut
Membre
Dernière intervention
7 mai 2015
87
12 mai 2014 à 22:29
12 mai 2014 à 22:29
Salut,
Ou déclares tu ta variable NomCplt ? Dans un programme, dans un module ?
Sinon je comprend pas très ton problème... Quelle ligne de code provoque ton erreur ?
Je te propose de mettre ton fichier de manière anonymisé pour mieux comprendre les problèmes que tu rencontrent a l'aide de www.cjoint.com
Ou déclares tu ta variable NomCplt ? Dans un programme, dans un module ?
Sinon je comprend pas très ton problème... Quelle ligne de code provoque ton erreur ?
Je te propose de mettre ton fichier de manière anonymisé pour mieux comprendre les problèmes que tu rencontrent a l'aide de www.cjoint.com
NyectoD
Messages postés
23
Date d'inscription
mercredi 2 avril 2014
Statut
Membre
Dernière intervention
6 juin 2014
1
13 mai 2014 à 08:12
13 mai 2014 à 08:12
Bonjour,
J'ai vu ton message hier mais impossible de me connecter pour répondre.
J'ai continué mes recherches durant un moment et j'ai finis par résoudre le problème. Cela venait du fait que ma variable NomCplt état déclarée dans mon premier Userform et non dans le module.
L'erreur était que l'objet était introuvable, en l'occurrence ma variable NomCplt qui n'était pas considérée comme existante.
J'ai trouvé ce site, en autres (en anglais) qui m'a éclairé.
http://www.cpearson.com/excel/codemods.htm
Je remercie aussi michel_m pour avoir déplacé mon message, je pense qu'il sera plus à sa place ici, et pour son message de 2008 sur le sujet sur lequel je bloquais.
J'ai vu ton message hier mais impossible de me connecter pour répondre.
J'ai continué mes recherches durant un moment et j'ai finis par résoudre le problème. Cela venait du fait que ma variable NomCplt état déclarée dans mon premier Userform et non dans le module.
L'erreur était que l'objet était introuvable, en l'occurrence ma variable NomCplt qui n'était pas considérée comme existante.
J'ai trouvé ce site, en autres (en anglais) qui m'a éclairé.
http://www.cpearson.com/excel/codemods.htm
Je remercie aussi michel_m pour avoir déplacé mon message, je pense qu'il sera plus à sa place ici, et pour son message de 2008 sur le sujet sur lequel je bloquais.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
NyectoD
Messages postés
23
Date d'inscription
mercredi 2 avril 2014
Statut
Membre
Dernière intervention
6 juin 2014
1
13 mai 2014 à 10:57
13 mai 2014 à 10:57
Bon en fin de compte, je n'ai fait que déplacer le problème... *joie*
Je mets plus d'infos ici,
Je déclare ma variable NomCplt en public dans un module,
Sa valeur est fonction des données saisies par l'utilisateur dans mon premier Userform.
Le code de mon premier Userform récupère des données (variables) de classeurs fermés pour les copier dans un nouveau classeur (créer pour l'occasion) pour les analyser. Cette partie fonctionne, mes tests ne me renvoient plus d'erreurs.
A la fin de mon code, j'appelle un autre UserForm pour que l'utilisateur décide quels sont les graphiques qu'il veut voir apparaître.
C'est dans cet autre UserFrom que se pose mon soucis.
Je désire pour le moment, uniquement insérer un graphique vide dans un onglet spécifique du nouveau fichier dans lequel je pourrais insérer des données plus tard.
Me renvoie une erreur 1004 : Erreur définie par l'application ou par l'objet
Me renvoie une erreur 13 : Incompatibilité de type
Après je n'utilise surement pas la bonne méthode pour créer un graphique mais je dois avouer que je trouve la documentation en ligne assez floue.
Idée subsidiaire :
Est ce que si j'appelle mon deuxième Userform pour connaitre les graphiques que désire l'utilisateur et que je continue mon code dans le premier UserForm cela devrait fonctionner ?
Désolé de facto d'avoir de-résolu le sujet.
Je mets plus d'infos ici,
Je déclare ma variable NomCplt en public dans un module,
Sa valeur est fonction des données saisies par l'utilisateur dans mon premier Userform.
Le code de mon premier Userform récupère des données (variables) de classeurs fermés pour les copier dans un nouveau classeur (créer pour l'occasion) pour les analyser. Cette partie fonctionne, mes tests ne me renvoient plus d'erreurs.
A la fin de mon code, j'appelle un autre UserForm pour que l'utilisateur décide quels sont les graphiques qu'il veut voir apparaître.
C'est dans cet autre UserFrom que se pose mon soucis.
Je désire pour le moment, uniquement insérer un graphique vide dans un onglet spécifique du nouveau fichier dans lequel je pourrais insérer des données plus tard.
Sub BtnValider_Click() Dim Graph As Chart xlBook.Sheets("Graphs").Range(1, 1).Select Charts.Add
Me renvoie une erreur 1004 : Erreur définie par l'application ou par l'objet
Workbooks(NomCplt).Sheets("Graphs").Range(1, 1).Select Charts.Add
Me renvoie une erreur 13 : Incompatibilité de type
Après je n'utilise surement pas la bonne méthode pour créer un graphique mais je dois avouer que je trouve la documentation en ligne assez floue.
Idée subsidiaire :
Est ce que si j'appelle mon deuxième Userform pour connaitre les graphiques que désire l'utilisateur et que je continue mon code dans le premier UserForm cela devrait fonctionner ?
Désolé de facto d'avoir de-résolu le sujet.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
Modifié par michel_m le 13/05/2014 à 11:44
Modifié par michel_m le 13/05/2014 à 11:44
Bonjour
Range("A1") ou cells(1,1) et non range(1,1)
Et peut-^tre aussi dire "Merci" d'avoir eu une réponse demandée en MP concernant la déclaration de variable
de rien....
Range("A1") ou cells(1,1) et non range(1,1)
Et peut-^tre aussi dire "Merci" d'avoir eu une réponse demandée en MP concernant la déclaration de variable
de rien....
NyectoD
Messages postés
23
Date d'inscription
mercredi 2 avril 2014
Statut
Membre
Dernière intervention
6 juin 2014
1
Modifié par NyectoD le 13/05/2014 à 12:00
Modifié par NyectoD le 13/05/2014 à 12:00
Merci pour la correction, j'ai tendance à toujours confondre ces deux points.
En corrigeant, cela donne
J'ai donc une erreur 91 : variable objet ou variable de bloc with non définie
Dans l'autre cas (corrigé lui aussi), toujours le même problème. (Erreur 13).
Merci encore de se pencher sur mon problème.
En corrigeant, cela donne
xlBook.Sheets("Graphs").Range("A1").Select Charts.Add
J'ai donc une erreur 91 : variable objet ou variable de bloc with non définie
Dans l'autre cas (corrigé lui aussi), toujours le même problème. (Erreur 13).
Merci encore de se pencher sur mon problème.