Afficher 1 à 4 graphiques dans une userform

3suivi-test.xlsm (49.10 Ko)
7suivi-test.xlsm (49.10 Ko)

Bonjour à tous,

Il y a quelques années j'avais trouvé un code pour afficher un graphe dans une userform. Il consistait à copier le graphe sous forme d'image sur le disque dur, puis à le réintégrer dans la userform du fichier xls.

Aujourd'hui ce code ne fonctionne plus, je pense à cause des mises à jour Office de ces dernières années... De plus, je souhaite aujourd'hui afficher 1 à 4 graphiques dans ma userform.

Pourriez-vous m'aider svp ?

Merci beaucoup

14suivi-test.xlsm (49.10 Ko)

Bonsoir Lamet,

En retour le fichier modifié pour ta demande.

Fait exemple pour le graphique 1. Ce dernier se placera par défaut dans le dossier Document.

Merci X Cellus !

Effectivement ça marche pour 1 graphique.

Mais comment faire pour plusieurs ? Faut-il créer 4 zones dans la userform ? J'avais plutôt l'idée de combiner les 2, 3 ou 4 graphes en 1 image mais je n'y arrive pas. Est-ce possible à votre avis ?

Merci

Bonjour Lamet,

On n'est pas obligé de créer 4 zones d'images dans le formulaire. Une seule peut suffire.

Voir avec le fichier modifié ci-dessous. Choisir le bouton Groupe après lancement de l'USF.

J'ai choisi de passer par l'appareil photo pour simplifier la procédure. Il est présent dans la première feuille en haut des graphiques. Lire la note.

S'il n'y est pas. Faire Fichier puis Options puis Personnaliser puis Toutes les Commandes.

Enfin sélectionner Appareil Photo puis l'ajouter dans un des onglets principaux (Menu à droite de la fenêtre).

Merci beaucoup, ça marche !

Mais sur mon écran, l'image s'affiche en tout petit dans la userform...

Bonjour Lamet,

Je pense que tu as du mettre la propriété du contrôle Image1 à Clip et non Strech voire Zoom.

Modifie la propriété. Sinon aussi, agrandit les valeurs des propriétés Haute (Height) et Large (Width) du contrôle Image1.

Bonjour X Cellus

Merci pour l'astuce, la propriété stretch résout le problème d'affichage.

J'ai voulu généraliser en donnant le choix entre plusieurs graphes à afficher mais il y a un souci :
lorsqu'on sélectionne (liste déroulante) un item et qu'on clique sur GROUPE, le graphe demandé s'affiche bien. Mais lorsqu'on sélectionne ensuite l'autre, les graphes de la feuille se mettent à jour mais pas l'image copiée dans le formulaire...

Merci de votre aide

Bonjour Lamet,

Selon le titre de ta demande tu souhaites afficher 1 à 4 graphiques.

Donc le bouton Visuel te permet de n"afficher qu'un graphique.

Et le bouton Groupe les quatre graphes.

Si tu désires 2 ou 3 graphiques à montrer. Il faut modifier la macro en conséquence.

Je télécharges ton récent fichier et regarde.

Bonjour,

Non le problème est que je souhaite, à l'aide d'une liste déroulante, choisir quelles données je représente sur le graphique et ça, ça marche. C'est la photo des graphiques qui ne se met pas à jour si on n'arrête pas la macro entre chaque changement sur la liste déroulante.

Bonsoir Lamet,

Dès l'ouverture du fichier le premier graphique est lancé automatiquement.

Ensuite par la liste déroulante tu peux choisir le second pour mise à jour (après calcul et réactualisation) de l'image du graphique.

Note: Ne pas appeler un module public avec un contrôle (Private ComboBox) du formulaire.

Car cela maintiendra actif le formulaire sans ré-actualisation de l'image qu'il contient.

Le programme a été modifié en ce sens.

Si ajout d'autres graphiques, voir le code dans la partie Feuil1 afin d'augmenter le critère ligne (Target.Row) actuellement < 3 en colonne S.

Bonjour X Cellus,

Merci beaucoup, ça marche.

Bon, il faut laisser le programme démarrer tout seul à l'ouverture du fichier ; si on le relance avec le bouton ça ne marche plus mais peu importe., le problème est résolu.

A+

Euhhh, je ne me souviens plus comment clôturer un sujet résolu...

Bonsoir Lamet,

Euhhh, je ne me souviens plus comment clôturer un sujet résolu...

Un petit rappel pour étourdi...

Suivre ce lien : Charte et informations utiles

Rechercher des sujets similaires à "afficher graphiques userform"