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 :

Problème avec boîte de dialogue


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 75
    Points : 38
    Points
    38
    Par défaut Problème avec boîte de dialogue
    Bonjour,

    Pour sélectionner un fichier EXCEL à ouvrir depuis une application VBA WORD, j'utilise GetOpenFilename qui m'ouvre une boîte de dialogue standard EXCEL (voir code ci-dessous)

    Problème 1 :
    Tout fonctionne bien mais, si je déplace la boîte de dialogue standard ainsi ouverte, cela fait l'effet d'une gomme en effaçant tout ce qui se trouve sur l'écran, sur le passage de la boîte. A noter que je n'ai pas besoin que cette boîte soit non modale mais je crois qu'il n'y a aucune possibilité de le demander puisque ce n'est pas un userform.

    Problème 2 :
    L'ouverture est commandée par un clic sur un bouton dans un UserForm. Si par inadvertance on fait un double clic sur ce bouton tout se fige et après avoir fait un Ctrl+Alt+Supp et demandé au gestionnaire de terminer la tâche, je vois qu'en fait la boîte s'était ouverte mais derrière et de façon inaccessible

    Quelqu'un aurait-il des idées sur ces deux questions? Merci d'avance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Private Sub BoutonParcourir_Click()
    Dim AppExcel As Excel.Application
    Dim Cpt As Long
    Dim Filtre As String
    Dim Titre As String
    Set AppExcel = CreateObject("Excel.Application")    ' Création objet Application
    ' --------------- Choix des fichiers à importer
    NbFich = 0
    Filtre = "Fichiers Excel (*.xls),*.xls"
    Titre = "Choix du fichier des dictionnaires"
    CheminFichierDicos = AppExcel.GetOpenFilename(filefilter:=Filtre, _
    Title:=Titre, MultiSelect:=True)                             ' Appelle la boîte standard de sélection de fichiers
    If IsArray(CheminFichierDicos) Then                       ' Si l'on a bien récupéré un tableau des chemins
        For Cpt = 0 To UBound(CheminFichierDicos) - 1    ' Pour le Nb de chemins contenus dans le tableau
            ReDim Preserve TabChem(0 To 2, 0 To Cpt)     ' Redimensionne le tableau de Variants
            TabChem(2, Cpt) = CheminFichierDicos(Cpt + 1) ' Met les chemins de fichiers dans la troisième col. du tableau
            NbFich = NbFich + 1
        Next Cpt
    Else
        NbFich = ActiveDocument.Variables("VarChemNbFich").Value  ' Remet la valeur antérieure (NbFich était devenu 0)
        Exit Sub
    End If
    AppExcel.Quit
    Set AppExcel = Nothing
    Call ChargeDicos                                                 ' Ouvre les fichiers et extrait charge les dicos
    ChemFichDicos.Column = TabChem
    End Sub
    Cordialement

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 75
    Points : 38
    Points
    38
    Par défaut
    bonjour,

    Je réponds à Qwazerty (dont bizarrement le message ne s'affiche pas ici alors que je l'ai dans ma boîte de réception!) :

    J'ai essayé mais cela ne change rien. Il semble que le double clic soit enregistré avant de prendre en compte le BoutonParcourir.enabled = false

    J'ai oublié de dire que le message Microsoft s'affiche "erreur... oblige à fermer...envoyer à Microsoft..ou non."

  3. #3
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    SAlut
    Mon message ne s'affiche plus car je l'ai supprimé 30 sec après l'avoir écris, me rendant compte qu'il ne répondait pas a ton problème, en effet ton problème n'est pas une 2eme exécution du code, mais le fait que le1erclick lance une fenêtre et que le 2eme click remet ta forme en 1er plan.
    Tu devrais mettre un fichier exemple qui produit le soucis, par ce que j'ai un peu la flemme de recréer tout ça

    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 75
    Points : 38
    Points
    38
    Par défaut
    Voilà le fichier "nettoyé" mais qui présente le même problème.

    Merci d'avance
    Fichiers attachés Fichiers attachés

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 75
    Points : 38
    Points
    38
    Par défaut
    J'ai ajouté une tempo en tout début de procédure et cela a l'air de fonctionner.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim x As Single
    x = Timer
    Do While Timer < x + 0.1
    Loop
    Mais si tu as une autre idée...ainsi que pour la boîte qui gomme tout sur l'écran!

    Cordialement

  6. #6
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut
    Humm je comprend pas chez moi ça fait rien de particulier, je click ça ouvre la fenêtre, je double click il se passe une petite bricole ça replace la fenêtre, si c'est ça e problème il suffit de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Parametrage()
    If BdDlg3.Visible Then Exit Sub
    BdDlg3.Left = 175
    BdDlg3.Top = 5
    BdDlg3.Show (0)
    End Sub
    Sinon ça gomme rien nom plus :/

    Par contre tu es sur la section Excel VBA pas Word donc peut etre devrais tu poser cette question dns la section Word (aiiie aiie si un modo passe par la ce que tu vas prendre je blague bien sur ... enfin quoique ...)
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 75
    Points : 38
    Points
    38
    Par défaut
    Merci pour ces réponses. Non, chez moi ce n'était pas une petite bricole, ça bloquait tout et il fallait que je fasse un ctrl+ alt +supp, demander de fermer Word et rouvrir ensuite! Maintenant, avec la temporisation, il semble que cela aille bien. Dans la mesure où cela ne se produit que chez moi, ce n'est pas utile que je repose la question. J'avais demandé conseil en EXCEL parce que la boîte de dialogue qui crée le problème c'est de l'EXCEL (...getopenfilename...ne se trouve qu'en EXCEL).

    Encore merci.

    Cordialement

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

Discussions similaires

  1. Réponses: 22
    Dernier message: 16/03/2012, 15h13
  2. Problème avec boite de dialogue enregistrer sous
    Par biddal dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/08/2011, 10h58
  3. Réponses: 6
    Dernier message: 06/11/2010, 07h34
  4. Problème avec boîte de dialogue
    Par zorely dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/02/2008, 12h55
  5. Problème avec boite de dialogue pour fermer JFrame
    Par adn013 dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 04/09/2007, 15h37

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