Renvoyer une valeur par clic?

Tim68000 -  
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,


J'aimerai savoir s'il est possible de renvoyer une valeur d'une cellule à une autre par un simple clic

Je m'explique

Je réalise un outil sur excel, j'ai notamment 2 feuilles :
La première est la feuille principale ou l'on rentre les données et ou il faut un numéro de série (entrée en A1)
L'autre est une outil de recherche dans une base de données qui permet à l'utilisateur de trouver un numéro de série particulier.

J'aimerais qu'en cliquant sur un numéro de série de la base de données, celui ci soit renvoyé directement dans la case A1 de la feuille principale.

En gros cliquer sur une case de la feuille deux pour que la valeur soit renvoyée en A1 de la feuille un.

Existe-t-il une telle fonction sur Excel 2007?

Merci beaucoup et bonne semaine!

8 réponses

gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 728
 
Bonjour,

Cette fonction n'est pas une fonction native d'excel mais tu peux très bien faire une macro pour la réaliser.
Si tu pouvais nous mettre un exemple de structure des données, sans éléments personnels, avec les résultats souhaités expliqués clairement, se serait plus facile de t'aider.
Pour communiquer ton classeur tu le télécharges sur https://www.cjoint.com/ et tu mets ici le lien obtenu.
0
Tim68000
 
Le site est bloqué par l'entreprise..

Je vais vous montrer une image, et sinon je le ferai depuis chez moi.
0
Tim68000 Messages postés 15 Statut Membre
 
En feuille 1 il n'y a rien, je veux juste y renvoyer la valeur du numéro de série de la feuille 2 sur lequel j'aurai cliqué

Voici la feuille 2 :



On trouve une liste de numéro de série (>30.000 dans le vrai outil) et un outil de recherche géré par macro qui filtre la base de données.

J'aimerais donc qu'en cliquant sur le numéro de série de mon choix (donc dans la colonne B), soit renvoyé dans la feuille 1 en A1

Est-ce plus clair?

Je suis désolé, je ne peux pas du tout copier les informations de mon vrai programme.

Merci beaucoup !
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 728
 
Bonjour,

Dans la feuille 2 tu mets cette macro et le renvoi devrait fonctionner :

Private Sub Worksheet_SelectionChange(ByVal sel As Range)
If Not Intersect(sel, [B:B]) Is Nothing Then
If IsNumeric(sel.Value) And sel.Value <> "" Then
Sheets("Feuil1").[A1].Value = sel.Value
End If
End If
End Sub

Si le nom de ta feuille 1 est différent de "Feuil1" tu rectifies ;-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Tim68000 Messages postés 15 Statut Membre
 
Bonjour,

Merci pour l'aide !

Cependant ça ne marche pas... j'ai écrit ça dans la console de macro, mais rien ne se passe.

Cela est peut être du au fait que les numéros de série comprennent également des lettres et des caractères ("/" et "-"). (If numeric....)

Cela marche pour un simple clic sur la case en théorie? Merci !
0
Tim68000 Messages postés 15 Statut Membre
 
Je me permets de vous relancer comme ce sera demain mon dernier jour de stage.

Cette option que je souhaite ajouter n'est pas indispensable mais serait très pratique pour les utilisateurs finaux du projet.

Merci beaucoup et bonne soirée
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 728
 
Bonjour,

Tu me mets un exemple numérique puis tu dis "les numéros de série comprennent également des lettres et des caractères ("/" et "-")", c'est effectivement incompatible !

Remplace :
If IsNumeric(sel.Value) And sel.Value <> "" Then
par
If sel.Value <> "" Then

Si tu veux revenir sur la feuill 1 tu rajoutes
Sheets("Feuil1").activate

avant les end if

Toujours zen
La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer. Antoine de Saint-Exupéry
0
Tim68000 Messages postés 15 Statut Membre
 
Merci !

Cela ne marche cependant pas encore.
Que veut dire la première instruction :
"If Not Intersect(sel, [B:B]) Is Nothing Then"
?


Merci encore

Timothé
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 728
 
Bonjour,

Cela ne marche cependant pas encore.

et pourtant si tu appliques correctement le code il doit fonctionner :

https://www.cjoint.com/?DFmlDnilcRf
0