Rechercher une valeur en tapant une partie de celle-ci

Résolu
ScorpionRR Messages postés 9 Statut Membre -  
ScorpionRR Messages postés 9 Statut Membre -

Bonjour à tous,

Je suis en train de me créer un formulaire pour faire de l'encodage.

Dans ce formulaire, je souhaiterai pouvoir taper une partie d'une valeur et que la valeur me soit donnée.

Je m'explique : j'ai une série de compte de contrat qui se présente :

1000 0000 0001

1000 0000 0002

1000 0000 0003

1000 0000 0004

Par exemple quand je tape 0003 je veux qu'une cellule me donne 1000 0000 0003

J'espère avoir été clair dans mes explications

D'avance je vous remercie pour vos réponses


Windows / Firefox 128.0

11 réponses

Résumé de la discussion

Le besoin est d'un formulaire Excel permettant de taper une partie d'un compte de contrat et de renvoyer le compte complet, par exemple "0003" renvoyant "1000 0000 0003". Une solution proposée utilise INDEX et AGGREGATE avec une vérification des quatre derniers chiffres (DROITE) pour renvoyer le compte correspondant dans la liste, en tenant compte éventuellement du formatage avec des espaces. Une démonstration pratique montre l’emploi de CTXT et de plages de données, mais des tests indiquent que certaines saisies comme "8788" ne fonctionnent pas comme attendu. En parallèle, l’usage d’une macro est évoqué comme alternative automatique, et la question des comptes débutant par 4000 est mentionnée comme normale.

Bobot (l'IA à votre service)
  1. DjiDji59430 Messages postés 4280 Date d'inscription   Statut Membre Dernière intervention   718
     

    Bonjour à tous,

    c'est clair, mais trop succinct
     
    Avec un format de cellule

    "1000 0000 "0000


    Crdlmt

    0
    1. ScorpionRR Messages postés 9 Statut Membre
       

      oui

      0
    2. ScorpionRR Messages postés 9 Statut Membre
       

      Que dois je modifier afin que cela puisse fonctionner ?

      Il est possible pour moi de travailler avec

      100000000000

      100000000001

      100000000002

      sans espaces

      ;-)

      0
      1. Raymond PENTIER Messages postés 58229 Date d'inscription   Statut Contributeur Dernière intervention   17 490 > ScorpionRR Messages postés 9 Statut Membre
         

        Bonjour.

        1. "Que dois je modifier afin que cela puisse fonctionner ?".
          Il n'y a rien à modifier : ça fonctionne ...
        2. DjiDji t'a donné la solution avec espaces, comme demandé initialement.
          Il te suffit de supprimer ces espaces !
        0
  2. DjiDji59430 Messages postés 4280 Date d'inscription   Statut Membre Dernière intervention   718
     

    Bonjour,

    - - - Un fichier EXCEL (test ou non), complété par des explications exhaustives et des exemples remplis à la main, mis sur lhttps://www.cjoint.com/ , ainsi que ta version d'Excel, permettrait aux intervenants de répondre plus précisément à ta question.
    Crdmt

    0
  3. ScorpionRR Messages postés 9 Statut Membre
     

    Bonjour à tous,

    https://www.cjoint.com/c/NGxqxVA1YnM

    Voici le fichier en question.

    En fait je suis chargé de l'encodage de facture d'énergie dans une administration et ici c'est pour des facture d'eau sur chaque facture il y a un compte de contrat et celui-ci correspond à un article budgétaire en fonction de l'affectation du bâtiment.

    je vous laisse découvrir ce fichier.

    Merci d'avance pour vos réactions.

    Merci à DjiDji pour tes réponses

    Merci à Raymond Pentier pour tes réponses

    Merci aussi à Daniel

    Bien à vous, :-)

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

    Posez votre question
  5. danielc0 Messages postés 2220 Date d'inscription   Statut Membre Dernière intervention   296
     

    C'est ce genre là que tu veux ?

    Précise ta version d'Excel.

    Daniel


    0
  6. Raymond PENTIER Messages postés 58229 Date d'inscription   Statut Contributeur Dernière intervention   17 490
     

    Bonjour Scorpion.

    "Par exemple quand je tape 0003 je veux qu'une cellule me donne 1000 0000 0003
    J'espère avoir été clair dans mes explications".

    Je regrette, mais ce n'est pas clair du tout ! En tout cas, cela ne correspond pas du tout à ton fichier :


    0
  7. ScorpionRR Messages postés 9 Statut Membre
     

    Bonjour,

    Ma version d'excel est une version office 2019.

    Je veux pouvoir taper les quatre derniers chiffre dans la recherche (entre type de document et compte de contrat) et que la case compte de contrat me donne le compte de contrat en entier.

    MERCI à vous

    0
    1. DjiDji59430 Messages postés 4280 Date d'inscription   Statut Membre Dernière intervention   718
       

      Bonjour à tous,

      Et c'est normal un compte qui commence par 4000 ?


      Crdlmt

      0
      1. ScorpionRR Messages postés 9 Statut Membre > DjiDji59430 Messages postés 4280 Date d'inscription   Statut Membre Dernière intervention  
         

        oui

        0
  8. danielc0 Messages postés 2220 Date d'inscription   Statut Membre Dernière intervention   296
     

    Bonjour à tous,

    Sur la feuille BDD en K2 (par exemple) :

    =INDEX(A:A;AGREGAT(15;6;LIGNE($A$2:$A$241)/(DROITE($A$2:$A$241;4)=CTXT(ENCODAGE!D7;0;1));LIGNE(A1)))

    Sur la feuille ENCODAGE, en D7, validation de données avec la cellule BDD!K2 :

    https://www.cjoint.com/c/NGyiW0xMEdD

    Daniel


    0
  9. ScorpionRR Messages postés 9 Statut Membre
     

    Bonjour Daniel,

    Merci pour votre réponse.

    Mais à l'usage cela ne fonctionne pas.

    Si par exemple je tape 8788 cela ne me donne pas 1000 0134 8788.

    Bien à vous

    0
    1. danielc0 Messages postés 2220 Date d'inscription   Statut Membre Dernière intervention   296
       

      Autant pour moi. Le bémol, c'est que la valeur saisie se retroue dans la liste :

      Je ne sais pas si c'est exploitable :

      https://www.cjoint.com/c/NGyjzxZM5BD

      Sinon, reste la solution avec VBA (message 15) .

      Daniel

      0
  10. ScorpionRR Messages postés 9 Statut Membre
     

    Merci beaucoup Daniel

    Merci à tous :-)

    0