Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Message d'erreur variable non définie.

AIXELS

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous les amis du Forum.
Un souci, voir image écran jointe, variable non définie.
C'est du code j'ai récupéré qui fonctionnait bien sous 2016 sans message d'erreur.
Comment puis-je déclarer la variable et quel type ?
"Répertoire" étant le nom sous lequel sauvegarder le fichier.

Merci pour votre aide.
Bien cordialement.



Pièces jointes​


  • Messag d'erreur Variable non définie.jpg
    107.4 KB · Affichages: 0
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Aixels,
Essayez ça en début de macro :
VB:
Dim Répertoire as string

Si cela marchait avant, avez vous rajouté Option explicit dans le code ? Cette ligne oblige à déclarer les variables. Ou avoir choisi cette option :
 

soan

XLDnaute Barbatruc
Inactif
@AIXELS (salut sylvanu)

ajout : sauf si tu l'as déjà déclaré en tant que variable globale de niveau module, tu devras aussi probablement déclarer la variable nomFichier ; donc mets ainsi ta ligne Dim : Dim répertoire$, nomFichier$

soan​
 

AIXELS

XLDnaute Occasionnel
Supporter XLD
Bonjour AIXELS,

avant la ligne If Not ... ajoute cette ligne : Dim répertoire$

soan
Bonjour soan.
Merci pour ta réponse,ça fonctionne bien.
Le $ de Répertoire correspond à quoi.
J'avais essayé :
VB:
Dim Répertoire as String
Quelle est la différence entre ces déclarations ?
Je me forme donc mes questions vous paraîtront stupides.
Merci pour votre aide.
Bien cordialement.
 

soan

XLDnaute Barbatruc
Inactif
@AIXELS

non, il n'y a pas de questions stupides ; tout l'monde apprend à partir de zéro, et à son rythme.

Dim répertoire$ est la même chose que Dim répertoire As String ; simplement, c'est plus court ; je te laisse chercher dans l'Aide Excel d'autres caractères de déclaration de type.

(par exemple, tu as aussi & pour Long ; et % pour Integer)

attention : tu as peut-être manqué mon post #4.

soan
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re Aixels, Soan,
Quand on commence le VBA il vaut mieux "as string" que "$" c'est plus parlant.
Car on peut ensuite avoir des erreurs de dimensionnement, et l'erreur entre "%" et "#" est moins évidente à détecter qu'entre "as Integer" et "as Double".
 

Discussions similaires

Réponses
7
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…