Annuler avec : Application.GetOpenFilename [Résolu]

Signaler
Messages postés
135
Date d'inscription
vendredi 18 juillet 2008
Statut
Membre
Dernière intervention
26 février 2020
-
noe2008
Messages postés
135
Date d'inscription
vendredi 18 juillet 2008
Statut
Membre
Dernière intervention
26 février 2020
-
Bonjour les amis et bon dimanche à tous,
La macro de mon classeur cijoint me pressente un seul petit problème , une fois ouverte et me demande d'ouvrir un fichier si je clique sur "ouvrir" elle marche sans problème mais lorsque je clique sur "annuler" elle me de propose de fermer le classeur les boites de dialogue s'ouvrent etc.....
je veux ajouter une ligne après ces deux lignes :

Dim Fich As String, CD, ar, nm
Fich = Application.GetOpenFilename

pour que si je clique sur annuler , une msgbox s'ouvre ayant comme text "vous avez annulé l’importation du fichier" et sortir de la macro sans me proposer de fermer le classeur etc.....

le fichier joint
https://www.cjoint.com/c/JBxmE4o11vy

cordialement,

Configuration: Windows / Chrome 79.0.3945.130

3 réponses

Messages postés
8041
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
19 mars 2020
1 334
Bonjour,

1) Fich doit être typé Variant
2) Tester Fich pour savoir si c'est la touche Annuler

Option Explicit
Sub Test()
Dim Fich As Variant
  Fich = Application.GetOpenFilename
  If Fich = False Then
    MsgBox "Vous avez annulé l’importation du fichier", vbInformation
    Exit Sub
  End If
  MsgBox "Vous allez importer le fichier :" & vbLf & Fich
End Sub

Cordialement
Patrice

Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.
noe2008
Messages postés
135
Date d'inscription
vendredi 18 juillet 2008
Statut
Membre
Dernière intervention
26 février 2020
3
Salut Patrice
Comme je ne suis pas trop doué en vba je n'ai pas pu insérer correctement les modifications que vous m'avez proposé
je serai très reconnaissant si vous m'envoyez la macro entière
Merci encore une fois
Patrice33740
Messages postés
8041
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
19 mars 2020
1 334 > noe2008
Messages postés
135
Date d'inscription
vendredi 18 juillet 2008
Statut
Membre
Dernière intervention
26 février 2020

Il faudrait publier le code entier de la macro pré-existante et expliquer ce qu'elle est sensée réaliser.

Utilises les balises de code avec indication du langage (=coloration syntaxique)
Explications disponibles ici : Comment utiliser les balises de code
Exemple :
Sub UtiliserLesBalises()
  MsgBox "Merci d'utiliser les balises de code"
End Sub
Messages postés
135
Date d'inscription
vendredi 18 juillet 2008
Statut
Membre
Dernière intervention
26 février 2020
3
Le code s’arrête ici :

Messages postés
135
Date d'inscription
vendredi 18 juillet 2008
Statut
Membre
Dernière intervention
26 février 2020
3
Merci infiniment Patrice
j'ai changé le nom de "cd" par un autre nom et le code marche correctement maintenant