Erreur sur code postal

martini8 Messages postés 39 Statut Membre -  
 eugene-92 -
Bonjour,
je ne trouve pas mon erreur
sur une formule qui me s'amble Corrette avec recherche
merci de regarder.
https://www.cjoint.com/c/KFok2NAEhHf

Configuration: Windows / Chrome 91.0.4472.101

5 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour eugene
    pour info
    la fonction RECHERCHEV fonctionne même sur une liste non classée si on la termine par le code ;FAUX) ou ;0) ou même simplement ;)
    s'il y a plusieurs code identique , la formule en ressortira un, le premier uniquement. Pour en traiter plusieurs il faut passer par une matricielle, comme par exemple pour le modèle en cause, en F3 :

    =SIERREUR(INDEX(liste!$I$1:$I$39000;PETITE.VALEUR(SI(liste!$G$1:$G$39000=$E$3;LIGNE(liste!$A1:G$39000));LIGNE(A1)));"")

    formule à entrer avec la touche enter en maintenant les touches ctrl et shift enfoncées.
    Elle doit s'afficher automatiquement entre accolades dans la barre de formule

    à tirer sur la hauteur utile
    Testable avec le code 06420 qui renvoie 12 villes

    crdlmnt
    2
    1. eugene-92
       
      Certes, le classement numérique n'est pas absolument indispensable, mais le tableau serait plus rationnel.
      Cela dit, si notre ami martini avait des difficultés avec la formule matricielle, peut-être pourrait-il essayer d'utiliser les filtres automatiques...
      0
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    deux points:
    • votre formule va chercher la neuvième colonne d'un tableau qui n'en a que trois, écrivez:

    =SI(E3="";"";RECHERCHEV(E3;liste!$G$1:$I$38469;3;FAUX))
    • vos formats de cellules ne sont pas identiques: textes dans la feuille liste et code postal dans la recherche, les valeurs ne sont pas les mêmes.

    formatez E3 de feuille 1 en texte et entrez bien le code avec le 0 s'il y en a un en entête

    et ça devrait aller (chez moi ça renvoi Grasse)

    1
    1. eugene-92
       
      Bonjour,
      il faudrait aussi que les codes postaux soient classés par ordre numérique.
      Par ailleurs le même code désigne plusieurs villes, et dans ces conditions la fonction RechercheV() ne fonctionne pas.
      Cordialement.
      0
  3. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    Bonjour à martini, Vaucluse, eugène.

    Je complète un peu les réponses, explications et formules de mes amis Vaucluse et Eugène en disant à martini :
    • dans la fonction RECHERCHEV, le N° de colonne à inscrire n'est pas celui de la feuille Excel (en effet I c'est bien la colonne 9), mais celui de la colonne du tableau de recherche (et c'est la colonne 3 de la plage G:I) ;
    • tu as cru bien faire en appliquant à E3 le format Spécial / Code postal pour forcer l'affichage du zéro initial ; alors il fallait aussi le faire pour la colonne G de la feuille [liste] ; tu dois donc soit faire comme indiqué par Vaucluse en choisissant le format Texte, soit en plaçant une apostrophe lorsque le code commence par zéro
       '06130
      ;
    • de même que tu as défini des plages nommées Postal et Ville, tu aurais pu définir la plage Code pour faire référence à $G:$I et écrire en F3 la formule =SI(E3="";"";RECHERCHEV(E3;Code;3;FAUX)) ... je sais que ce dernier conseil est superflu ici, puisque tu dois abandonner RECHERCHEV et passer à une formule matricielle.

    --------------------------------------------------------
    Vaucluse, je m'en vais plagier ta formule matricielle pour rédiger une petite fiche technique (pédagogique), car c'est ici un bon exemple, et qu'on en voit immédiatement l'utilité. Merci d'avance !

    Cordialement.
    0
  4. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511
     
    Salutations à tous,

    J'ajoute mon petit grain de sel, pour faire joli les bordure de la colonne F (formule matricielle descendue jusqu'à F30) ne se forment qu'en présence d'une ville dans la cellule concernée

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

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

    Posez votre question
  6. eugene-92
     
    Bonjour,
    Une autre approche avec une petite macro. Les colonnes D à H et L à P pourraient être utilisées pour le traitement d'autres données, chef-lieux, sous-préfectures, cantons etc.
    Cordialement
    https://cjoint.com/c/KFrkbArgknG
    (après quelques problèmes de fichiers...)
    0
    1. eugene-92
       
      @martini
      Bonjour,
      Avez vous vu les réponses ci-dessus ?
      0
      1. eugene-92 > eugene-92
         
        Pas de réponse...
        0