> Tous les forumsBureautique

 macros sous powerpoint
Statut du sujet : NON RESOLU Imprimer
 lebreton22
  Posté le 07/01/2007 @ 12:16  
 Petit astucien

12 Messages

bonjour à tous

J'essaie de réaliser une diapo contenant des macros. Celles-ci pourraient changer la couleur du fond selonque l'on clique sur l'un ou l'autre des boutons.

Les macros fonctionnent sous vba, j'ai fait le test

Le mode de sécurité a été mis à faible pour les essais

Lorsque je jace le diaporama,il ne se passe rien

Est-ce que quelqu'un aurait une idée ?

Merci

 
 Aller en bas de la page  
 
Publicité
 Marmotte18  Posté le 07/01/2007 à 13:20  
Astucien


2036 Messages

Bonjour,

As-tu utilisé le masque des diapositives (Affichage > Masque des diapositives) pour entrer ta macro ou as-tu utilisé une diapositive particulière ?

Il faut savoir que tout ce que l'on fait sur le masque a une répercussion sur l'ensemble des diapositives de la présentation.



Modifié par Marmotte18 le 07/01/2007 13:28
 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 lebreton22  Posté le 07/01/2007 à 14:33  
Petit astucien

12 Messages
Je n'ai créé qu'une seule diapo et les macros sont faites à partir d'elle.
 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 Marmotte18  Posté le 07/01/2007 à 16:18  
Astucien


2036 Messages

Bonjour,

J'ai fait moi-même le test de changement de couleur de fonds.

Un bouton pour mettre une couleur, un autre pour mettre l'autre couleur.

Cela fonctionne très bien ! Je vais essayé de t'expliquer. Utilise pour cela une présentation vierge.

  • Clique sur affichage puis sur masque des diapositives (c'est important !)
  • Fais ta 1ère macro qui apporte la 1ère couleur de fonds
  • Dessine le bouton avec affichage > barre d'outils > boîtes à outil contrôles
  • Pose un bouton de commande sur ton masque
  • Clique avec le bouton droit sur ce bouton
  • Clique sur "visualiser le code" => le système te crée la procédure vierge :

Private Sub CommandButton1_Click()

End Sub

  • Clique sur le "+" qui se trouve devant le classeur "Modules" de ta présentation
  • Double clique sur "module1"
  • Copie tout le code qui se trouve entre la ligne "sub ..." et la ligne "end sub"
  • Double clique sur "SlideMaster"
  • Colle le code copié précédemment entre la ligne "Private Sub ..." et la ligne "end"

Procède de manière analogue pour ton 2ème bouton qui va commander la 2ème couleur

  • Reviens sur PowerPoint
  • Clique sur "désactiver le mode masque"

Maintenant, tu peux ouvrir des nouvelles diapositives. Elles possèderont toutes les 2 boutons qui changeront les couleurs du fonds comme tu le souhaites



Modifié par Marmotte18 le 07/01/2007 16:31
 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 lebreton22  Posté le 07/01/2007 à 18:50  
Petit astucien

12 Messages

Désolé mais ça ne marche pas et pourtant je pense avoir suivi pas à pas les opérations.

Est-ce que tu peux m'envoyer en privé ton exemple ?

Le fait de changer de couleur de fond n'est qu'un essai. Pour la suite, ce sont des zones de texte que je voudrais rendre visibles ou non en fonction des actions sur les boutons.

Merci

 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 Marmotte18  Posté le 07/01/2007 à 19:09  
Astucien


2036 Messages

Bonsoir,

Ci-joint l'exemple demandé : http://cjoint.com/?bhtgsukkW8

J'attire ton attention que la macro ne doit pas rester dans un module mais sur SlideMaster

 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 
Publicité
 lebreton22  Posté le 07/01/2007 à 19:48  
Petit astucien

12 Messages

Je pense que c'est un pb d'écriture de macro car ce que tu as transmis fonctionne bien. J'ai utilisé l'enregistreur de macros, tout est bien où il faut mais ça n'allait pas.

Y a-t-il un moyen pour que je transmette mon fichier?

Merci

 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 lebreton22  Posté le 07/01/2007 à 20:09  
Petit astucien

12 Messages

Je pense que c'est un pb d'écriture de macro car ce que tu as transmis fonctionne bien. J'ai utilisé l'enregistreur de macros, tout est bien où il faut mais ça n'allait pas.

Au final ce que je recherche est la chose suivante :

si je clique sur le bouton Jeu du déclarant, les zones de texte Nord et Sud seront affichées

si je clique sur le bouton Entame, la zone Ouest est affichée

si je clique sur le bouton Jeu de la Défense, les zones de texte Nord et Est seront affichées

si je clique sur le bouton Voir les 4 jeux, les zones de texte Nord et Sud Est et Ouets seront affichées

Je joins le fichier pour m'expliquer

http://cjoint.com/?bhufYrUUp4

Merci

 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 Marmotte18  Posté le 08/01/2007 à 18:09  
Astucien


2036 Messages

Bonsoir,

Ci-joint une présentation qui répond à ton problème :

http://cjoint.com/?bisbA8y8M6

Précisions sur l'exemple :

  • Les zones texte "nord - sud - est - ouest" doivent en fait être des images jpeg (=> je les ai donc transformées en image)
  • Ces images doivent être mises sur le masque des diapositives et non sur une diapositive particulière

Pour insérer une image :

  • utilise Affichage > Barres d'outils > Boites à outils Contrôles,
  • clique sur l'icône "image" et dessine le cadre qui recevra cette image
  • clique sur l'icône "propriétés"
  • clique sur le texte "aucun" qui se trouve dans la rubrique "Picture"
  • clique sur les 3 petits points qui se trouvent en fin de ligne afin de chercher ton image


Modifié par Marmotte18 le 08/01/2007 18:19
 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 lebreton22  Posté le 08/01/2007 à 22:35  
Petit astucien

12 Messages

En essayant, la solution est très bonne : il faut remplacer les cadres images par des étiquettes.

On ne fonctionne donc que sous masque. Ce qui fait qu'il reste un problème : comment créer maintenant des diapos différentes ?

 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 Marmotte18  Posté le 09/01/2007 à 17:55  
Astucien


2036 Messages

Bonsoir,

Comme tu n'as pas vraiment exposé tes besoins dès le départ, je suis parti sur une fausse piste, bien que ma solution corresponde exactement à ta demande.

Tu trouveras ci-dessous une nouvelle présentation qui intègre ta dernière demande :

http://cjoint.com/?bjrT6yZYse

Explication :

  • Dans le masque, ne figure plus que le "rond point" central. Il n'y a plus de bouton, plus les images.
  • La 1ère diapositive comporte tous les boutons et le mécanisme d'affichage (macros).
  • Les autres diapositives sont obtenues par copier-coller de la 1ère diapositive. (donc boutons et macros correspondantes)

Remarque :

Ne sauvegarde pas ta présentation une fois que tu as essayé les différents boutons, mais AVANT de les utiliser.



Modifié par Marmotte18 le 09/01/2007 17:57
 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 
Publicité
 lebreton22  Posté le 09/01/2007 à 19:58  
Petit astucien

12 Messages

Merci beaucoup, j'en étais arrivé aux mêmes conclusions tard dans la nuit :

1) le masque n'est pas utile sauf peut-être pour l'image centrale

