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

probleme a propos de GetOpenFilename

  • Initiateur de la discussion Initiateur de la discussion jderoque
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

jderoque

Guest
bonjour

voici le debut dune macros ke j'utilise. j'ouvre un fichier appelé archivebande.xls pour y copie des données. kand je fais la procédure normal, tt va bien, me si je fais annulé ou momment d'ouvrir le fichier, la macro fé nimporte koi au lieu de s'arreté.
 
voici la suite du message

Sub archivage()
Workbooks('archivebande.xls').Activate
fichier = Application.GetOpenFilename()
Workbooks.Open Filename:=fichier
et mon code
voila merci pour votre aide
 
Bonsoir jderoque,

Tu peux sûrement essayer comme ça :

Bonnes fêtes de fin d'année.
 
Bonjour jderoque, le Forum,

Déclarer en tête de procédures, TOUTES les variables que tu utilises, est une habitude tout à fait recommandée si tu veux pouvoir progresser dans l'apprentissage de VBA. L'instruction Dim est faite pour ça.

Pour rappel, les types de données utilisables en VBA sont :



Suivant la valeur qui sera stockée dans ta variable, il convient de déclarer cette dernière avec le type de données le plus adapté, tout en privilégiant le type qui représente le poids le plus faible (par mesure d'économie des ressources système et donc, afin d'obtenir un code optimisé).

Ainsi, pour t'éviter quelques surprises futures, je ne puis que te conseiller de mettre une ligne 'Option Explicit' en tête de chacun de tes modules de code. Cela t'obligera à déclarer l'ensemble des variables que tu utilises. Et pour ne pas avoir à mettre manuellement 'Option Explicit' dans chaque nouveau module que tu insères, tu peux faire Menu Outils / Options.../ Onglets 'Editeur' et cocher 'Déclaration des variables obligatoire' depuis l'éditeur VBE.

Dans l'exemple donné plus haut, tu remarqueras que la variable 'Fichier' peut recevoir un type de données String (le chemin de stockage du fichier) ou un type de données Boolean (valeur False). C'est la raison pour laquelle je l'ai déclaré en tant que variable de type Variant. Ce type de données Variant est en fait un type de données 'fourre-tout' qui peut contenir n'importe quelle donnée. Ce type de variable est donc pratique mais, en contrepartie, cette variable consommera le plus de ressources (poids).

Pour info, si tu n'utilises pas 'Option Explicit' et que tu ne déclares pas tes variables, VBA considèrera d'office tes variables comme étant du type Variant, ce qui n'est pas du tout conseillé. Il en est de même si tu déclares la variable de la manière suivante :
Dim MaVariable (sans indication du type de données souhaité).

Cordialement,
Bonnes fêtes de fin d'année.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…