IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Détecter l'annulation d'une boite de dialogue [XL-MAC 2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de pastis.vi
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2008
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 251
    Par défaut Détecter l'annulation d'une boite de dialogue
    Bonjour à tous,

    Je rencontre un soucis qui parait très très simple mais je n'ai pas la solution.
    Nom : 2017-05-10_103244.JPG
Affichages : 250
Taille : 28,5 Ko
    Lorsque je double clique sur la cellule indiquée par la flèche rouge j'ai une boite de dialogue qui apparaît pour aller chercher le chemin réseau de ma base de données.
    Lorsque je ferme ma boite de dialogue avec la croix rouge ou avec le bouton "annuler" j'ai l'inscription "FAUX" qui s'inscrit à la place du chemin :
    Nom : 2017-05-10_103601.JPG
Affichages : 231
Taille : 28,8 Ko

    Voici le code associé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     
            '--- Affichage d'une fenêtre  pour recherche du fichier
        If Not Intersect(Target, Sheets("Menu").Range("$B$4")) Is Nothing Then
            Sheets("Menu").Range("B4").Value = Application.GetOpenFilename
            Sheets("Menu").Range("B13").Select
        End If
     
    End Sub
    Comment puis-je détecter l'annulation de la boite de dialogue ?
    Je pensais faire comme ça : lorsque je détecte l'annulation je replace l'ancienne valeur préalablement enregistrée.

    Merci pour le coup de main,
    Pastis

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    utilise un Variant pour tester ce que vaut application.GetOpenFilename

    si c'est un Booléen, c'est qu'on a pas choisi de fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub ioi()
           Dim C As Variant
               C = Application.GetOpenFilename
    If VarType(C) <> vbBoolean Then MsgBox "on a choisi un fichier" Else MsgBox "on a rien choisi"
    End Sub

  3. #3
    Membre éclairé Avatar de pastis.vi
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2008
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 251
    Par défaut
    Bonjour Joe,

    C'est clair net et concis ! Merci beaucoup pour ta réponse

  4. #4
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonjour,
    Je me permets d'intervenir car sur la capture d'écran, l'adresse serveur à l'air du type PC, hors la discussion est indiqué XL MAC 2016.
    Pour les adresses avec Excel Mac 2016, le séparateur est un slash "/" et sur PC c'est un anti-slash "\".
    Peut-être faudrait-il revoir la procédure pour une compatibilité avec Excel Mac 2016 ? …

    Voilà
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/04/2011, 09h57
  2. [MFC] rendre une boite de dialogue inactive
    Par Vestaproman dans le forum MFC
    Réponses: 8
    Dernier message: 22/01/2004, 14h09
  3. Affichage d'une boite de dialogue nonmodale avec MFC
    Par the.cable.guy dans le forum Windows
    Réponses: 3
    Dernier message: 04/07/2003, 17h59
  4. Réponses: 5
    Dernier message: 04/04/2003, 15h02
  5. Comment cree une boite de dialogue parcourir
    Par kenshi dans le forum MFC
    Réponses: 5
    Dernier message: 06/01/2003, 10h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo