Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint

Réponse
 
Outils de la discussion
Vieux 07/07/2008, 11h32   #1 (permalink)
Invité régulier
 
Date d'inscription: juillet 2008
Localisation: Haute Normandie
Âge: 19
Messages: 19
Par défaut VB au démarrage d'un ppt

Salut tout le monde,

Voila je suis actuellement en plein projet, et j'aurai besoin qu'à l'ouverture d'un ppt, ce ppt execute une macro pour envoyer une requête par mon COM1, cette partie je l'ai déjà rédigé pour l'envoi de la requête.

Pour la simuler j'ai utilisé une textbox qui lorsqu'elle change, envoi ma requête.

Mais je ne trouve pas la fonction qui me permettra d'executé ma feuille, contenant le programme d'envoi de ma requête, au démarrage du ppt.

Quelqu'un pourrait m'indiquer comment la réaliser.

Bartras.
bartras est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/07/2008, 12h52   #2 (permalink)
Rédacteur/Modérateur
 
Avatar de ProgElecT
 
Date d'inscription: décembre 2004
Localisation: Haute Savoie
Âge: 52
Messages: 1 500
Envoyer un message via MSN à ProgElecT
Par défaut

Bonjour, bien venue sur dVP;

ppt ?, desolé je ne comprend pas, pour le reste (mais cela depant grandement de ppt) dans Form_Load() peut être, qui n'est pas une fonction mais une procedure.
__________________
ProgElecT

Il est souvant plus rapide de trouver la reponse à un probleme par soit même, dans votre éditeur VB, F2/F1, et sur DVP en passant par le TUTO VB6/VBA/VBScript ou Vos contributions VB6 ou Recherche dans ce forum

Voir aussi des petits bouts de codes dans ma page de contribution sur DVP

S’il vous plait, les MPs techniques à mon intention ne doivent être qu’exceptionnels.
Soyez sympa, penser au tag ou tenir au courant des problemes qui ne permettent pas de l'utiliser.
ProgElecT est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/07/2008, 13h08   #3 (permalink)
Invité régulier
 
Date d'inscription: juillet 2008
Localisation: Haute Normandie
Âge: 19
Messages: 19
Par défaut

ppt signifie powerpoint, à vrai dire je ne suis pas un crac en vb, la majorité de mon programme a été réalisé par un collégue.
Je me suis contenté de modifié les trames à envoyé.

Mais pour plus de clarté je vais schématiser ce que fait le programme :

J'ai crée une commandbutton, qui renvoi a une feuille UserForm.show, à l'intérieur il y a une fenêtre avec un icone de petit téléphone (ce que mon collégue a réalisé) qui renvoi à la page MSComm1 et l'envoi de la requête.
Donc pour l'envoi de ma requête il me faut appuyé sur le bouton dans le diaporama.

Mais ce qu'il me faudrait, c'est qu'à la lecture de la page où ce trouve le bouton la requête soit envoyé automatiquement.
Donc s'il existe un moyen qui fait qu'à la lecture de la page il y est l'activation du UserForm.show j'aimerai que l'on m'explique comment le réaliser.

Merci beaucoup.
bartras est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/07/2008, 15h32   #4 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 821
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Bonjour


On va procéder par étape, car ce n'est pas si évident que cela.

Créer un module de classe (et non un module standard), et le nommer EventClassModule
A l'intérieur, colle le code suivant :
Code :
Option Explicit
 
Public WithEvents App As Application
 
Private Sub App_SlideShowBegin(ByVal Wn As SlideShowWindow)
    MsgBox "coucou"
End Sub
Ensuite, crée un module standard, et colles y le code suivant :
Code :
Option Explicit
 
 
Dim X As New EventClassModule
Sub InitializeApp()
    Set X.App = Application
End Sub
Maintenant à suivre scrupuleusement :

