Faire apparaitre une image qd chexkbox active

Résolu
Bonjour,
Je souhaiterais quand je clique sur une checkBox faire apparaitre une image qui se trouve dans un contrôle activex image. Je pense que la ligne de code serait : quand chexbox1 est coché fait apparaitre l'image si ce n'est pas le cas l'image ne devra pas apparaître.
Pouvez vous m'aider sur la ligne de code à écrire car je suis débutante en VBA.
Par avance merci pour votre aide.
Olivia

11 réponses

  1. désolé je viens juste de me rendre compte que ALT F8 était un racourcis clavier oups!
    cependant ma question reste la meme y a t'il un moyen de connaitre l'index sans passer par cette macro
    0
    1. Modérateur
      Bonjour olivia,
      y a t'il un moyen de connaitre l'index d'un InlineShapes? Je ne sais pas. Mais l'important ici est que tu ais résolu ton problème non?
      0
    2. oui c'est vrai tu as raison
      0
  2. merci pour ton aide ca fonctionne!!!!!!!!!!!!!!!!!!! Tu me sauves
    cependant j'ai juste eu du mal avec alt+F8 à trouver le numéro de mon image.
    Penses tu qu'il y a un moyen plus facile de trouver le numéro d'index sans passer par une macro?
    0
    1. Si cela peux t'aider à la place de l'image cela pourrait tout aussi bien être une combobox ou une listbox qui apparait quand checkbox 1 est cohé.
      Car mon image est inséré dans un contrôle activex
      0
      1. mon image est une inlineshape selon le les informations fournis par ton document.
        en revanche tu parles d'index je ne sais pas à quoi cela correspond et ou je trouve cette information et une fois trouvé à quel endroit je le mets dans ton code.
        Désolé mais je suis débutante et j'ai pas toutes les notions.

        Merci pour ton aide

        Olivia
        0
        1. Modérateur
          Je suis également novice dans ce genre de macro, j'essaie de m'accrocher aux branches...
          Pour trouver les numéros d'index de tes différents InlineShapes :
          1- Dans ton fichier word taper ALT+F11
          2- Insertion/Module
          3- Copier/coller ce code dans le module :
          Sub NumeroIndex()
          Dim i As Integer
          For i = 1 To ActiveDocument.InlineShapes.Count
          ActiveDocument.InlineShapes(i).Select
          MsgBox i
          Next
          End Sub

          4- Fermer la fenêtre Visual Basic
          5- Dans ton doc Word taper ALT+F8, sélectionner NumeroIndex et cliquer sur Exécuter.
          La macro va sélectionner chacun de tes InlineShapes (c'est plus visible avec les images qu'avec les CheckBox (ou la tu ne verras rien que le numéro s'afficher...). Note le chiffre correspondant à l'image sélectionnée.
          Tu pourras adapter le code ci dessous l'index étant le chiffre en gras :
          Private Sub CheckBox1_Click() 
          If CheckBox1.Value = False Then 
              With ActiveDocument.InlineShapes(1) '1 à adapter
                  .Range.Font.Hidden = True 
              End With 
          Else 
              With ActiveDocument.InlineShapes(1) '1 à adapter
                  .Range.Font.Hidden = False 
              End With 
          End If 
          End Sub
          0
      2. merci c'est vraiment gentil
        0
        1. Modérateur
          Re-
          Alors, il faudrait déjà que tu saches si ton image est un objet shape ou inlineshape. voir ici la différence
          Ensuite, s'il s'agit d'un inlineshape, il faut que tu en connaisses l'index. Puis adapter ce code :
          Private Sub CheckBox1_Click() 
          If CheckBox1.Value = False Then 
              With ActiveDocument.InlineShapes(1) 
                  .Range.Font.Hidden = True 
              End With 
          Else 
              With ActiveDocument.InlineShapes(1) 
                  .Range.Font.Hidden = False 
              End With 
          End If 
          End Sub
          0
      3. merci pour ton aide mais je n'arrive pas à le faire fonctionner.
        Où je dois rentrer le nom de mon image ???
        0
        1. Modérateur
          Nulle part. Cette macro affiche / masque toutes les images lors du "cochage" de ton checkBox... Je suis en train d'essayer de le modifier pour pouvoir ne le faire que sur une image...
          0
      4. Modérateur
        Bonjour,
        Trouvé sur le Net :
        Private Sub CheckBox1_Click()
        If CheckBox1.Value = True Then
        With ActiveWindow
        With .View
        .ShowPicturePlaceHolders = True
        End With
        End With
        Else
        With ActiveWindow
        With .View
        .ShowPicturePlaceHolders = False
        End With
        End With
        End If
        End Sub

        Voici un fichier exemple
        Je n'ai pas étudié le comportement de cette macro s'il doit y avoir plusieurs images et plusieurs checkbox, je ne crois pas qu'elle fonctionne dans ce cas...
        0
        1. j'espère aussi car la je coince vraiment
          0
          1. Re,

            Word n'est pas ma tasse de thé, j'espère que M@rina passera par là
            tu peux également aller sur son site tu devrais trouver ton bonheur

            https://www.faqword.com/
            0
            1. Je travaille sur word et l'image est stockée sur le fichier, car c'est un document qui va être utilisé par plusieurs personnes.
              0
              1. Salut,

                Ta chexkox est sur une Userform ou sur ta feuille de calcul

                Ton image est elle dans le même répertoire que ton fichier ou stockée sur le fichier
                0