Code VBA pour faire apparaître plusieurs images liées à plusieurs checkbox

Bonjour,

Je ne peux pas joindre le fichier car trop volumineux. Mais vous trouverez une image de la feuille de calcul + le code associé aux chekbox dans un bloc note.

Voici ma problématique :

J'ai 5 images (micro, congès, AT, Aide, Dispo) à faire apparaître en cliquant sur les checkbox (case à cocher contrôle ActiveX) associés.

Chaque image est associé à 13 checkbox.

J'ai réussi à créer un code mais ce code est très répétitif et nécessite d'avoir les images déjà coller dans dans le feuille excel autant de fois qu'il y a de checkbox. Le code en question permet de rendre visible ou non l'image. Le principe que j'ai trouvé rend le fichier Excel très lourd à l'ouverture et à la sauvegarde.

Voici un exemple pour deux checkbox liée à à l'image "micro".

'Afichage image micro

Private Sub CheckBox21_Click()

Me.Shapes("micro1").Visible = Me.CheckBox21

End Sub

Private Sub CheckBox22_Click()
Me.Shapes("micro2").Visible = Me.CheckBox22

End Sub

Private Sub CheckBox23_Click()
Me.Shapes("micro3").Visible = Me.CheckBox23

End Sub

Il y a t'il un moyen d'aller ce fichier avec un système permettant qu'a chaque clique, on puisse copier l'image et la coller à l'endroit ? Et pour le code, il y a t'il moyen de le rendre moins répétitif ?

Merci d'avance pour votre retour,

Bien cordialement

Sissou28

image du fichier

Bonsoir Sissou28,

Pour cela quelques précisions. Combien d'images sont disponibles sur la feuille?

Et quelles définitions ont-elles (hautes ou basses) en octets. Et combien de feuilles sont présentées dans le classeur?

Ensuite poste seulement un fichier avec les 5 images seules. Pour pouvoir les manipuler.

À suivre...

Merci X Cellus pour votre retour rapide.

Voici des précisions par rapport à vos interrogations.

1) Le fichier d’origine comporte en tout 82 images disponibles sur la Feuil1 décomposées de cette façon :

  • 13 images correspondantes aux avatars des personnes
  • 4 images décoratives
65 images liées au code vba que j'avais fait :

- l'image "congés" présente 13 fois sur la feuil1

- l'image "Malade" présente 13 fois sur la feuil1

- l'image "Aide" présente 13 fois sur la feuil1

- l'image "Dispo" présente 13 fois sur la feuil1

- l'image "Micro" présente 13 fois sur la feuil1

2) Concernant la définition des images, je ne sais pas où la trouver :s

3) Il y a qu'une feuille présente sur le classeur

4) J'ai suivi votre conseil, je n'ai laisser que la ligne dédiée à une personne (avec les 5 images) avec le code liée.

Vous trouverez ci-joint le fichier allégé.

Le tableau réel comporte 13 personnes, j'avais reproduit le code se trouvant sur le fichier allégé 13 fois et collé et nommé les mêmes images 13 fois également. Ceci fait passer le fichier à une taille de 4 844 ko.

Merci d'avance pour vos retour,

Sissou28

Bonjour Sissou28,

En retour une proposition pour gérer ton besoin.

Voir notes en rouge expliquant le principe.

Pour connaître la taille en octets d'une image.

La sélectionner dans le dossier Image ou autre et faire propriété par clic droit.

Préférer le format jpg ou jpeg moins gourmand en capacité.

Bons tests, bonne continuation.

Merci beaucoup pour ton retour X Cellus,

Je vais voir pour utiliser ta méthode pour les autres personnes.

Bon week-end,

Rechercher des sujets similaires à "code vba apparaitre images liees checkbox"