julie07
Messages postés5Date d'inscriptionvendredi 22 février 2008StatutMembreDernière intervention29 février 2008
-
22 févr. 2008 à 16:52
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
29 févr. 2008 à 10:11
Bonjour,
Je suis débutante en macro et je souhaite mettre en place une boite de dialogue.
Les utilisateurs choisiront entre les 12 mois de l'année et selon leur choix, je voudrais qu'un document power point s'ouvre.
Le boite est crée mais je ne sais pas comment lui ordonner d'ouvrir les ppt.
Pouvez vous m'aider svp?
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 26 févr. 2008 à 11:21
Si tu n'as besoin que d'ouvrir le document PowerPoint, le lien de PCPT est ce qu'il te faut.
Si tu dois interagir avec ce document à partir d'Excel, il te faudra alors utiliser l'Automation en créant des objets PowerPoint, ce qui n'est pas simple...
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Vous n’avez pas trouvé la réponse que vous recherchez ?
julie07
Messages postés5Date d'inscriptionvendredi 22 février 2008StatutMembreDernière intervention29 février 2008 28 févr. 2008 à 09:15
Oui mais comment je fais avec ma boite de dialogue?
Je veux que les utilisateurs cliquent sur un mois dans la boite de dialogue et que cela ouvre un ppt spécifique à ce mois.
Je suis désolée mais je suis vraiment une débutante.
Merci encore
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 28 févr. 2008 à 10:45
Il faudrait que tu expliques un peu plus clairement...
Qu'est-ce qui détermine le fichier à ouvrir si un utilisateur sélectionne un mois ? Est-ce un répertoire qui contient le nom du mois ? Est-ce le nom du fichier qui contient ce mois ? Est-ce qu'il doit choisir parmi plusieurs fichiers ou y a-t-il seulement UN fichier ?
Est-ce nécessaire de passer par un UserForm que tu nommes "boîte de dialogue" ? Peut-être pourrais-tu utiliser une boîte de dialogue d'Excel ?
Comme Application.GetOpenFilename
Si tu pouvais préciser ...
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
julie07
Messages postés5Date d'inscriptionvendredi 22 février 2008StatutMembreDernière intervention29 février 2008 28 févr. 2008 à 14:14
Les power point sont dans un classeur nommé "CommentairesTBDG". Il y a 12 powerpoint correspondant aux 12 mois de l'année. Ex "CommentairesTBDGJanvier".
Lorsque l'utilisateur cliquera sur le mois de janvier dans la boite de dialogue, le powerpoint "CommentairesTBDGJanvier" devra s'ouvrir.
J'ai donc créé une boite de dialogue sous excel avec les 12 mois de l'année et je voudrait mettre une macro qui ordonne pour chaque mois selectionné d'ouvrir le powerpoint correspondant.
Ai-je été plus claire?
Merci.
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 28 févr. 2008 à 23:00
Alors le lien de PCPT était ce qu'il te fallait.
Mais peut-être ne le comprends-tu pas (?)
Il faut que tu déclares l'API ShellExecute dans un module (en Public) ou dans le code ta feuille (en Private)
Donc, insère un module et inscris la déclaration de l'API
Private Declare Function
ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Puis, dans le code de ton bouton "OK" de ta boîte de dialogue, tu appelles la procédure StartProcess
Private Sub MonBouton_Click()
StartProcess Textbox1 'le nom du fichier inscrit
End Sub
'Tu places ceci dans le module préférablement, sinon dans la même feuille
Public Sub StartProcess(ByVal sFile As String, Optional ByVal sParameters As String = vbNullString)
ShellExecute 0&, "open", sFile, sParameters, vbNullString, 1&
End Sub
Si le Textbox1 ne contient que le nom du fichier et pas le répertoire, tu devras ajouter ce répertoire au nom du fichier pour qu'il soit trouvé.
Private Sub MonBouton_Click()
Dim Chemin As String
'Change la partie en rouge pour le chemin exact
Chemin = "C:\
CommentairesTBDG" & Textbox1.text
StartProcess
Chemin
End Sub
Et si le textbox ne contient pas non plus l'extension, il te faudra l'ajouter aussi
Chemin = "C:\
CommentairesTBDG" & Textbox1.text & ".ppt"
Je pense avoir pas mal tout dit...
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
julie07
Messages postés5Date d'inscriptionvendredi 22 février 2008StatutMembreDernière intervention29 février 2008 29 févr. 2008 à 08:54
Merci pour ton aide MPi. En effet tu as été patient mais je l'avais précisé je suis débutante et j'avais besoin d'aide. Il faut bien commencé un jour...
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 29 févr. 2008 à 10:11
Bienvenue,
Un programmeur, c'est comme du vin... il s'améliore avec le temps
Si ton problème est résolu, clique le bouton "Accepté" sur le message de PCPT qui te donnait le lien vers Codyx. Ça pourrait aider les recherches d'autres personnes...
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI