Annuler avec : Application.GetOpenFilename

Résolu
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

  1. 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
    

    1
    1. 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
    2. @noe2008Il 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
  2. Le code s’arrête ici :

    0
    1. Merci infiniment Patrice
      j'ai changé le nom de "cd" par un autre nom et le code marche correctement maintenant
      0