2) toutes les diapos obtenues par duplication (insérer/dupliquer la diapo) conservent les macros

3) Il vaut mieux remplacer dans mon cas les images par des étiquettes (contrôle label), ce qui permet d'y glisser par copier coller caractères spéciaux et texte.

le top serait de pouvoir lier la diapo à une base de données qui conserverait toutes les infos.

 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 Marmotte18  Posté le 10/01/2007 à 17:08  
Astucien


2036 Messages

Bonsoir,

Cela m'étonnerait que tu puisses récupérer les caractères spéciaux (pique, coeur, carreau, trèfle) que tu auras insérés dans un contrôle label. J'avais essayé et cela ne fonctionnait pas ! C'est la raison pour laquelle je me suis rabattu sur les jpeg.

 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 lebreton22  Posté le 10/01/2007 à 17:42  
Petit astucien

12 Messages

Il s'agit d'insérer les caractères spéciaux par copier/coller parce qu'effectivement, ils ne sont pas actifs lorsque l'on veut éditer le texte de l'étiquette.

http://cjoint.com/?bkrJToIKWv

Je teste autre chose : un cadre de texte ( on aurait les caractères spéciaux avec les couleurs) recouvert d'une image de la couleur du fond.

 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 lebreton22  Posté le 10/01/2007 à 18:20  
Petit astucien

12 Messages

Quelque chose du genre :

http://cjoint.com/?bksrSJYVta

Il ne manque plus qu'une macro qui s'exécuterait au démarrage de la présentation si quelqu'un sait quel nom lui donner, on pourrait alors cacher les 4 jeux au départ car Powerpoint relance le diaporama avec les zones affichées la dernière fois

 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 Marmotte18  Posté le 12/01/2007 à 20:04  
