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.
Cordialement
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
Partager