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

Erreur 438 à la création d'un bouton parcourir

5 réponses
Avatar
BelgarionDeRiva
Bonjour,

Je suis en train de me faire une petite interface pour failiter les
impressions sous project. A un moment je veux rajouter un logo, donc j'ai
besoin de créer un bouron parcourir.

Pour cela j'ai récupérer un script (dans l'aide de Project) mais qui ne
marche pas.
Voici le script

'Declare a variable as a FileDialog object.
Dim fd As FileDialog

'Create a FileDialog object as a File Picker dialog box.
*** Set fd = Application.FileDialog(filedialogfilepicker) ***

'Declare a variable to contain the path
'of each selected item. Even though the path is a String,
'the variable must be a Variant because For Each...Next
'routines only work with Variants and Objects.
Dim vrtSelectedItem As Variant

'Use a With...End With block to reference the FileDialog object.
With fd

'Use the Show method to display the File Picker dialog box and
return the user's action.
'The user pressed the action button.
If .Show = -1 Then

'Step through each string in the FileDialogSelectedItems
collection.
For Each vrtSelectedItem In .SelectedItems

'vrtSelectedItem is a String that contains the path of each
selected item.
'You can use any file I/O functions that you want to work
with this path.
'This example simply displays the path in a message box.
MsgBox "The path is: " & vrtSelectedItem

Next vrtSelectedItem
'The user pressed Cancel.
Else
End If
End With

'Set the object variable to Nothing.
Set fd = Nothing

Le problème est qu'à chaque fois que je lance ce script je reçoit un message
d'erreur 438 : Propriété ou méthode non géré par cet objet. (pour la ligne
que j'ai marqué par des étoiles)

D'où cela peut il venir ??

Nota : le script fonctionne sous Excel, et malgré le rajout de la
bibliothèque d'excel aux références de project. cela ne marche toujours pas.


Merci d'avance.

5 réponses

Avatar
Gérard Ducouret
Bonsoir,
Il semble effectivement que cet objet n'existe pas dans MS Project. Il faut
donc utiliser celui d'Excel:
Après avoir créé une référence sur Microsoft Excel 12.0 Object Library :
Essaie la variante:
Dim oXL As Excel.Application
Dim fd As Office.FileDialog
Set oXL = New Excel.Application
'Create a FileDialog object as a File Picker dialog box.
Set fd = oXL.FileDialog(msoFileDialogFilePicker)

Cordialement,

Gérard Ducouret
[Project MVP]

"BelgarionDeRiva" a écrit dans
le message de news:
Bonjour,

Je suis en train de me faire une petite interface pour failiter les
impressions sous project. A un moment je veux rajouter un logo, donc j'ai
besoin de créer un bouron parcourir.

Pour cela j'ai récupérer un script (dans l'aide de Project) mais qui ne
marche pas.
Voici le script

'Declare a variable as a FileDialog object.
Dim fd As FileDialog

'Create a FileDialog object as a File Picker dialog box.
*** Set fd = Application.FileDialog(filedialogfilepicker) ***

'Declare a variable to contain the path
'of each selected item. Even though the path is a String,
'the variable must be a Variant because For Each...Next
'routines only work with Variants and Objects.
Dim vrtSelectedItem As Variant

'Use a With...End With block to reference the FileDialog object.
With fd

'Use the Show method to display the File Picker dialog box and
return the user's action.
'The user pressed the action button.
If .Show = -1 Then

'Step through each string in the FileDialogSelectedItems
collection.
For Each vrtSelectedItem In .SelectedItems

'vrtSelectedItem is a String that contains the path of each
selected item.
'You can use any file I/O functions that you want to work
with this path.
'This example simply displays the path in a message box.
MsgBox "The path is: " & vrtSelectedItem

Next vrtSelectedItem
'The user pressed Cancel.
Else
End If
End With

'Set the object variable to Nothing.
Set fd = Nothing

Le problème est qu'à chaque fois que je lance ce script je reçoit un
message
d'erreur 438 : Propriété ou méthode non géré par cet objet. (pour la ligne
que j'ai marqué par des étoiles)

D'où cela peut il venir ??

Nota : le script fonctionne sous Excel, et malgré le rajout de la
bibliothèque d'excel aux références de project. cela ne marche toujours
pas.


Merci d'avance.


Avatar
BelgarionDeRiva
Merci pour la réponse Gérard.

Ton script fonctionne, mais le problème est que une fois le fichier
sélectionné dans la boite de dialogue, quand je clique sur OK, je vois une
page EXcel noir s'afficher que je dois fermer avant d'accéder à la boite de
dialogue....

De plus bien que je comprennes l'esprit de ton script, ce que je ne
comprends pas par contre c'est que cette méthode n'existe pas dans project
2003 : le script que j'ai affiché précédemment provient (j'ai vérifié après)
d'un copié-collé de l'aide de project !!! Alors s'ils mettent dans l'aide des
méthodes qui n'existent pas je ne voit pas comment avancer!!!

Cordialement,

Key

P.S je ne sais pas si cela a un intérêt, mais je n'ai pas la librairie Excel
12.0 mais la 11.0...


