Bonjour à tous,
Me voilà de nouveau ici avec un sujet sur lequel je débute.Je viens de creer un tableau de bord sur mon tableau ( sans création de croisé dynamique) car mon tableau et rempli de formule.
Je vous sollicite car je bloque sur la création d’une macro qui me permettrais de copier et coller des informations (exemple: de la feuille 1 à mon tableau de bord) voir photo ci-dessous.
quand je cliquerais sur le bouton feuille 1 je souhaite avoir ce qui est entourer en jaune sur la photo:
Bonjour Jacquinot,
tout d’abord merci pour ton aide, je me suis mal exprimé, je souhaite (quand je clic sur feuille 1 de mon tableau de bord) avoir ce qui est entouré en jaune dans mon exemple plus haut et aussi si je clic sur feuille 2 avoir (par exemple) ceci:
Bonjour FFO,
Merci pour ton retour, c’est exactement ça juste pour être sure, j’ai vu dans VBA tu as mis sub feuille_1 cela veut dire que j’ai pas besoin dire (call) et il est juste applicable pour ce bouton? (comme je l’ai dit je suis novice dans le vba).
Merci
Bonjour
Ravi que cela te convienne
Les boutons sont reliés à leur procédure :
Bouton « Feuille 1 » à la macro feuille_1
Bouton « Feuille 2 » à la macro feuille_2
Ce rattachement s’effectue par un clique droit dessus item « Affecter une macro » dans la liste
Tout à fait
Ces macros sont utilisables soit par leur bouton sur lequel ils sont reliés soit par activation directe ou par appel instruction Call
Voilà pour les précisions d’utilisation les concernant
Salut, encore merci pour tes explications, j’aurais une autre question, je voulais creer un graphique à partir d’un croisé dynamique, et je souhaite aussi l’intégrer sur un autre bouton.
Est-ce que je peux repartir de ton code en changeant juste la ligne que j’ai mis en jaune (par « Graphique 1 » ) ou je dois repartir sur une nouvelle macro?
Bonjour
Attention mes codes recopies des portions d’onglet déterminé dans la ligne jaune par son nom
(« Feuille 1 ») et les cellules départ et fin de celle-ci ( « L1 »,« W16 ») et ce dans la photo de l’onglet « Tableau de bord »
De plus en fonction de sa dimention et du positionnement à obtenir dans la photo les instructions qui suivent (Selection.ShapeRange) doivent être adaptées quant à leur valeur mentionnée en fin
Il va de soit que son activation doit être réalisée à partir de cette onglet
Il en va d’un résultat souhaité obtenu
Effectivement, j’avais bien compris que (selection.Shape range c’était les dimensions) et je pensais que si je changeais juste les cellules par le nom de mes tableaux cela marcherais
Il faut actualiser tous ses paramètres
Pour les lignes (Selection.ShapeRange) je procède à une manipulation manuelle en enregistrant une macro dans laquelle je les récupère
Tu peux aussi me transmettre un fichier doté de cette nouvelle source à intégrer dans la photo afin que je réalise la bonne procédure
A toi de voir
merci pour ton aide, tu créer toi même les macros ou tu le fais avec l’aide sur office 365?
J’ai vraiment envi de me servir de ça car je trouve que les possibilités sont infini
Il suffit d’avoir dans la barre d’onglet d’Exel l’item « Devellopeur »
En l’activant on obtient dans son menu « Enregistrer une macro »
Pas plus difficile
Si tu actives une macro qui a enregistré toutes tes manipulations pour un rėsultat souhaité obtenu son activation doit obtenir la copie conforme manipulation et résultat sans aucune erreur à son exécution
Quelles sont ces erreurs que tu mentionnes ?
Suivi essai 2025.xlsm (1,8 Mo)
Voici mon tableau, je pense que dans la formule il y a pas « bouton 1 » il me semble, peux-tu me dire ce que je fais de travers?
Merci
Après analyse la procédure a été modifiée car tu recopie un graphique qui contrairement à ta première demande n’est pas un ensemble de cellules mais une image
Les instructions ont du être adaptées
J’ai réalisé l’opération pour le premier graphique avec tous les commentaires nécessaire à la compréhension du déroulement de la procédure
Les lignes vertes sont soit des commentaires explicatifs des lignes qui suivent soit des lignes de code inhibées inutiles ou modifiées par la suivante
J’ai ajouté un arrêt (Stop) que tu pourras constater avant la partie concernant le deuxième graphique pour que tu puisse juger du résultat obtenu pour le premier en activant la macro par le bouton sans entamer l’intégration du second
Il suffit sur cet arrêt de réinitialiser l’exécution
Je te laisse le soin d’adapter la deuxième partie concernant le deuxième graphique en t’inspirant des lignes de code du premier et de t’appuyer sur les commentaires
Attention la partie « Nettoyage du tableau » n’est pas à dupliquer celui-ci n’est à réaliser qu’en tout début de traitement
Pour tester ta partie supprime le stop
Rien de tel pour appendre que de mettre les mains dans le cambouis !!!
Je reste en embuscade pour tout besoin et explication
Fais moi un retour
Bonjour FFO,
Merci pour ton aide et je suis tout à fait d’accord avec toi, je veux vraiment comprendre comment fonctionne le vba et rien de tel que de pratiquer. J’ai une autre interrogation, pourquoi il y a graphique 6 alors que je n’en ai pas ?
Bonjour
Attention ces lignes en vert comme je te l’ai décrit dans ma réponse ne sont que des commentaires ou des lignes de codes que tu as réalisé qui ont été inhibées car inutiles ou remplacées par la suivante modifiées par mes soins
D’une manière générale toute ligne sur font vert (précédé par le caractère (') qui leur attribue cette couleur ) sont sans aucun effet dans le traitement de la procédure donc ne pas les prendre en considération
Je profite de cette échange pour te préciser ceci :
Dans la partie Récupération du nom du Graphique une boucle analyse tous les noms des images en place et par un filtre de ceux initiaux récupère celui ajouté :
If Sh.Name Like « Fond »=False And Sh.Name Like « Button* » = False Then
Pour le premier graphique ce filtre est correct mais pour le second que tu réalises il faudra lui rajouter le premier intégré et positionnė dont le nom est porté par la variable nom :
nom=Sh.Name
Cet ajout doit être comme ceci sur la ligne de code de ce filtre :
If Sh.Name Like « Fond »=False And Sh.Name Like « Button* »=False And Sh.Name <> nom Then
Je te conseille pour la récupération de ce deuxième nom du deuxième graphique d’utiliser une autre variable comme ceci :
nom2=Sh.Name
Puis d’adapter les lignes de codes qui suivent en fonction (remplacer nom par nom2)