Faire apparaitre une image qd chexkbox active

Résolu
olivia -  
 olivia -
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. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  2. olivia
     
    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
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  4. olivia
     
    j'espère aussi car la je coince vraiment
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  7. olivia
     
    merci pour ton aide mais je n'arrive pas à le faire fonctionner.
    Où je dois rentrer le nom de mon image ???
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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
  8. olivia
     
    merci c'est vraiment gentil
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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
  9. olivia
     
    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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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
  10. olivia
     
    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
  11. olivia
     
    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
  12. olivia
     
    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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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. olivia
       
      oui c'est vrai tu as raison
      0