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 14/02/2011, 09h34   #1
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 111
Points : 11
Points : 11
Par défaut Ouvrir un fichier PowerPoint

Bonjour

J'ai demandé votre aide il y a quelque temps pour un UserForm sous Word.
J'ai eu besoin de faire ouvrir un fichier Excel par le clic sur une image, et il m'a été fourni le code suivant :
Code :
1
2
3
4
5
6
7
8
9
Private Sub Image31_Click()
Dim appXl As Excel.Application
Dim Wb As Excel.Workbook
 
Set appXl = CreateObject("Excel.Application")
appXl.Visible = True
Set Wb = appXl.Workbooks.Open("Y:\IMT\Exploitation\Station Centrales Telesurveillance\Service\Dossier Formation\9-MATMUT Protection Juridique\nom du fichier")
'.....
End Sub
Je souhaite le même code mais pour ouvrir un fichier PowerPoint ... et je n'arrive pas à modifier mon code ci-dessus pour l'adapter.

Si vous pouvez m'aider... merci d'avance
vbword est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 10h01   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 321
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 321
Points : 29 219
Points : 29 219
Salut,

Le principe reste le même, on déclare un objet application, on lui affecte une application et on ouvre une présentation.



Code :
1
2
3
4
Dim pptApp As PowerPoint.Application
 
Set pptApp = New PowerPoint.Application
pptApp.Presentations.Open "monchemin"
__________________
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 14/02/2011, 10h58   #3
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 111
Points : 11
Points : 11
Marche pô

J'ai repris ton code et adapté au mien, et il me met systématiquement le message d'erreur " Erreur de compilation dans le module caché : frmUserForm1 "

------------------------------------------------------------
En enlevant la sécurité d'accès, il me met le message suivant " Type défini par l'utilisateur non défini ", et voici mon code :
Code :
1
2
3
4
5
6
7
8
9
Private Sub Image32_Click()
Dim appPpt As PowerPoint.Application
Dim Wb As PowerPoint.Workbook
 
Set appPpt = CreateObject("PowerPoint.Application")
appPpt.Visible = True
Set Wb = appPpt.Workbooks.Open("Y:\IMT\Exploitation\Station Centrales Telesurveillance\Service\Dossier Formation\9-MATMUT Protection Juridique\Présentation procédure.ppt")
'.....
End Sub
ou comme m'a donné Heureux-oli
Code :
1
2
3
4
5
6
7
Private Sub Image32_Click()
Dim pptApp As PowerPoint.Application
 
Set pptApp = New PowerPoint.Application
pptApp.Presentations.Open "Y:\IMT\Exploitation\Station Centrales Telesurveillance\Service\Dossier Formation\9-MATMUT Protection Juridique\Présentation procédure.ppt"
'.....
End Sub
vbword est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 17h50   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 321
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 321
Points : 29 219
Points : 29 219
Salut,

Il faut ajouter la référence Microsoft PowerPoint au projet.
__________________
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 15/02/2011, 13h28   #5
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 111
Points : 11
Points : 11
Salut et merci pour ta réponse.

Citation:
Envoyé par Heureux-oli Voir le message
Il faut ajouter la référence Microsoft PowerPoint au projet.
Je ne comprend pas ce que tu veux dire

Mais pour ce formulaire, j'ai déjà la demande d'ouverture pour un fichier Excel sans avoir fait quoi que se soit de plus et ça fonctionne sans problème.
Et quand je veux adapter le code pour mon fichier Excel pour l'ouverture de mon fichier PowerPoint, ça marche plus ...
vbword est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 13h52   #6
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 321
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 321
Points : 29 219
Points : 29 219
Salut,

Pour pouvoir profiter de l'intellisense, il faut travailler en Earlybinding et on déclare la bibliothèque utilisée dans les références du projet.
de cette manière, lorsque l'on tape le code, VBE propose la bonne syntaxe.

Mais c'est une question de goût !
__________________
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 15/02/2011, 14h43   #7
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 111
Points : 11
Points : 11
Oula, ça devient trop technique pour moi ...

Là en fait mon besoin est juste comme suit : un clic sur l'image permet d'ouvrir un document PPt éxistant.

Bon c'est pas grave, je vais me passer de ce besoin
vbword est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 15h52   #8
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 321
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 321
Points : 29 219
Points : 29 219
Salut,

Qu'est ce qui t'empèche de déclarer la bibliothèque dans ton projet ?

Outils => références => Microsoft PowerPoint

tu écris ton code et ensuite, si c'est ton souhait de redéclarer des objets, il suffit lorsque ton code est terminé et fonctionnel de le modifier.

Code :
Dim pptApp as PowerPoint.Application
devient

__________________
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 15/02/2011, 16h33   #9
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 111
Points : 11
Points : 11
Merci pour ton aide ... mais ça marche toujours pas.
J'ai bien fais comme tu m'a dis, déclarer dans Outils/Références
Ensuite voici le code que je saisi :
Code :
1
2
3
4
5
6
7
Private Sub Image32_Click()
Dim pptApp As Object
 
Set pptApp = CreateObject("PowerPoint.Application")
pptApp.Presentations.Open "K:\Ateliers\Matmut Protection Juridique\PPT\ppt_prestation PMA_février 2011_correction.pps"
'.....
End Sub
ou
Code :
1
2
3
4
5
6
7
Private Sub Image32_Click()
Dim pptApp as PowerPoint.Application
 
