Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème de fermeture de powerpoint via VBA Excel [ Archives Visual Basic / VBA ] (steed12)

jeudi 29 décembre 2005 à 10:34:50 | Problème de fermeture de powerpoint via VBA Excel

steed12

Voilà, je crée un fichier powerpoint avec d'autre powerpoint depuis excel mais le problème est que lorsque tout est fini je lui demande deme fermer powerpoint et ensuite de m'afficher un texte box. Mais impossible car il m'affiche le texte box avant la fermeture ce qui fait qu'on ne le voie pas dirrectement il faut cliquer sur excel puis validé le texte box pour que powerpoint ce ferme. Si quelqu'un c'est pourquoi ? merci d'avance, voici le code de ma macro : Sub generateurppt() 'definition du chemin vers le repertoire des modules Dim chemin As String Dim cheminmodule As String chemin = ActiveWorkbook.Path & "\suport_formation.ppt" cheminmodule = ActiveWorkbook.Path & "\modules\" Dim passage As String Dim ouvert As String Dim temps(1 To 300, 1 To 2) As String Dim nbmodule As Double nbmodule = 0 For i = 1 To 3000 If UCase(Range("B" & i)) = "X" Then nbmodulde = nbmodulde + 1 temps(nbmodulde, 1) = nbmodulde temps(nbmodulde, 2) = Range("c" & i) Else End If Next i If nbmodulde = 0 Then MsgBox ("Merci de selectionner au moins un module.") Beep Else Dim ppt As Object Dim Pres As Object Set ppt = CreateObject("PowerPoint.Application") ppt.Visible = True ' Indispensable, sinon il ne peut pas ouvrir de fichier (Erreur) ' On crée maintenant un objet Presentation Set Pres = ppt.Presentations.Open(Filename:=cheminmodule & temps(1, 2) & ".ppt") Dim fingeneral As Double Dim curentfin As Double For i = 2 To nbmodulde With ppt.ActivePresentation fingeneral = .Slides.Count End With Set bob = ppt.Presentations.Open(Filename:=cheminmodule & temps(i, 2) & ".ppt") With ppt.ActivePresentation curentfin = .Slides.Count End With bob.Close ppt.ActivePresentation.Slides.InsertFromFile _ cheminmodule & temps(i, 2) & ".ppt", fingeneral, 1, curentfin Next i ppt.ActivePresentation.SaveAs Filename:=chemin ppt.ActivePresentation.Close ppt.Quit 'fermer powerpoint MsgBox ("Votre fichier de formation est diponnible à cette adresse : " & chemin) End If End Sub

jeudi 29 décembre 2005 à 11:14:51 | Re : Problème de fermeture de powerpoint via VBA Excel

69chris

Salut,

Je suis pas un pro VBA mais je pense à
.DisplayAlerts = False
Enfin pour toi c'est
   ppt.DispayAlerts = False
En plus, si tu a erreur à l'ouverture du fichier, y a pas de message donc pas besoin d'afficher PowerPoint. Faut juste vérifier que le fichier existe avant de l'ouvrir.

Chris


N'oubliez pas de cloturer votre post.

jeudi 29 décembre 2005 à 11:17:07 | Re : Problème de fermeture de powerpoint via VBA Excel

chapata

Hi,

essai le ppt.visible = true ou le ppt.activate = true ...
je suis pas sur que cela fonctionne ... mais qui ne tente à rien n'a rien (lol)

ChaPaTa


jeudi 29 décembre 2005 à 13:50:21 | Re : Problème de fermeture de powerpoint via VBA Excel

steed12

En fait je me suis peut etre mal exprimer, je veux fermer powerpoint puis lancer un message box.

jeudi 29 décembre 2005 à 14:05:57 | Re : Problème de fermeture de powerpoint via VBA Excel

chapata

Réponse acceptée !
Salut Steed12 ...

Attends ton programme est dans Excel ... je l'ai testé ... il ouvre et rend visible PPT suivant le choix du module (j'ai ouvert une présentation vierge pour ne pas que ça beug)
après tu fais ..

ppt.ActivePresentation.Close
ppt.Quit 'fermer powerpoint

MsgBox ("Votre fichier de formation est diponnible à cette adresse : " & chemin)

J'ai bien PPT qui se ferme et mon message Excel après ... pour moi pas de prob.
Fais un excel.application.visible=true avant ta fermeture de PPT ... peut-être que cela va marché. Mais comme je te l'ai dis chez moi ca suis bien l'ordre que tu as pré-défini.

ChaPaTa


jeudi 29 décembre 2005 à 14:09:08 | Re : Problème de fermeture de powerpoint via VBA Excel

69chris