"Gérard Ducouret" wrote:

Bonsoir,
Il semble effectivement que cet objet n'existe pas dans MS Project. Il faut
donc utiliser celui d'Excel:
Après avoir créé une référence sur Microsoft Excel 12.0 Object Library :
Essaie la variante:
Dim oXL As Excel.Application
Dim fd As Office.FileDialog
Set oXL = New Excel.Application
'Create a FileDialog object as a File Picker dialog box.
Set fd = oXL.FileDialog(msoFileDialogFilePicker)

Cordialement,

Gérard Ducouret
[Project MVP]



Avatar
Robert
"BelgarionDeRiva" a écrit dans
le message de news:
Merci pour la réponse Gérard.

Ton script fonctionne, mais le problème est que une fois le fichier
sélectionné dans la boite de dialogue, quand je clique sur OK, je vois une
page EXcel noir s'afficher que je dois fermer avant d'accéder à la boite
de
dialogue....

De plus bien que je comprennes l'esprit de ton script, ce que je ne
comprends pas par contre c'est que cette méthode n'existe pas dans project
2003 : le script que j'ai affiché précédemment provient (j'ai vérifié
après)
d'un copié-collé de l'aide de project !!! Alors s'ils mettent dans l'aide
des
méthodes qui n'existent pas je ne voit pas comment avancer!!!

Cordialement,

Key

P.S je ne sais pas si cela a un intérêt, mais je n'ai pas la librairie
Excel
12.0 mais la 11.0...


"Gérard Ducouret" wrote:

Bonsoir,
Il semble effectivement que cet objet n'existe pas dans MS Project. Il
faut
donc utiliser celui d'Excel:
Après avoir créé une référence sur Microsoft Excel 12.0 Object Library :
Essaie la variante:
Dim oXL As Excel.Application
Dim fd As Office.FileDialog
Set oXL = New Excel.Application
'Create a FileDialog object as a File Picker dialog box.
Set fd = oXL.FileDialog(msoFileDialogFilePicker)

Cordialement,

Gérard Ducouret
[Project MVP]






Avatar
Gérard Ducouret
Bonjour,
<je ne sais pas si cela a un intérêt, mais je n'ai pas la librairie Excel
12.0 mais la 11.0...> Aucun problème à priori. Ce qui pourrait compliquer
les choses c'est si ta procédure VBA devait travailler sur plusieurs postes
avec des versions d'Excel différentes. VBA peut déterminer la version
d'Excel mais ce n'est pas simple.
Quant à l'homogénéité entre l'aide en lige et la réalité des fonctions
disponibles, lorsque tu auras un peu plus d'expérience en VBA tu deviendras
plus philosophe :-)

Gérard Ducouret


"BelgarionDeRiva" a écrit dans
le message de news:
Merci pour la réponse Gérard.

Ton script fonctionne, mais le problème est que une fois le fichier
sélectionné dans la boite de dialogue, quand je clique sur OK, je vois une
page EXcel noir s'afficher que je dois fermer avant d'accéder à la boite
de
dialogue....

De plus bien que je comprennes l'esprit de ton script, ce que je ne
comprends pas par contre c'est que cette méthode n'existe pas dans project
2003 : le script que j'ai affiché précédemment provient (j'ai vérifié
après)
d'un copié-collé de l'aide de project !!! Alors s'ils mettent dans l'aide
des
méthodes qui n'existent pas je ne voit pas comment avancer!!!

Cordialement,

Key

P.S je ne sais pas si cela a un intérêt, mais je n'ai pas la librairie
Excel
12.0 mais la 11.0...


"Gérard Ducouret" wrote:

Bonsoir,
Il semble effectivement que cet objet n'existe pas dans MS Project. Il
faut
donc utiliser celui d'Excel:
Après avoir créé une référence sur Microsoft Excel 12.0 Object Library :
Essaie la variante:
Dim oXL As Excel.Application
Dim fd As Office.FileDialog
Set oXL = New Excel.Application
'Create a FileDialog object as a File Picker dialog box.
Set fd = oXL.FileDialog(msoFileDialogFilePicker)

Cordialement,

Gérard Ducouret
[Project MVP]






Avatar
BelgarionDeRiva
Effectivement la procédure va devoir travailler sur des postes différents,
mais "à priori" les versions d'excel sont les mêmes.

Par contre tu ne m'as pas dit si tu voyais une solution à la fenêtre excel
qui s'ouvre ????

Merci d'avance.

Key



"Gérard Ducouret" wrote:

Bonjour,
<je ne sais pas si cela a un intérêt, mais je n'ai pas la librairie Excel
12.0 mais la 11.0...> Aucun problème à priori. Ce qui pourrait compliquer
les choses c'est si ta procédure VBA devait travailler sur plusieurs postes
avec des versions d'Excel différentes. VBA peut déterminer la version
d'Excel mais ce n'est pas simple.
Quant à l'homogénéité entre l'aide en lige et la réalité des fonctions
disponibles, lorsque tu auras un peu plus d'expérience en VBA tu deviendras
plus philosophe :-)

Gérard Ducouret