Astucien


2036 Messages

Bonsoir,

Voici une nouvelle présentation qui semble répondre à tes besoins :

http://cjoint.com/?bmubeJxaVa

J'ai utilisé la technique des Userforms qui a l'avantage de pouvoir mettre une procédure d'initialisation à l'ouverture, donc de cacher la donne quand on arrive sur la diapositive.

NB : pour regarder cette présentation, il faut d'abord mettre son écran en résolution 800 x 600 pixels.



Modifié par Marmotte18 le 12/01/2007 20:06
 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 
Publicité
 lebreton22  Posté le 12/01/2007 à 20:23  
Petit astucien

12 Messages

Merci beaucoup;ça fonctionne bien en effet

Donc si l'on veut lancer une procédure au démarrage, on fait un load de l'userform.

Est-ce qu'il existe autrement quelque chose du genre autoexec, autoshow ... qui se lance au démarrage de la présentation.

Merci de ton aide

 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 Marmotte18  Posté le 13/01/2007 à 06:48  
Astucien


2036 Messages

Bonjour,

Tout d'abord j'avais oublié d'effectuer un peu de nettoyage avant de t'envoyer le fichier.

Voilà donc une nouvelle version épurée :

http://cjoint.com/?bngG0eG0Sf

Pour mieux comprendre ce qui se passe, il faut aller sous Visual Basic Editor (VBA) via la combinaison de touches Alt + F11 ou via l'icône que tu peux apporter dans l'une de tes barres d'outils.

La présentation est composée :

  • du masque (SlideMaster)
  • d'une diapositive (Slide 1)
  • d'un UserForm (TapisDeCartes)

Si tu double-cliques sur l'icône SlideMaster, tu obtiens la programmation qui y est rattachée. C'est l'amorce qui va permettre l'affichage du UserForm :

Private Sub BoutonDémarrage_Click()
'Affichage du tapis de carte
'---------------------------
Load TapisDeCartes
TapisDeCartes.Show
End Sub

Si tu double-cliques sur l'icône Slide1, tu constateras qu'il n'y a plus de programmation rattachée.

Si tu double-cliques sur l'icône TapisDe Cartes, tu verras tous les objets qui ont été déposés (les boutons, les symboles des cartes, ...).

Pour accéder au code, il faut :

  • cliquer avec le bouton droit sur la partie grise du UserForm
  • cliquer sur code

Ainsi tu pourras découvrir toute la programmation afférente, notamment celle qui se déclenchera automatiquement avant que le UserForm soit affiché. C'est elle qui cachera toutes les donnes :

Private Sub UserForm_Initialize()


End Sub



Modifié par Marmotte18 le 13/01/2007 06:51
 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
 lebreton22  Posté le 14/01/2007 à 10:34  
Petit astucien

12 Messages

Bonjour à Tous

Merci des réponses mais j'ai l'impression de tourner en rond. Je veux partir de mon modèle de diapo car il me permet facilement d'en générer d'autres.

Pour les joueurs Nord, sud, est et ouest, je dispose d'une zone de texte (celle qui apparaît ou pas avec les Pique, Coeur, Carreau, Trèfle)

Chaune de ces zones de texte est "recouverte" d'un contrôle image de la couleur du fond. En fonction de la propriété .visible de celui-ci, on aperçoit donc le texte en dessous. Cela, je sais le faire.

Ce que je recherche donc, c'est une procédure qui rend tous les contôles Nord, Sud, Est et Ouest visibles à chaque démarrage du diaporama ( ce qui signifie que les 4 jeux sont toujours cachés.

En effet, si on interompt le diaporama en ayant par exemple cliqué sur le bouton déclarant, au prochain démarrage les jeux de Nord et Sud sont encore visibles et ça je ne le veux pas.

Je joins mon fichier si quelqu'un a une idée.

http://cjoint.com/?bokH2MkPwg

Bon dimanche à tous

 Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Haut de la page 
Inscrivez-vous au Forum PC Astuces !
  • Posez vos questions
  • Résolvez vos problèmes
  • Aidez les autres
  • Participez et créez vos discussions
  • Dialoguez en privé avec d'autres membres
  • Suivez vos sujets préférés
  • Affichez les signatures des membres
TOUT EST GRATUIT !

Je crée mon compte


Sur PC Astuces

 > Tous les forumsBureautique

 
Forum PC Astuces© 1997-2014 WebastucesAller en haut de la page