Set pptApp = CreateObject("PowerPoint.Application")
pptApp.Presentations.Open "K:\Ateliers\Matmut Protection Juridique\PPT\ppt_prestation PMA_février 2011_correction.pps"
'.....
End Sub
Il me met maintenant le message d'erreur suivant : en pièce jointe
Images attachées
Type de fichier : jpg Sans titre.jpg (12,6 Ko, 3 affichages)
vbword est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 17h43   #10
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 321
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 321
Points : 29 219
Points : 29 219
Salut,

Heuuuuu

Aucun des deux codes que tu postes ne ressemble à ce lui que j'ai mis.
Tu mixes les méthodes.

Code :
1
2
3
4
5
Dim pptApp as PowerPoint.Application
 
Set pptApp = New PowerPoint.Application
 
pptApp......
__________________
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 15/02/2011, 18h18   #11
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 111
Points : 11
Points : 11
Voilà ce que je saisi et toujours rien, toujours le message d'erreur :
Code :
1
2
3
4
5
6
7
8
Private Sub Image32_Click()
Dim pptApp As PowerPoint.Application
 
Set pptApp = New PowerPoint.Application
 
pptApp.Presentations.Open "K:\Ateliers\Matmut Protection Juridique\PPT\ppt_prestation PMA_février 2011_correction.ppt"
'.....
End Sub
vbword est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 17h25   #12
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 111
Points : 11
Points : 11
Bon ... j'ai trouvé ceci
Code :
1
2
3
4
5
6
Private Sub Image32_Click()
Dim pptApp As PowerPoint.Application
Set pptApp = CreateObject("PowerPoint.application")
pptApp.Visible = True
Set PPTDoc = PPTApp.Presentations.Open (K:\Ateliers\Matmut Protection Juridique\PPT\ppt_prestation PMA_février 2011_correction.ppt)
End Sub
Mais j'ai maintenant un message du débogueur Erreur de compilation qui me dit " Erreur de syntaxe " ou " Attendu : séparateur de liste ou ) " en désignant les : derrière le lecteur K pour le chemin
vbword est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 18h05   #13
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 321
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 321
Points : 29 219
Points : 29 219
Salut,

Ce code fonctionne chez moi sans aucun problème et j'ai juste appliqué ce que j'ai écrit dans mon premier message.

Code :
1
2
3
4
5
6
7
8
 
Dim pptApp As PowerPoint.Application
 
 
Set pptApp = New PowerPoint.Application
pptApp.Presentations.Open "c:\temp\avions.pptx"
 
pptApp.Visible = True
__________________
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 23/02/2011, 20h01   #14
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 111
Points : 11
Points : 11
Alors là ... j'comprend pas ...
Je fais un copier/coller de ton code, et je change juste le chemin d'accès ... et toujours le même message d'erreur
vbword est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 21h49   #15
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 321
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 321
Points : 29 219
Points : 29 219
Salut,

As-tu bien mis les " de chaque côté du chemin ?

Chez moi, le code tourne à merveille.
__________________
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 08/03/2011, 15h07   #16
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 111
Points : 11
Points : 11
Citation:
Envoyé par Heureux-oli Voir le message
Salut,

As-tu bien mis les " de chaque côté du chemin ?

Chez moi, le code tourne à merveille.
Bonjour ... pardon pour la réponse tardive.
Oui j'ai repris ton code en changeant juste le chemin d'accès et toujours rien.
Je me permet de mettre le formulaire en pièce jointe, au cas où.

Le besoin est pour l'image Image32 (logo PPS et le texte Présentation procédure en dessous)
Si besoin de vérifier les Références-Project dans Outils, le mot de passe est station

Merci quand même
vbword est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 18h14   #17
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 321
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 321
Points : 29 219
Points : 29 219
Salut,

T'as mis où le code pour PPT ?
__________________
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 09/03/2011, 09h50   #18
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 111
Points : 11
Points : 11
Citation:
Envoyé par Heureux-oli Voir le message
Salut,

T'as mis où le code pour PPT ?
Oups ... j'ai dû mettre la version sans le code mille excuses
Je l'ai supprimé et remis en pièce jointe
Fichiers attachés
Type de fichier : doc Macro - Fiche d'appel Matmut Protection Juridique.doc (214,5 Ko, 5 affichages)
vbword est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 23h09   #19
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonsoir.

Dans ton message du 23/02, tu donnes le code
Code :
1
2
3
4
5
6
Private Sub Image32_Click()
Dim pptApp As PowerPoint.Application
Set pptApp = CreateObject("PowerPoint.application")
pptApp.Visible = True
Set PPTDoc = PPTApp.Presentations.Open (K:\Ateliers\Matmut Protection Juridique\PPT\ppt_prestation PMA_février 2011_correction.ppt)
End Sub
Tu as un espace entre Open et la parenthèse, et le chemin n'est pas entre double quotes.
Je pense que si tu avais suivi les recomandation d'Heureux-oli, tu aurais plutôt écrit
Code :
1
2
3
4
5
6
7
8
Private Sub Image32_Click()
Dim pptApp As PowerPoint.Application
Dim PPTDoc as PowerPoint.Presentation
 
Set pptApp = New PowerPoint.Application
'pptApp.Visible = True
Set PPTDoc = PPTApp.Presentations.Open("K:\Ateliers\Matmut Protection Juridique\PPT\ppt_prestation PMA_février 2011_correction.ppt")
End Sub
Cordialement,

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/03/2011, 13h43   #20
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 111
Points : 11
Points : 11
OK ... sauf qu'en faisant un copier/coller de TON code, le débogueur me dit toujours qu'il y a un problème dans la ligne où se trouve le lien ... et j'ai toujours le même message d'erreur ... !!!
vbword 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 10h25.


 
 
 
 
Partenaires

Hébergement Web