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