Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/12/2007, 17h47   #1
Invité régulier
 
Inscription : décembre 2007
Messages : 34
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : décembre 2007
Messages : 34
Points : 6
Points : 6
Par défaut Fenetre parcourir dossier

Bonjour à tous,

Nouvel utilisateur de VBA sous Word, j'ai besoin d'ouvrir une fenêtre pour parcourir mes dossiers et ainsi sélectionner une image à insérer. J'ai cherché mais sans succès sur le forum.

Quelqu'un pourrait-il m'aiguiller pour mes recherches?

Merci.
spad22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2007, 18h36   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Essaie avec

Code :
Application.FileDalog(FileDialogType:=msoFileDialogOpen)
Ou encore

Code :
Application.FileDialog(FileDialogType:=msoFileDialogFilePicker)
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 14h49   #3
Invité régulier
 
Inscription : décembre 2007
Messages : 34
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : décembre 2007
Messages : 34
Points : 6
Points : 6
J'ai oublié de préciser que j'utilisais Word 2000, autant pour moi...

Le code que tu m'as laissé ne semble pas exister sous Word 2000.
Existe t'il un équivalent pour cette version?

Merci pour votre aide.
spad22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 15h46   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
C'est une bonne question, J'utilise 2003 et 2007, mais pas 2000.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 15h59   #5
Invité régulier
 
Inscription : décembre 2007
Messages : 34
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : décembre 2007
Messages : 34
Points : 6
Points : 6
Dommage, snif snif

Si quelqu'un a une idée je suis preneur!

Bon réveillon à tous!
spad22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 16h20   #6
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Je viens d'essayer avec 97
Code :
1
2
3
4
5
6
Sub Test()
Dim a As String
a = Dialogs(wdDialogFileOpen).Display
 
 
End Sub
En espérant que ça puisse t'aider?
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 09h33   #7
Invité régulier
 
Inscription : décembre 2007
Messages : 34
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : décembre 2007
Messages : 34
Points : 6
Points : 6
Merci pour le code.

Malheureusement ce code permet d'ouvrir l'explorateur de fichiers, mais il ne permet que d'ouvrir des documents de type texte. Ce qu'il me faudrait c'est le même type de fenêtre mais au lieu de "ouvrir" il faudrait avoir "insérer une image".

J'ai tenté d'adapter le code en remplaçant File par Image, Img mais ça n'existe pas...

Je reste à votre écoute si vous avez une idée.
spad22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 10h05   #8
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Il faut pour que ça fonctionne utiliser les extensions des fichiers, ou autoriser toutes les extension.

Essaie de voir avec dans le code.


Pour une image, essaie ceci

Code :
1
2
3
4
5
6
7
8
Sub test()
Dim a As String
 
 
a = Dialogs(wdDialogInsertPicture).Display
 
 
End Sub
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 10h15   #9
Invité régulier
 
Inscription : décembre 2007
Messages : 34
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : décembre 2007
Messages : 34
Points : 6
Points : 6
Génial!

Je n'ai pas testé la première méthode car la fenêtre qui s'ouvre propose ouvrir le document. Donc même si j'autorise d'autres extensions ça n'insérera pas l'image.

En revanche la 2ème m'ouvre exactement la fenêtre que je cherchais. Il me reste encore à trouver comment récupérer le chemin du fichier sélectionné pour insérer l'image.

Je laisse donc le sujet non résolu pour l'instant.

Encore merci pour votre aide et puis j'oubliais, meilleurs voeux à tous!
spad22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 11h09   #10
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
il n'est pas dans a ?

Essaie un
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 11h24   #11
Invité régulier
 
Inscription : décembre 2007
Messages : 34
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : décembre 2007
Messages : 34
Points : 6
Points : 6
Malheureusement a vaut -1
J'ai remarqué qu'au moment où je clique sur le fichier que je souhaite ajouter, son nom ne se copie pas dans la case "Nom du fichier", sous l'explorateur.

J'ai trouvé un autre morceau de code sur le net mais aucune différence

