Faire apparaitre une image qd chexkbox active

Résolu/Fermé
olivia - 7 sept. 2010 à 08:43
 olivia - 8 sept. 2010 à 10:13
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
A voir également:

11 réponses

Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
7 sept. 2010 à 08:47
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
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
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
7 sept. 2010 à 10:13
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
j'espère aussi car la je coince vraiment
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
7 sept. 2010 à 13:50
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
merci pour ton aide mais je n'arrive pas à le faire fonctionner.
Où je dois rentrer le nom de mon image ???
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
7 sept. 2010 à 14:02
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
merci c'est vraiment gentil
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
Modifié par pijaku le 7/09/2010 à 14:57
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
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
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
7 sept. 2010 à 15:24
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
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
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
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
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
8 sept. 2010 à 08:23
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
oui c'est vrai tu as raison
0