Afficher des objets depuis des cses à cocher.

Matjul

XLDnaute Occasionnel
Afficher des objets depuis des cases à cocher.

Bonjour à tous,
J'ai un userform avec des cases à cocher (2 pour l'exemple, 20 en réalité).
Ainsi, lorqu'une case est cochées, je souhaiterai afficher les objets associés à cette case.
De plus, tous les objets doivent avoir une position bien précise sur la feuille. Ainsi, ils peuvent être déplacés, mais lorsque l'on réinitialise le classeur, tous les objets devront reprendre leur position initiale.

Vous trouverez un exemple en pièce jointe.

Merci pour votre aide.
 

Pièces jointes

  • Afficher des objets.zip
    36.1 KB · Affichages: 30
Dernière édition:
C

Compte Supprimé 979

Guest
Re : Afficher des objets depuis des cses à cocher.

Salut Matjul,

Je viens de me rendre compte qu'il y avait une faute, ce qui je vous l'accorde ne donne pas envie de lire la suite...
Ne t'en fais pas !
Ce n'est pas ça qui arrête les XLDnautes ;)
Beaucoup sont partis en vacance, de plus l'été on essaye de se reposer les neurones :D

Tu trouveras ci-joint ton fichier modifié, avec une solution :
Réduire la dimension de chaque image à zéro, et leur redonner au clique du Checkbox

A+
 

Pièces jointes

  • Matjul_Afficher des objets.zip
    40.2 KB · Affichages: 45

Matjul

XLDnaute Occasionnel
Re : Afficher des objets depuis des cases à cocher.

Bonjour à tous,
J'ai un peu modifier le code de bruno mais il ne fonctionne pas.
Ne peut on pas arriver au résultat que je souhaite en utilisant une formule dans ce style?

Code:
Private Sub CheckBox1_Click()
  If Me.CheckBox1.Value = True Then
    "Image1".visible = True
  Else
    "Image1".visible = False
  End If
End Sub
 

jeanpierre

Nous a quitté
Repose en paix
Re : Afficher des objets depuis des cases à cocher.

Bonjour Matjul, Bruno,

Chez-moi, le code de Bruno fonctionne... Seulement modifier dans la macro le 1 et 2, sinon pour pompier, tu as gendarme....

Sinon, il faut bien et la sub Afficher, et la sub Masquer.

Bon dimanche et à te lire.

Jean-Pierre
 
C

Compte Supprimé 979

Guest
Re : Afficher des objets depuis des cases à cocher.

Salut Matjul, Mon cher Jean-Pierre bonjour à toi

Ne peut on pas arriver au résultat que je souhaite en utilisant une formule dans ce style?
Code:
Private Sub CheckBox1_Click()
  If Me.CheckBox1.Value = True Then
    "Image1".visible = True
  Else
    "Image1".visible = False
  End If
End Sub
Non, cela ne fonctionne que sur des UserForm, pas dans des feuilles excel !?

Mais bon c'est comme tu veux :rolleyes:

A+
 

Matjul

XLDnaute Occasionnel
Re : Afficher des objets depuis des cses à cocher.

Bonjour jean pierre,
Chez moi aussi le code de bruno fonctionne, mais le principe de réduire l'objet à sa taille minimum ne me convient pas car l'objet reste sélectionné et on voit toujours l'encadrement (un point) de l'objet.
De plus , il y aura plus de 300 objets sur la feuille donc tout va se superposer. c'est pour cela que je souhaite plutot les faire disparaitre totalement.
 

Dull

XLDnaute Barbatruc
Re : Afficher des objets depuis des cses à cocher.

Salut Matjul, Bruno, Le forum

essaye si j'ai bien compris

Code:
Private Sub CheckBox1_Click()
Me.Controls("Image1").Visible = IIf(Me.CheckBox1, False, True)
End Sub
Bonne Journée

EDITION: Salut jeanpierre:)
Ok j'avais pas compris que ce n'était pas sur UserForm :eek:

Il y a plein d' exemples sur le Forum... je regarde

RE EDITH: D'oùmonEdition ;) J'ai pas tester mais ça doit le faire :)
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : Afficher des objets depuis des cses à cocher.

Re,

Il suffit de mettre une ligne de plus à la fin des sub
Code:
Sub AfficherImg(Img As Integer)
  ActiveSheet.Shapes(TabImg(Img)).Select
  Selection.ShapeRange.LockAspectRatio = msoTrue
  ' Penser à convertir les centimètres
  Selection.ShapeRange.Height = (DimImg(Img, 1) * 28.356)
  Selection.ShapeRange.Width = (DimImg(Img, 2) * 28.356)
  ActiveSheet.Range("A1").Select
End Sub
Sub MasquerImg(Img As Integer)
  ActiveSheet.Shapes(TabImg(Img)).Select
  Selection.ShapeRange.LockAspectRatio = msoTrue
  Selection.ShapeRange.Height = 0
  Selection.ShapeRange.Width = 0
  ActiveSheet.Range("A1").Select
End Sub

Ton problème d'encadrement aura disparu :rolleyes:

A+
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 948
Membres
101 849
dernier inscrit
florentMIG