Annuler avec : Application.GetOpenFilename

Résolu
noe2008 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   -  
noe2008 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   -
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

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
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

0
noe2008 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   4
 
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
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780 > noe2008 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
noe2008 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   4
 
Le code s’arrête ici :

0
noe2008 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   4
 
Merci infiniment Patrice
j'ai changé le nom de "cd" par un autre nom et le code marche correctement maintenant
0