Positionnes le curseur sur la ligne
Code :
Set X.App = Application
Appuis sur F5
Enregistres
Passes dans ton PowerPoint
Appuis sur F5 (ce qui l'enclenche), déroules ton diaporama normalement jusqu'à la fin.
Retour dans PowerPoint
Enregistres ton diaporama au format pps.


Sinon tu trouveras d'autres discussions sur le même thème dans le forum VBA PowerPoint.
Starec
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/07/2008, 16h23   #5 (permalink)
Invité régulier
 
Date d'inscription: juillet 2008
Localisation: Haute Normandie
Âge: 19
Messages: 19
Par défaut

Merci pour ton aide, cela fonctionne bien.

Par contre, je me suis aperçu que j'allais devoir utiliser une entrée USB.
Lorsque j'envoi la requête en changeant le port com sur laquelle envoyé, j'ai le débogage qui s'affiche et me renvoi sur cette ligne :

Code :
Select Case ObjectMsComm.CommEvent
Alors je pensais que c'est parce que je passe par un port usb?
Lorsque j'enléve toute la partie sur les événements la requête fonctionne mais rien ne se passe à la réception.

D'où peut provenir le problème?

Merci de votre aide.

Dernière modification par Philippe JOCHMANS ; 07/07/2008 à 16h23 Motif: Ajout des balises codes (sélection du code + #), ce n'est pas facultatif
bartras est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/07/2008, 16h25   #6 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 821
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Re

Là ce n'est plus un problème PPT, je te conseille de poser ton problème sur le forum Général VBA et de cliquer sur cette discussion.

Starec
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/07/2008, 10h25   #7 (permalink)
Invité régulier
 
Date d'inscription: juillet 2008
Localisation: Haute Normandie
Âge: 19
Messages: 19
Par défaut

Bon en fait ça ne fonctionne pas si bien que cela

Lorsque je fais ta manip' en remplaçant le msgbox par ma feuille userform1, j'appuie sur F5 enregistre puis retour dans mon ppt appuie sur F5 il me lance bien l'application, je l'enregistre en pps, le pps fonctionne seulement lorsque mon ppt est encore ouvert.

Dès que je ferme mon ppt il oublie l'enregistrement de l'application et redevient comme avant.

En fait ce qu'il me faudrait:

C'est la visionneuse powerpoint qui vient lire mon ppt dans mon projet. Et il faudrait qu'en le visionnant il execute ma feuille UserForm1.

Merci.
bartras est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/07/2008, 17h24   #8 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 821
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Bonjour

Que veux-tu dire par visionneuse ?

Est-ce que cela doit vraiment se déclencher au lancement du diaporama PPS ?
Es-tu obligé de faire cela sur PPT ?

Je vais regarder, il existe une autre solution, mais avec les macros complémentaires, comme ici : http://powerpoint.developpez.com/cou...vba#complement

Un lien utile sur le sujet : http://66.102.9.104/translate_c?hl=f...wiruGCKjKeroXA

Starec
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre

Dernière modification par Philippe JOCHMANS ; 09/07/2008 à 17h49
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/07/2008, 01h01   #9 (permalink)
Membre émérite
 
Avatar de JackOuYA
 
Date d'inscription: juin 2008
Messages: 864
Par défaut

Bonsoir,

J'ai peu être une astuce..., rajoute une premiére diapositive à ton diaporama avec une image , puis rajoute une macro dans ton module :


Code :
 
Sub Auto_Open()
  SlideShowWindow(Index:=1).View.Next
  InitializeApp
end sub
 
rajoute aussi l'appel à cette macro dans les paramétres d'actions de ton image "pointer avec la souris" , et osi "clic souris"

ainsi il suffit qu'as l'ouverture de ta présentation, l'utilisateur clique ou bouge la souris au dessus de l'image.
__________________
JacqueS.

Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)
JackOuYA est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/07/2008, 14h22   #10 (permalink)
Invité régulier
 
Date d'inscription: juillet 2008
Localisation: Haute Normandie
Âge: 19
Messages: 19
Par défaut

JackOuYa > Le problème c'est que sur mon pc il n'y aura pas de souris ni clavier, juste un lecteur code barre qui ouvre grâce à une application une liste de powerpoint à la suite. Et il faut que la première page de cette liste soit mon ppt avec ma feuille UserForm1 qui à l'ouverture envoi la requête car tout de suite après elle est refermée puis l'application ouvre la deuxième de la liste...

Starec > Oui je suis obligé d'utiliser un PPT, désolé...Je vais regarder tes liens dans l'attente d'une solution.

Merci à vous deux.
bartras est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/07/2008, 18h20   #11 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 821
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Bonjour

Comment ouvres-tu ton PowerPoint, quelle application, quel langage, il y aurait peut-être un moyen de piloter l'ouverture de PTT et de lancer une macro par une intervention extérieure.

Starec
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/07/2008, 09h06   #12 (permalink)
Invité régulier
 
Date d'inscription: juillet 2008
Localisation: Haute Normandie
Âge: 19
Messages: 19
Par défaut

Bonjour tout le monde,

Mon programme est écrit en VBA.

Alors l'application qui l'ouvre je ne suis pas certain, car c'est une entreprise exterieure qui a conçu une application qui à la lecture d'un code barre associe un code de correspondance et à ce code est attaché plusieurs fichier ppt d'une page chacune que l'application ouvre et referme consecutivement.

Moi ce qu'il me faudrait c'est insérer en première page un fichier ppt qui lorsqu'il s'ouvre affiche une page blanche par exemple, et en parallèle effectue ma macro à l'intérieure de ma page.

Pour l'instant ma macro est modélisé de la façon suivante:
J'ai un CommandButton qui lorsque je clique dessus effectue la feuille "UserForm1.show" qui contient l'envoi de ma requête.

Il me faut remplacer le CommandButton par quelque chose d'autre qui le lance à l'ouverture du ppt.

Merci à tous pour votre aide, car j'en ai vraiment besoin il faut que je trouve une solution avant demain...
bartras est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/07/2008, 09h58   #13 (permalink)
Invité régulier
 
Date d'inscription: juillet 2008
Localisation: Haute Normandie
Âge: 19
Messages: 19
Par défaut

Re,

Alors j'ai fais d'autres recherches sur le net, j'ai trouvé un explicatif intéréssant à cette adresse :

http://skp.mvps.org/autoevents.htm
http://skp.mvps.org/aevents.htm

On passe par une macro complémentaire qui est censé afficher des msgbox mais de ce qu'on m'a dit ça ne fonctionne plus souvent powerpoint2003, que sur 2000 par qu'il y aurait eu des modifications.

Du coup lorsque je le lance à la place d'une msgbox, il m'ouvre une fenêtre d'erreur :



Voila j'espère que vous pourrez m'aider.
bartras est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/07/2008, 10h17   #14 (permalink)
Membre régulier
 
Date d'inscription: mai 2008
Âge: 23
Messages: 136
Par défaut

Salut

On ne sait jamais,
Mais est-il possible que dans la sécurité des macro de ton PowerPoint dans source fiable la case toute en bas qui dit "faire confiance à tous modèles et compléments installés" soit décocher ?
nicolas_151 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/07/2008, 14h03   #15 (permalink)
Invité régulier
 
Date d'inscription: juillet 2008
Localisation: Haute Normandie
Âge: 19
Messages: 19
Par défaut

C'est bon j'ai résolu mon problème, je note la solution pour ceux qui serait dans les mêmes difficultés que moi.

Il fallait créer un module et utiliser cette instruction :

Code :
Option Explicit
 
Sub Auto_ShowBegin()
UserForm1.Show
End Sub
Voila bon courage à tout le monde...
bartras est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide