IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Quand Clic, Faire apparaitre les tableaux


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    Bonjour,

    J'ai un classeur, 2 feuilles. Feuil1, des tableaux avec des données. Feuil2, les résultats sous forme de graphiques de ces tableaux.

    (Je sais que je pourrais utiliser un format de graphique avec les données en dessous (cf création de graphique avec Excel), mais afin de faciliter la vision de l'ensemble (il y a beaucoup de données, et donc de graphiques), je ne souhaite pas utiliser cette possibilité.)

    Donc je cherche à mettre sous le graphique un lien (exemple : "Chiffres"), lorsque je clique (et maintien sur ce clic) sur "Chiffres", le tableau des données apparait, puis disparait lorsqu'on lache le clic.

    Donc quand clic, on cherche les coordonnées du tableau dans la feuil1, on ouvre la plage de données du tableau.

    Pour l'instant j'ai utilisé le lien hypertexte, mais ça ouvre complètement la Feuil1, et je suis à chaque fois obligé de fermer et/ou re-sélectionner la Feuil2....


    Une idée ?

    merci,
    A+

    Pour le clic souris, j'ai l'impression qu'il va falloir que je passe par un , mais je n'arrive pas à sélectionner les plages de cellules du tableau.....

    Une idée/orientation ?

    Merci,

    A+

    En fait, je cherche à faire comme un commentaire : lorsqu'on insère un commentaire dans une cellule, en passant dessus, le commentaire s'ouvre.....

    j'explore cette possibilité depuis 3h, mais....je n'ai pas l'impression que c'est la bonne solution......enfin, si pour le résultat final, mais de mettre le tableau de données dans ce commentaire......

    Donc si quelqu'un à une idée ou une autre idée, je suis preneur.....

    Merci,

    A+

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    Je suis encore resté un peu sur les commentaires avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      Range("P8").Select
        Range("P8").AddComment
        Range("P8").Comment.Visible = False
        Range("P8").Comment = Range("G7:L16").Value 'Text:=Range("G7:L16").Value
    Mais j'ai toujours une erreur (=objet)...Normal, certes, mais j'ai encore plus galéré avec les Toujours pas une petite idée ?

    Merci,

    A+

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    J'ai regardé dans les possibilités, et/ou le forum, j'ai bien trouvé le tuto de Silkyroad concernant le "clic-souris", j'arrive à avoie l'évènement "clic", mais impossible d'avoir l'ouverture d'une plage de cellule....

    Je fais fausse route ?

    Merci,

    A+

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    Toujours en encore.....

    C'est bon, j'arrive à créer l'évènement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
        Dim x As Long
        Dim lngColorIndex As Long
     
        Cancel = True
     
        ' Cherche coordonnées
        Sheets("Feuil2").Cells(2, 2) = Sheets("Feuil1").Range("A1")
     
     
    End Sub
    Mais je n'arrive qu'à récupérer la cellule A1, alors que je cherche à récupérer A1-B20. J'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil1").Range("A1:B20")
    et ça ne fonctionne pas....je pense que c'est que le format de mon clic droit (=cellule B2), n'est pas le même que A1:B20..... Je ne désespère pas, mais.....dur-dur de faire afficher la plage de cellule.....

    Une idée ?

    Merci,
    A+

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Une proposition
    On suppose qu'on veux faire un clique droit sur la cellule D12 de Feuil1 pour faire apparaitre la plage A1:C5 de Feuil2 (en image) et un double clique sur D12 de feuil1 supprime cette image
    On suppose que tu n'as pas d'autres images sur ta feuille Feuil1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    'Insère l'Image, image de A1:C5 de Feuil2 sue clique droit
    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Dim shp As Shape
     
    If Target.Address(0, 0) = "D12" Then
        Cancel = True
        For Each shp In ActiveSheet.Shapes
            If shp.Type = 13 Then shp.Delete
        Next shp
        Range("D13").Select
        Sheets("Feuil2").Range("A1:C5").Copy
        ActiveSheet.Pictures.Paste
        Application.CutCopyMode = False
    End If
    End Sub
     
    'Supprime l'image sur double clique en D12
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim shp As Shape
     
    If Target.Address(0, 0) = "D12" Then
        Cancel = True
        For Each shp In ActiveSheet.Shapes
            If shp.Type = 13 Then shp.Delete
        Next shp
    End If
    End Sub

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    Trop top mercatog

    C'est exactement ce que je cherchais à avoir !!!!!

    J'ai exploré pas mal de possibilités, mais l'idée de passer par une image est excellente !!! et surtout apporte la solution à mon problème

    Merci à toi pour cette très bonne idée, et surtout ce très bon code !!! Je n'ai plus qu'à l'adapter à mon classeur.

    (pour info aux memebres du forum, il faut positionner ce code dans l'objet "Feuil1" pour qu'il fonctionne)

    Merci mercatog,

    A+ pour de prochaines aventures

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Faire apparaitre les lignes sans enregistrements.
    Par bolderiz dans le forum Designer
    Réponses: 8
    Dernier message: 22/05/2007, 13h44
  2. Réponses: 2
    Dernier message: 19/04/2007, 09h27
  3. [vBulletin] Faire apparaitre les sous forum sur le forum parent
    Par sofidz dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 02/04/2007, 16h44
  4. faire apparaitre les images
    Par flamel dans le forum Access
    Réponses: 2
    Dernier message: 04/06/2006, 10h49
  5. faire apparaitre les scrollbar en 800*600
    Par Djwaves dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 06/02/2006, 21h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo