Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA Excel] FileDialog non reconnu

4 réponses
Avatar
mic-mic
Bonjour,

Je tourne avec Office 2000 et j'utilisais un fichier excel avec macros créé
sous excel 2003. Seulement depuis 15 jours, j'ai le message d'erreur suivant
à l' exécution d'une macro:
" Erreur de compilation:
Type défini par l'utilisateur non défini " sur la ligne Dim fd As
FileDialog.

Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)

Dim vrtSelectedItem As Variant

With fd
.AllowMultiSelect = False
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
If vrtSelectedItem <> "" Then
GoTo suite
End If
Next vrtSelectedItem
Else
End If
End With

Je sais qu'il existe des problèmes de compatibilités entre les différentes
version d'excel, mais bon jusque là le code s' exécutait bien.
FileDialog étant absent de la bibliothèque de VBA, que dois-je coché dans
les références disponibles, voir rajouter pour que cela fonctionne de
nouveau.

Merci de votre aide

4 réponses

Avatar
MichDenis
Remplace par ceci :

'-------------------------------
Sub OuvertureFichiersMultiples()

Dim a As Variant, Nom As String

Application.ScreenUpdating = False
Nom = ActiveWorkbook.Name
ChDrive "c:" ' Choix du lecteur
ChDir "c:Denis" 'Choix du répertoire
a = Application.GetOpenFileName("fichier excel (*.xls), *.xls", _
, "Sélection de vos fichiers excel", , True)

Select Case TypeName(a)
Case Is = "Boolean"
Exit Sub
Case Else
For b = LBound(a) To UBound(a)
Workbooks.Open a(b)
Next
End Select
Workbooks(Nom).Activate

End Sub
'-------------------------------



"mic-mic" a écrit dans le message de news:

Bonjour,

Je tourne avec Office 2000 et j'utilisais un fichier excel avec macros créé
sous excel 2003. Seulement depuis 15 jours, j'ai le message d'erreur suivant
à l' exécution d'une macro:
" Erreur de compilation:
Type défini par l'utilisateur non défini " sur la ligne Dim fd As
FileDialog.

Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)

Dim vrtSelectedItem As Variant

With fd
.AllowMultiSelect = False
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
If vrtSelectedItem <> "" Then
GoTo suite
End If
Next vrtSelectedItem
Else
End If
End With

Je sais qu'il existe des problèmes de compatibilités entre les différentes
version d'excel, mais bon jusque là le code s' exécutait bien.
FileDialog étant absent de la bibliothèque de VBA, que dois-je coché dans
les références disponibles, voir rajouter pour que cela fonctionne de
nouveau.

Merci de votre aide
Avatar
mic-mic
Mon but n'est pas de réécrire le code puisque je suis le seul à utiliser
excel 2000, tous les autres utilisant ce fichier travaillent avec excel
2003.
Ce qui tient du miracle, c'est que le code ait pu fonctionner sous excel
2000 sans qu'il n'y ait aucune référence à FileDialog dans la bibliothèque
et aujourd'hui, il vient de s'apercevoir que l'objet n'était pas référencé
!!!

Et en installant la bibliothèque Microsoft Office 11.0 Object Library,
est-ce que ça changerait quelque chose ?

"MichDenis" a écrit dans le message de news:

Remplace par ceci :

'-------------------------------
Sub OuvertureFichiersMultiples()

Dim a As Variant, Nom As String

Application.ScreenUpdating = False
Nom = ActiveWorkbook.Name
ChDrive "c:" ' Choix du lecteur
ChDir "c:Denis" 'Choix du répertoire
a = Application.GetOpenFileName("fichier excel (*.xls), *.xls", _
, "Sélection de vos fichiers excel", , True)

Select Case TypeName(a)
Case Is = "Boolean"
Exit Sub
Case Else
For b = LBound(a) To UBound(a)
Workbooks.Open a(b)
Next
End Select
Workbooks(Nom).Activate

End Sub
'-------------------------------



"mic-mic" a écrit dans le message de news:

Bonjour,

Je tourne avec Office 2000 et j'utilisais un fichier excel avec macros
créé

sous excel 2003. Seulement depuis 15 jours, j'ai le message d'erreur
suivant

à l' exécution d'une macro:
" Erreur de compilation:
Type défini par l'utilisateur non défini " sur la ligne Dim fd As
FileDialog.

Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)

Dim vrtSelectedItem As Variant

With fd
.AllowMultiSelect = False
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
If vrtSelectedItem <> "" Then
GoTo suite
End If
Next vrtSelectedItem
Else
End If
End With

Je sais qu'il existe des problèmes de compatibilités entre les différentes
version d'excel, mais bon jusque là le code s' exécutait bien.
FileDialog étant absent de la bibliothèque de VBA, que dois-je coché dans
les références disponibles, voir rajouter pour que cela fonctionne de
nouveau.

Merci de votre aide






Avatar
MichDenis
FileDialog n'est pas disponible sous Excel 2000.

