Code macro pour passer a la diapo suivante

Résolu/Fermé
Snoopy0701 Messages postés 7 Date d'inscription lundi 23 janvier 2017 Statut Membre Dernière intervention 11 février 2017 - 23 janv. 2017 à 20:30
Snoopy0701 Messages postés 7 Date d'inscription lundi 23 janvier 2017 Statut Membre Dernière intervention 11 février 2017 - 24 janv. 2017 à 19:52
Bonsoir le forum

on vient de me donner un ppt pour afficher les numéros d un loto sur grand écran
ce ppt contient des macros

sur la diapo n°1 il y a 90 images qui représente les boules chaque images contient un lien hypertexte qui exécute une macro

Quand on clic sur une image elle disparait de la diapo n° 1 pour apparaitre en grand sur la diapos n°2 et a sa taille de départ sur la diapo N° 3

pour faire apparaitre la diapo n°2 il faut se servir de la molette de la souris ou cliquer sur les flèches qui se trouve en bas a gauche de la diapo n°1

Ma question est quel code il faut que je rajoute a la macro pour que la diapo n°2 apparaisse automatiquement quand je clique sur une image de la diapo n°1 et ou dois je mettre le code dans la macro

je vous joint la macro qui est exécuter par le lien hypertexte


Sub BallClick(oShapeBall As Shape)
Dim iCurrentSlide As Integer
Dim iOppositeSlide As Integer
Dim iVerticalOffset As Integer
iVerticalOffset = 20

' Save the current Ball and Number names
ActivePresentation.Tags.Add "SelectedBall", oShapeBall.Name
ActivePresentation.Tags.Add "SelectedNumber", Replace(oShapeBall.Name, "b", "n")

' Define the target slide number
If ActivePresentation.SlideShowWindow.View.Slide.SlideIndex = 1 Then
iCurrentSlide = 1
iOppositeSlide = 3

' Slide 02 : Display number
ActivePresentation.Slides("Slide_Zoom").Shapes("txtBallName").TextFrame.TextRange.Text = Replace(ActivePresentation.Tags("SelectedNumber"), "n", "")

' Slide 01 : Copy the ball picture from 1st slide to 2nd one
On Error Resume Next
ActivePresentation.Slides("Slide_Zoom").Shapes("dummy").Delete
On Error GoTo 0

ActivePresentation.Slides("Slide_Before").Shapes(oShapeBall.Name).Copy
ActivePresentation.Slides("Slide_Zoom").Shapes.Paste
ActivePresentation.Slides("Slide_Zoom").Shapes(oShapeBall.Name).Name = "dummy"
ActivePresentation.Slides("Slide_Zoom").Shapes("dummy").Visible = msoCTrue

' Slide 02 : Center the ball
ActivePresentation.Slides("Slide_Zoom").Shapes("dummy").Left = (ActivePresentation.PageSetup.SlideWidth - ActivePresentation.Slides("Slide_Zoom").Shapes("dummy").Width) / 2
ActivePresentation.Slides("Slide_Zoom").Shapes("dummy").Top = (ActivePresentation.PageSetup.SlideHeight - ActivePresentation.Slides("Slide_Zoom").Shapes("dummy").Height) / 2
' Slide 02 : Scale the ball
ActivePresentation.Slides("Slide_Zoom").Shapes("dummy").ScaleHeight 0.6, msoTrue, msoScaleFromMiddle
ActivePresentation.Slides("Slide_Zoom").Shapes("dummy").ScaleWidth 0.6, msoTrue, msoScaleFromMiddle
' Slide 02 : Center textbox with ball's number
ActivePresentation.Slides("Slide_Zoom").Shapes("txtBallName").Left = (ActivePresentation.PageSetup.SlideWidth - ActivePresentation.Slides("Slide_Zoom").Shapes("txtBallName").Width) / 2
ActivePresentation.Slides("Slide_Zoom").Shapes("txtBallName").Top = ((ActivePresentation.PageSetup.SlideHeight - ActivePresentation.Slides("Slide_Zoom").Shapes("txtBallName").Height) / 2) - iVerticalOffset
ActivePresentation.Slides("Slide_Zoom").Shapes("txtBallName").ZOrder msoBringToFront
Else
iCurrentSlide = 3
iOppositeSlide = 1
End If

' This ball is visible
If oShapeBall.Visible Then
' We make it NOT visible on the opposite slide
ActivePresentation.Slides(iCurrentSlide).Shapes(ActivePresentation.Tags("SelectedBall")).Visible = msoFalse
ActivePresentation.Slides(iCurrentSlide).Shapes(ActivePresentation.Tags("SelectedNumber")).Visible = msoFalse
ActivePresentation.Slides(iOppositeSlide).Shapes(ActivePresentation.Tags("SelectedBall")).Visible = msoTrue
ActivePresentation.Slides(iOppositeSlide).Shapes(ActivePresentation.Tags("SelectedNumber")).Visible = msoTrue

Else
' We make it visible on the opposite slide
ActivePresentation.Slides(iCurrentSlide).Shapes(ActivePresentation.Tags("SelectedBall")).Visible = msoTrue
ActivePresentation.Slides(iCurrentSlide).Shapes(ActivePresentation.Tags("SelectedNumber")).Visible = msoTrue
ActivePresentation.Slides(iOppositeSlide).Shapes(ActivePresentation.Tags("SelectedBall")).Visible = msoFalse
ActivePresentation.Slides(iOppositeSlide).Shapes(ActivePresentation.Tags("SelectedNumber")).Visible = msoFalse
End If


End Sub


merci d'avance pour votre aide
Cordialement

Snoopy0701
A voir également:

2 réponses

m@rina Messages postés 21080 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 15 novembre 2024 11 351
24 janv. 2017 à 14:26
Bonjour,

Pour passer sur la diapo 2, par exemple :

SlideShowWindows(1).View.GotoSlide 2


Je suppose que tu dois le mettre à la fin. Il me semble que ta macro n'est pas vraiment complète, parce qu'il y a des noms qui ne sont pas initiés dans la macro (Slide_Zoom, Slide_before, etc.), donc tout n'est pas très clair.

m@rina
0
Snoopy0701 Messages postés 7 Date d'inscription lundi 23 janvier 2017 Statut Membre Dernière intervention 11 février 2017
24 janv. 2017 à 19:52
Bonsoir m@rina

je te remercie pour ton aide cela fonction a merveille

tu me dit:

"Il me semble que ta macro n'est pas vraiment complète, parce qu'il y a des noms qui ne sont pas initiés dans la macro (Slide_Zoom, Slide_before, etc.), donc tout n'est pas très clair. "

pour moi c'est du charabia car je ne connais rien en programmation

on ma donne le ppt et moi j'essaie de l'automatiser car il faut tourner la molette pour faire défiler les diapos donc c'est pour ca que je demande de l 'aide

cordialement

Snoopy0701
0