Code :
1
2
3
4
5
Dim a As String
a = Dialogs(wdDialogInsertPicture).Display
Dim strFileName As String
strFileName = Dialogs(wdDialogInsertPicture).Name
ActiveDocument.InlineShapes.AddPicture strFileName
Dans ce cas, j'obtiens une erreur d'exécution 5152, nom de fichier invalide. Quand je regarde la valeur de strFileName après avoir cliqué sur le fichier à inserer, il est vide!
Là, je suis perdu...
spad22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 11h38   #12
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Je ne trouve pas comment récupérer la valeur du dialog.
Il semblerait qu'on ne puisse que l'afficher.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 11h47   #13
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 922
Points : 30 922
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Et en passant avec les API par ce code de la FAQ Access Afficher la boîte de dialogue ouvrir afin de récupérer le nom et le chemin du fichier sélectionné

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 11h47   #14
Invité régulier
 
Inscription : décembre 2007
Messages : 34
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : décembre 2007
Messages : 34
Points : 6
Points : 6
Citation:
Envoyé par Heureux-oli Voir le message
Je ne trouve pas comment récupérer la valeur du dialog.
Il semblerait qu'on ne puisse que l'afficher.
D'après ce que j'ai pu trouver, on a le .Display pour afficher la fenêtre et le .Name qui permet de récupérer le nom du fichier choisi.

Je pense que le problème vient plutôt du fait qu'en sélectionnant le fichier son nom ne s'affiche pas dans la case "nom du fichier". En même temps je n'y connais rien mais le code que j'ai trouvé semble fonctionner pour ceux qui l'ont utilisé. J'ajoute l'url du post que j'ai trouvé : http://www.mcse.ms/message668131.html
spad22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 11h56   #15
Invité régulier
 
Inscription : décembre 2007
Messages : 34
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : décembre 2007
Messages : 34
Points : 6
Points : 6
Citation:
Envoyé par Starec Voir le message
Bonjour

Et en passant avec les API par ce code de la FAQ Access Afficher la boîte de dialogue ouvrir afin de récupérer le nom et le chemin du fichier sélectionné

Starec
Bonjour et merci pour ton message. Par contre, je suis vraiment débutant en VBA et j'ai du mal à comprendre tout ce qui est sur ton lien.
Du coup ça ne m'aide pas trop, peux tu essayer de m'aiguiller vers la partie qui peut me concerner?
Merci
spad22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 11h59   #16
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Citation:
Envoyé par Starec Voir le message
Bonjour

Et en passant avec les API par ce code de la FAQ Access Afficher la boîte de dialogue ouvrir afin de récupérer le nom et le chemin du fichier sélectionné

Starec
J'avais cherché au niveau du FSO, mais pas là !
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 12h06   #17
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 922
Points : 30 922
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Re

Je penses que c'est le meilleur moyen, et cela permet de fonctionner de Word 2000 à 2003 et sûrement 2007.

spad22

Il faut copier l'ensemble du code dans un module, et utiliser la fonction pour récupérer le chemin du fichier.

Il suffit de suivre les indications dans le lien.

Je t'avoue que je ne l'ai jamais utilisé sous Word, je ne suis pas un spécialiste (c'est Heureux-Oli le pros en VBA sous Word), mais sous Access et Excel cela fonctionne parfaitement.

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 12h24   #18
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Elle ne tourne pas sous 97, le VBA ne permet pas l'utilisation de Me.Hwnd, je ne parviens pas à utiliser la Handle.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 12h28   #19
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 922
Points : 30 922
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Citation:
Envoyé par Heureux-oli Voir le message
Elle ne tourne pas sous 97, le VBA ne permet pas l'utilisation de Me.Hwnd, je ne parviens pas à utiliser la Handle.
Et avec
Code :
Application.hWndAccessApp
à la place de Me.Hwnd ?

Je ne savais pas que tu avais la version 97

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 12h47   #20
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Citation:
Envoyé par Starec Voir le message
Et avec
Code :
Application.hWndAccessApp
à la place de Me.Hwnd ?

Je ne savais pas que tu avais la version 97

Starec
Durdur, à mon avis, je suis toujours au réveillon.

C'est pour 2000 et moi j'ai juste essayé avec 97.

Désolé.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h53.


 
 
 
 
Partenaires

Hébergement Web