Renvoyer une valeur par clic?

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. Contributeur
    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
    1. Le site est bloqué par l'entreprise..

      Je vais vous montrer une image, et sinon je le ferai depuis chez moi.
      0
      1. 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
        1. Contributeur
          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
          1. 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
            1. 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
              1. Contributeur
                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
                1. 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. Contributeur
                    Bonjour,

                    Cela ne marche cependant pas encore.

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

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