Renvoyer une valeur par clic?

Tim68000 -  
gbinforme Messages postés 14930 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

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  2. Tim68000
     
    Le site est bloqué par l'entreprise..

    Je vais vous montrer une image, et sinon je le ferai depuis chez moi.
    0
  3. 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
  4. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. 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
  8. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  9. 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
    1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Bonjour,

      Cela ne marche cependant pas encore.

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

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