FileDialog est dans la bibliothèque Excel ... tu n'as
pas besoin d'ajouter une bibiothèque particulière sous
excel 2002 et 2003.





"mic-mic" a écrit dans le message de news:

Mon but n'est pas de réécrire le code puisque je suis le seul à utiliser
excel 2000, tous les autres utilisant ce fichier travaillent avec excel
2003.
Ce qui tient du miracle, c'est que le code ait pu fonctionner sous excel
2000 sans qu'il n'y ait aucune référence à FileDialog dans la bibliothèque
et aujourd'hui, il vient de s'apercevoir que l'objet n'était pas référencé
!!!

Et en installant la bibliothèque Microsoft Office 11.0 Object Library,
est-ce que ça changerait quelque chose ?

"MichDenis" a écrit dans le message de news:

Remplace par ceci :

'-------------------------------
Sub OuvertureFichiersMultiples()

Dim a As Variant, Nom As String

Application.ScreenUpdating = False
Nom = ActiveWorkbook.Name
ChDrive "c:" ' Choix du lecteur
ChDir "c:Denis" 'Choix du répertoire
a = Application.GetOpenFileName("fichier excel (*.xls), *.xls", _
, "Sélection de vos fichiers excel", , True)

Select Case TypeName(a)
Case Is = "Boolean"
Exit Sub
Case Else
For b = LBound(a) To UBound(a)
Workbooks.Open a(b)
Next
End Select
Workbooks(Nom).Activate

End Sub
'-------------------------------



"mic-mic" a écrit dans le message de news:

Bonjour,

Je tourne avec Office 2000 et j'utilisais un fichier excel avec macros
créé

sous excel 2003. Seulement depuis 15 jours, j'ai le message d'erreur
suivant

à l' exécution d'une macro:
" Erreur de compilation:
Type défini par l'utilisateur non défini " sur la ligne Dim fd As
FileDialog.

Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)

Dim vrtSelectedItem As Variant

With fd
.AllowMultiSelect = False
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
If vrtSelectedItem <> "" Then
GoTo suite
End If
Next vrtSelectedItem
Else
End If
End With

Je sais qu'il existe des problèmes de compatibilités entre les différentes
version d'excel, mais bon jusque là le code s' exécutait bien.
FileDialog étant absent de la bibliothèque de VBA, que dois-je coché dans
les références disponibles, voir rajouter pour que cela fonctionne de
nouveau.

Merci de votre aide






Avatar
mic-mic
Comment refaire fonctionner ce satané code sous excel 2000 car je le
rappelle la macro avec FileDialog fonctionnait.....

"MichDenis" a écrit dans le message de news:
#
FileDialog n'est pas disponible sous Excel 2000.

FileDialog est dans la bibliothèque Excel ... tu n'as
pas besoin d'ajouter une bibiothèque particulière sous
excel 2002 et 2003.





"mic-mic" a écrit dans le message de news:

Mon but n'est pas de réécrire le code puisque je suis le seul à utiliser
excel 2000, tous les autres utilisant ce fichier travaillent avec excel
2003.
Ce qui tient du miracle, c'est que le code ait pu fonctionner sous excel
2000 sans qu'il n'y ait aucune référence à FileDialog dans la bibliothèque
et aujourd'hui, il vient de s'apercevoir que l'objet n'était pas référencé
!!!

Et en installant la bibliothèque Microsoft Office 11.0 Object Library,
est-ce que ça changerait quelque chose ?

"MichDenis" a écrit dans le message de news:

Remplace par ceci :

'-------------------------------
Sub OuvertureFichiersMultiples()

Dim a As Variant, Nom As String

Application.ScreenUpdating = False
Nom = ActiveWorkbook.Name
ChDrive "c:" ' Choix du lecteur
ChDir "c:Denis" 'Choix du répertoire
a = Application.GetOpenFileName("fichier excel (*.xls), *.xls", _
, "Sélection de vos fichiers excel", , True)

Select Case TypeName(a)
Case Is = "Boolean"
Exit Sub
Case Else
For b = LBound(a) To UBound(a)
Workbooks.Open a(b)
Next
End Select
Workbooks(Nom).Activate

End Sub
'-------------------------------



"mic-mic" a écrit dans le message de news:

Bonjour,

Je tourne avec Office 2000 et j'utilisais un fichier excel avec macros
créé

sous excel 2003. Seulement depuis 15 jours, j'ai le message d'erreur
suivant

à l' exécution d'une macro:
" Erreur de compilation:
Type défini par l'utilisateur non défini " sur la ligne Dim fd As
FileDialog.

Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)

Dim vrtSelectedItem As Variant

With fd
.AllowMultiSelect = False
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
If vrtSelectedItem <> "" Then
GoTo suite
End If
Next vrtSelectedItem
Else
End If
End With

Je sais qu'il existe des problèmes de compatibilités entre les
différentes


version d'excel, mais bon jusque là le code s' exécutait bien.
FileDialog étant absent de la bibliothèque de VBA, que dois-je coché
dans


les références disponibles, voir rajouter pour que cela fonctionne de
nouveau.

Merci de votre aide