Réponse acceptée !
Tout d'abord, désolé, j'avais pas testé et vu le Pb. Je pensais que PowerPoint affichais une fenêtre de dialogue et que c'est elle qui empéchais la fermeture.
Donc, après un petit essai, voici ma conclusion.
Transforme ta Sub en Function qui renvoi le "chemin". Et fais une sub qui appelle cette fonction.
Pour faire simple, comme ça.

Function generateurppt() As String

'definition du chemin vers le repertoire des modules
Dim chemin As String
Dim cheminmodule As String
chemin = ActiveWorkbook.Path & "\suport_formation.ppt"
cheminmodule = ActiveWorkbook.Path & "\modules\"
Dim passage As String
Dim ouvert As String

Dim temps(1 To 300, 1 To 2) As String
Dim nbmodule As Double
nbmodule = 0
For i = 1 To 3000
If UCase(Range("B" & i)) = "X" Then
nbmodulde = nbmodulde + 1
temps(nbmodulde, 1) = nbmodulde
temps(nbmodulde, 2) = Range("c" & i)
Else
End If

Next i

If nbmodulde = 0 Then

MsgBox ("Merci de selectionner au moins un module.")
Beep
Else

Dim ppt As Object
Dim Pres As Object
    Set ppt = CreateObject("PowerPoint.Application")
 
  ppt.Visible = True ' Indispensable, sinon il ne peut pas ouvrir de fichier (Erreur)
  ' On crée maintenant un objet Presentation
 
    Set Pres = ppt.Presentations.Open(Filename:=cheminmodule & temps(1, 2) & ".ppt")
   
   
Dim fingeneral As Double
Dim curentfin As Double
    For i = 2 To nbmodulde
    With ppt.ActivePresentation
    fingeneral = .Slides.Count
    End With
   
   
    Set bob = ppt.Presentations.Open(Filename:=cheminmodule & temps(i, 2) & ".ppt")
    With ppt.ActivePresentation
    curentfin = .Slides.Count
    End With
    bob.Close
   
ppt.ActivePresentation.Slides.InsertFromFile _
    cheminmodule & temps(i, 2) & ".ppt", fingeneral, 1, curentfin

Next i
ppt.ActivePresentation.SaveAs Filename:=chemin
ppt.ActivePresentation.Close
ppt.Quit 'fermer powerpoint

End If

End Function

Sub AppelGenerateur()
   
    MsgBox ("Votre fichier de formation est diponnible à cette adresse : " & generateurppt())
End Sub

PowerPoint se ferme en premier.


Chris


N'oubliez pas de cloturer votre post.



Cette discussion est classé dans : temps, chemin, powerpoint, ppt, nbmodulde


Répondre à ce message

Sujets en rapport avec ce message

vba et powerpoint [ par barthos2003 ] bloublouBonjour,Je voudrais pouvoir gerer precisement le temps de presentation d'un element graphique sous powerpoint (par exemple afficher un carré a Faire un collage spécial image dans powerpoint depuis excel [ par Mr Smoking ] Bonjour à tous !J'essaye de faire une macro qui permettrait d'exporter un classeur excel vers une présentation power point.J'arrive à basculer d'XL à Estimation de temps [ par GrandGarfield ] Bonjour,dans le cadre de mon travail, il me serait pratique de réaliser quelques automatisations entre applications ( esentiellement excel et powerpoi interaction entre excel et powerpoint [ par steed12 ] Bonjour à tous, voila je cherche à ouvrire un document powerpoint depuis excel puis à lui inséré un autre powerpoint dedans. Pour le moment j'arrive à Dijkstra en temps reel [ par argentin7 ] bonjour a toute la communauté VBFRANCE   je cherche le chemin le plus court a l'aide de l'algorithme de Dijkstra et je veux savoir SVP comment faire cacher un slide powerpoint sous vbs [ par Hermios ] Salut à tous,Alors promis, j'ai cherché, mais rien à faire, je n'ai rein trouvé :Je souhaite créer un script vbs qui me permettrait de cacher ou affic Commander Acrobat depuis Powerpoint [ par lezardjet ] Bonjour,Je souhaite pouvoir ouvrir une page particuliere d'un document PDF. Je n'arrive pas depuis powerpoint alors que depuis IE en tapant chemin\mon Powerpoint [ par patsonk ] Salut,j'ai un probleme de debutant. je dois au fait inserer un slide d'un fichier powerpoint dans un autre fichier powerpointj'ai utiliser la fonction Probleme application power point dans excel [ par steph3147 ] Bonjour,J'essaie de faire quelques opérations dans power point à partir de données collectées dans excel.Cependant lorsque j'exécute la macro depuis e Masquer PowerPoint [ par couze2003 ] Bonjour,Je veux ouvrir PowerPoint via la DLL en VB6.Pas de problème.MAis pour des raisons qui sont longues a expliquer je voudrais que dans un premier


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.