Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau Candidat au Club
    Vérification de l'existence sur un slide d'un objet cité en argument
    Bonjour tout le monde.

    Je suis sur la création d'un document pédagogique, dans lequel je souhaite afficher des images au survol de certains objets de mon diaporama.

    Exemple: Je souhaite que sur mon slide 1, les 2 images PopUp1_1 et PopUp2_2 s'affichent au survol des 2 objets TextBox1_1 et TextBox1_2.
    Une seule des 2 doit être affichée, jamais les deux.

    J'y parviens déjà, avec le code suivant :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub PopUp1_1_apparaitre()
       If ActivePresentation.Slides(1).Shapes("PopUp1_1").Visible = msoFalse Then
       ActivePresentation.Slides(1).Shapes("PopUp1_1").Visible = msoTrue
       End If
       If ActivePresentation.Slides(1).Shapes("PopUp1_2").Visible = msoTrue Then
       ActivePresentation.Slides(1).Shapes("PopUp1_2").Visible = msoFalse
       End If
    End sub
     
    Sub PopUp1_2_apparaitre()
       If ActivePresentation.Slides(1).Shapes("PopUp1_2").Visible = msoFalse Then
       ActivePresentation.Slides(1).Shapes("PopUp1_2").Visible = msoTrue
       End If
       If ActivePresentation.Slides(1).Shapes("PopUp1_1").Visible = msoTrue Then
       ActivePresentation.Slides(1).Shapes("PopUp1_1").Visible = msoFalse
       End If
    End sub


    Tout marche très bien.

    MAIS, pour des raisons qui ont à voir avec mon cahier des charges, je voudrais conditionner chacun des If au fait que l'objet cité en argument existe bien dans le slide ciblé.

    J'ai essayé ça (je précise que je débute), et ça ne fonctionne pas.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    'Sub PopUp1_1_apparaitre()
     
    If Not (IsEmpty("PopUp1_1")) Then
       If ActivePresentation.Slides(1).Shapes("PopUp1_1").Visible = msoFalse Then
       ActivePresentation.Slides(1).Shapes("PopUp1_1").Visible = msoTrue
       End If
    End If
     
    If Not (IsEmpty("PopUp1_2")) Then
       If ActivePresentation.Slides(1).Shapes("PopUp1_2").Visible = msoTrue Then
       ActivePresentation.Slides(1).Shapes("PopUp1_2").Visible = msoFalse
       End If
    End If


    MA QUESTION:
    Le code If Not (IsEmpty("PopUp1_1")) est-il adapté à la vérification de ma condition?
    Me dit-il si ma variable PopUp1_1 existe (dit autrement, s'il existe bien une image nommé PopUp1_1 sur mon slide)?

    Merci d'avance,

    Matthieu.

  2. #2
    Expert éminent sénior
    Citation Envoyé par mamalardo Voir le message

    Bonjour,

    Essayez :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    Sub PopUp1_1_apparaitre()
     
        If PresenceShape(ActivePresentation.Slides(1), "PopUp1_1", "PopUp1_2") = True Then
             With ActivePresentation.Slides(1)
                  If .Shapes("PopUp1_1").Visible = msoFalse Then .Shapes("PopUp1_1").Visible = msoTrue
                  If .Shapes("PopUp1_2").Visible = msoTrue Then .Shapes("PopUp1_2").Visible = msoFalse
            End With
        Else
          MsgBox "Absence PopUp !", vbCritical
       End If
    End Sub
     
    Sub PopUp1_2_apparaitre()
     
        If PresenceShape(ActivePresentation.Slides(1), "PopUp1_1", "PopUp1_2") = True Then
           With ActivePresentation.Slides(1)
                  If .Shapes("PopUp1_2").Visible = msoFalse Then .Shapes("PopUp1_2").Visible = msoTrue
                  If .Shapes("PopUp1_1").Visible = msoTrue Then .Shapes("PopUp1_1").Visible = msoFalse
            End With
        Else
          MsgBox "Absence PopUp !", vbCritical
        End If
     
    End Sub
     
    Function PresenceShape(ByVal SlideEnCours As Slide, ByVal NomShape1 As String, ByVal NomShape2 As String) As Boolean
     
    Dim I As Integer
    Dim NbShapesPresents As Integer
     
        PresenceShape = False
        NbShapesPresents = 0
     
        With SlideEnCours
             If .Shapes.Count = 0 Then Exit Function
             For I = 1 To .Shapes.Count
                If .Shapes(I).Name = NomShape1 Then NbShapesPresents = NbShapesPresents + 1
                If .Shapes(I).Name = NomShape2 Then NbShapesPresents = NbShapesPresents + 1
             Next I
             If NbShapesPresents = 2 Then PresenceShape = True
        End With
     
     
    End Function
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

###raw>template_hook.ano_emploi###