Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[résolu] lancer un pptm par macro

  • Initiateur de la discussion Initiateur de la discussion clichy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

clichy

XLDnaute Junior
bonjour à tous,

j'utilise une macro pour lancer un pptm qui marche bien
cependant quand je veux apporter une variable elle me signale que le chemin du fichier n'est pas valide alors que tt est identique.

Code:
Sub LancerPPT()
'
Dim ANIMATEUR As String
ANIMATEUR = Sheets("DATA MACRO").Range("B3")
Dim DOSSIER1 As String
DOSSIER1 = Sheets("DATA MACRO").Range("b10")
Dim DOSSIERPPT As String
DOSSIERPPT = Sheets("DATA MACRO").Range("B7").Value

 ActiveWorkbook.Save
 Dim Cible
  Cible = Shell("POWERPNT.EXE ""C:\Users\" & ANIMATEUR & ".GLF\" & "Documents\lynx stats\Présentation statistiques_VIERGE.pptm""", 1)
  'Cible = Shell("POWERPNT.EXE ""DOSSIERPPT""", 1)
  'Cible = Shell("POWERPNT.EXE ""DOSSIER1 & "lynx stats\Présentation statistiques_VIERGE.pptm""", 1)
  End Sub


les 2 lignes avec ' ne fonctionne pas alors que le chemin dans les cellules est coorect

pouvez vous m'aider?
 
Dernière édition:
Re : lancer un pptm par macro

Bonjour à tous

EDITION: sinon pour ouvrir un ppt, il y a plus simple 😉 (voici deux possibiltés)
(adapte le nom du fichier donc la référence de la cellule etc...)
[TABLE="width: 245"]
[TR]
[TD]
Code:
Sub lanceppt()
Dim chemin$, fppt$
chemin = "C:\temp\"
fppt = Range("A1").Text
ActiveWorkbook.FollowHyperlink chemin & fppt
End Sub
[/TD]
[TD]
Code:
Sub lanceppt2()
Dim wsSh As Object
Dimchemin$ , fppt$
Set wsSh = CreateObject("WScript.Shell")
chemin = "C:\Temp\": fppt = Range("A1").Text
wsSh.Run chemin & fppt
End Sub
[/TD]
[/TR]
[/TABLE]

Pour tester ton code, utilises des MsgBox (cela permet de vérifier tes variables)
Code:
Sub LancerPPT()
Dim ANIMATEUR As String
ANIMATEUR = Sheets("DATA MACRO").Range("B3")
Dim DOSSIER1 As String
DOSSIER1 = Sheets("DATA MACRO").Range("b10")
MsgBox DOSSIER1
Dim DOSSIERPPT As String
DOSSIERPPT = Sheets("DATA MACRO").Range("B7").Value
MsgBox DOSSIERPPT
'Qu'affiche les deux Msgox?
 'ActiveWorkbook.Save
 'Dim Cible
  'Cible = Shell("POWERPNT.EXE ""C:\Users\" & ANIMATEUR & ".GLF\"  & "Documents\lynx stats\Présentation 'statistiques_VIERGE.pptm""",  1)
  'Cible = Shell("POWERPNT.EXE ""DOSSIERPPT""", 1)
  'Cible = Shell("POWERPNT.EXE ""DOSSIER1 & "lynx stats\Présentation statistiques_VIERGE.pptm""", 1)
  End Sub
 
Dernière édition:
Re : lancer un pptm par macro

Je vais regarder ca

pour ta soluce 1, il me semble que ça lance le ppt, or moi, je veux l'ouvrir
pour la soluce 2 je vais voir
pour les msgbix, c'est une bonne idée que je repéterai sans modération qd je bute sur un pb.


je te remercie pour ton aide
 
Re : lancer un pptm par macro

Re

Pour le lancer, il faut d'abord l'ouvrir, non ?
Toi, tu veux simplement ouvrir le ppt sans lancer le diaporama ?
Or si je corrige la syntaxe de ton code original, le résultat est le même que mes deux macros, non ?
Code:
Sub codecorrigé()
Dim chemin$, fppt$
chemin = "C:\temp\"
fppt = Range("A1").Text
cible = Shell("POWERPNT.EXE " & chemin & fppt, 1)
End Sub

EDITION: Comme disait ce bon vieux René: Dubito, ergo cogito, ergo sum.
Mieux vaut "dubiter" que crédulité, non ?
 
Dernière édition:
Re : lancer un pptm par macro

Re bonjour à tous.

la solution de staple1600 fonctionne s'il n'y a pas d'espace dans le chemin complet du fichier pptm à ouvrir.
comment faire pour pouvoir intégrer des espaces?

je vous remercie
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…