Cherche astuce (VBA ?) pour visualiser du détail

Bonjour Forum,

Je cherche une solution Excel/VBA pour rendre la visualisation de détail plus sympa dans des gros tableaux.

Voici un résumé très simple :

j'ai une page d'un tableau avec des lignes qui sont des résumés ou autrement dit des totaux (A,B,C) et j'ai du détail en page 2 pour chaque total.

Page 1

A 100

B 200

C 300

Page 2

A A1 33

A A2 33

A A3 34

B B1 100

B B2 100

C C1 300

Idéalement, je voudrais qu'en passant le pointeur de la souris sur le 100 à côté du A en page 1, une fenêtre du style commentaire (ou autre) apparaisse et me montre le détail disponible en page 2 pour tout ce qui concerne le A.

et ainsi de suite pour les autres cellules.

Je ne veux pas utiliser la fonction groupe/dissocier car le tableau est déjà lourd et je pense que c'est beaucoup plus lisible comme cela.

Qu'en pensez vous ?

c'est possible, ca existe déjà, c'est faisable ??

Merci d'avance,

Alci

Bonjour,

As-tu déjà essayé d'insérer un commentaire visible sur ta cellule ?

oui Mr Bond, enfin non, car ce n'est pas le but.

je m'explique, j'ai crée un formulaire en VBA et il montre des données à des utilisateurs pour les aider à saisir judicieusement d'autres données.

les lignes changent en fonction du l'utilisateur et en tout, j'ai 350 lignes.

si je dois mettre 350 commentaires et les changer tous les mois

je pensais qu'en "pointant" une cellule, je pouvais construire une espèce de rechercheV en vba qui aille me chercher des données ailleurs et les afficher dans une fenêtre, un peu comme une infobulle si on veut.

c'est vrai que mon exemple était si simplifié que cela rendait ma requête un peu bête mais voilà, j'espère que cela éclaire un peu plus le pourquoi du comment

merci

Re,

Ce qui va te coûter le moins en termes d'effort, c'est sans doute une macro évènementielle qui, en sélectionnant la cellule te permettra d'afficher un MsgBox ...

Est-ce-que cela pourrait te convenir ?

Oui carrément !

Et un utilisateur peut vouloir voir du détail si nécessaire mais pas forcément si le pointeur passe au dessus par inadvertance, ce qui risque d'être plus pénible qu'utile en fait. Donc solution idéale.

Je pense aussi à un point de paramétrage que je ne sais pas faire : le détail sera une liste de gens avec des chiffres et cette liste peut avoir une longueur variable donc il faudrait que le msgbox adapte sa taille à celle de la liste. Je crois que j'avais vu un post la-dessus mais ca date.

Aurais tu stp un code type pour ce genre de macro ?

Merci d'avance !

Alci

Bonjour à tous,

Une proposition a tester comme james a l'air de s'être endormi.

Clic-droit sur B.

Comme il s'agit d'une photo toutes les mises en forme sont ramenée : largeur colonne, couleurs etc.

La sélection d'une autre cellule efface l'image.

Clic-droit sur le nom d'onglet et 'visualiser le code...' pour y accéder. Le copier-coller dans le module de ta feuille, adapter si besoin.

eric

24classeur2.zip (10.09 Ko)

Bonjour Eric,

ca a l'air super !!!

C'est EXACTEMENT ce dont j'avais besoin.

Je vais de ce pas l'adapter à mon tableau et je reviens vers toi.

Merci aussi à James !

Bonne journée

Eric,

J'ai adapté ton code à mon cas et cela fonctionne. super !!

J'ai juste un bug que je ne comprends pas :

le fait de cliquer sur une autre cellule ne m’efface pas la photo précédente alors que chez toi oui.

j'ai tenté d'autres approches mais j'ai des boutons et des objets sur la page en question et souvent cela m’efface tout.

j'en profite pour donner un lien qui est super bien fait :

http://boisgontierjacques.free.fr/pages_site/lesimages.htm#Visibilite

une idée de ton côté ?

Merci

mon message a disparu ?!

bref, j'ai trouvé tout seul.

Bien que ton code fonctionne parfaitement dans ton tableau, il ne marchait plus une fois adapté dans mon tableau.

grâce à ce code, que je recommande lorsque l'on a des boutons et des zones de texte que l'on ne veut pas effacer, la nouvelle photo efface l'ancienne.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

For Each S In ActiveSheet.Shapes

If Not Intersect(S.TopLeftCell, Range("H16:P999")) Is Nothing Then

S.Delete

End If

Next S

End Sub

Voià, un grand grand merci à tous pour votre aide, et même si je me repête, ce forum est tout simplement génial !

Bon WE.

Alcibiade

@ Eriiic

Super bonne idée ...!!!

Meilleure que les Comments et les Msgbox ...

Et pour pouvoir utilisé le mouse_over(), j'avais peur de devoir générer beaucoup d'images ... mais ta solution est à la fois beaucoup plus simple ... et plus élégante

Et pour pouvoir utilisé le mouse_over(), j'avais peur de devoir générer beaucoup d'images ...

Regarde la technique du rollover : https://optionexplicitvba.blogspot.fr/2011/04/rollover-b8-ov1.html

Ainsi que cet exemple : https://optionexplicitvba.blogspot.fr/2012/06/period-table-of-elements-in-excel.html

Bon, un peu difficile à appréhender et rarement applicable mais spectaculaire

eric

eriiic a écrit :

Et pour pouvoir utilisé le mouse_over(), j'avais peur de devoir générer beaucoup d'images ...

Regarde la technique du rollover : https://optionexplicitvba.blogspot.fr/2011/04/rollover-b8-ov1.html

Ainsi que cet exemple : https://optionexplicitvba.blogspot.fr/2012/06/period-table-of-elements-in-excel.html

Bon, un peu difficile à appréhender et rarement applicable mais spectaculaire

eric

Eriiic,

Je ne suis pas surpris de ta part ... c'est justement à cette technique que j'avais pensé ...

Rechercher des sujets similaires à "cherche astuce vba visualiser detail"