Créer double clic, renvoyer valeur, valeurs ligne et colonne dans cellules

Y compris Power BI, Power Query et toute autre question en lien avec Excel
t
tonio2a
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 12 juillet 2019
Version d'Excel : 2017

Message par tonio2a » 12 juillet 2019, 11:52

Bonjour à tous,

Je souhaiterais créer un programme me permettant de sélectionner une cellule (créer un double clic) dans un tableau de valeurs, et que ce double clic puisse me renvoyer le "titre" de la ligne et de la colonne du tableau dans lequel se trouve ma cellule. Ces trois données (valeur cellule, titre ligne qui est le diamètre de mes barres d'aciers et titre colonne qui est le nombre de ces barres d'aciers) seront à placer respectivement dans une cellule leur correspondant (E41:G41).

J'ai joins à ce message une capture du tableau en question.

Mes connaissances en programmation VBA ne me permettent pas de résoudre ce problème.

Merci d'avance pour votre aide précieuse!
Capture.PNG
Avatar du membre
xorsankukai
Membre impliqué
Membre impliqué
Messages : 2'160
Appréciations reçues : 236
Inscrit le : 7 octobre 2014
Version d'Excel : 2010 FR

Message par xorsankukai » 12 juillet 2019, 12:10

Bonjour tonio2a, le forum,

:bv:

Plutôt que de joindre une photo qui est inexploitable, joints un fichier avec le résultat escompté.
Tu obtiendras alors une réponse assez rapidement, ;;)

Cordialement,
xorsankukai

La connaissance, c’est partager le savoir qui nous fait grandir.
t
tonio2a
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 12 juillet 2019
Version d'Excel : 2017

Message par tonio2a » 12 juillet 2019, 12:15

et voici le fichier, merci pour l'information Xorsankukai :)
Tableau.xlsx
(10.39 Kio) Téléchargé 4 fois
Avatar du membre
xorsankukai
Membre impliqué
Membre impliqué
Messages : 2'160
Appréciations reçues : 236
Inscrit le : 7 octobre 2014
Version d'Excel : 2010 FR

Message par xorsankukai » 12 juillet 2019, 12:37

Re,

Merci pour le fichier, :)

A tester.....
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Not Application.Intersect(Target, Range("B6:K15")) Is Nothing Then
   Range("D2") = Cells(Target.Row, 1)
   Range("E2") = Cells(5, Target.Column)
   Range("F2") = Target.Value
  End If
   Cancel = True
End Sub
Copie de Tableau-1.xlsm
(15.69 Kio) Téléchargé 7 fois
Cordialement,
xorsankukai

La connaissance, c’est partager le savoir qui nous fait grandir.
t
tonio2a
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 12 juillet 2019
Version d'Excel : 2017

Message par tonio2a » 12 juillet 2019, 15:53

Re xorsankukai,

D'abord merci pour votre aide!

Après avoir essayé de comprendre votre code et réalisé plusieurs tests, je me rends compte que votre programme fonctionne pour le Target.Value mais ne me renvoie rien pour les titres de colonnes et lignes…

Pourriez-vous m'indiquer ce qui pourrait bloquer?

Dans l'attente de vous lire,
Avatar du membre
xorsankukai
Membre impliqué
Membre impliqué
Messages : 2'160
Appréciations reçues : 236
Inscrit le : 7 octobre 2014
Version d'Excel : 2010 FR

Message par xorsankukai » 12 juillet 2019, 16:16

Re,
votre programme fonctionne pour le Target.Value mais ne me renvoie rien pour les titres de colonnes et lignes…
Chez moi, lorsque je double-clic sur B9, en D2 j'ai bien 12 (le nombre), en E2 j'ai 1(le HA) et en F2 j'ai 1,13 qui est la valeur.
(Le double-clic fonctionne uniquement sur la plage B6:K15).
Ai-je mal compris la demande ?

Cordialement,
xorsankukai

La connaissance, c’est partager le savoir qui nous fait grandir.
t
tonio2a
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 12 juillet 2019
Version d'Excel : 2017

Message par tonio2a » 12 juillet 2019, 16:38

Re,

Sur votre exemple ça fonctionne, sur mon classeur je n’ai que le target.value qui renvoie une valeur. Je vous envoie lundi mon classeur entier de façon à ce que vous puissiez analyser le problème.

Merci encore, bon week end
t
tonio2a
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 12 juillet 2019
Version d'Excel : 2017

Message par tonio2a » 15 juillet 2019, 10:59

Bonjour,

Voici mon classeur.



Ma question concerne la feuille "ferraillage". Sur le tableau étendu de B59 à L68, je souhaiterai donc retourner la valeur sélectionnée grâce à un double clic dans la cellule G41. La valeur de la ligne en F41 et la valeur de la Colonne en E41.

Merci d'avance pour vos réponses.
Poutres-Voile Isostatique hugo.xls
(661.5 Kio) Téléchargé 1 fois
Avatar du membre
xorsankukai
Membre impliqué
Membre impliqué
Messages : 2'160
Appréciations reçues : 236
Inscrit le : 7 octobre 2014
Version d'Excel : 2010 FR

Message par xorsankukai » 15 juillet 2019, 17:35

Bonjour tonio2a, le forum,

essaie ainsi:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Not Application.Intersect(Target, Range("B59:L68")) Is Nothing Then 'si double-clic dans plage B58:L68
   Range("E41") = Cells(Target.Row, 2)  'E41 = correspondance de la cible en colonne B
   Range("F41") = Cells(58, Target.Column)  'F41 = correspondance de la cible en ligne 58
   Range("G41") = Target.Value  'G41= valeur de la cible
  End If
   Cancel = True
End Sub
Poutres-Voile Isostatique hugo.xls
(660 Kio) Téléchargé 14 fois
Cordialement,
xorsankukai

La connaissance, c’est partager le savoir qui nous fait grandir.
t
tonio2a
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 12 juillet 2019
Version d'Excel : 2017

Message par tonio2a » 16 juillet 2019, 11:02

Salut xorsankukai,

Cela fonctionne parfaitement, merci beaucoup!

J'aurais une autre question : sauriez-vous s'il est possible, par l'intermédiaire de fonctions de dessin "CAD", "DXF" ou autres, de créer un programme permettant d'interpréter mes résultats en dessin?
Je suppose qu'avant ça il faudra créer une base de données permettant de retranscrire mes résultats en coordonnées (x et y) de façon à pouvoir tracer=dessiner ces derniers.

Si vous avez une idée de la chose, je suis preneur de tous renseignements.

Dans l'attente de vous lire,

Hugo
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message