Fonction DECALER

Bonjour,

J’ai une BDD qui fonctionne parfaitement pour des essais mais je ne peux pas la reproduire je suis bloqué par la fonction DECALER de B2

A2 : je demande un Code Postal

B2 : la fonction DECALER permettais de proposer les différentes villes du code postal A2

C et D2 affiche le département et le code INSEE de la ville sélectionnée.

Le code postal figure sur les références postales données par l’adhérent donc je ne cherche pas le code postal mais une des villes données aussi par l’adhérent ainsi que le département et le code INSSE de cette ville

Il est plus rapide faire des recherches sur des nombres soit CP que sur des noms de villes du fait de nombreux doublons au niveau national.

Il existe de nombreux doublons de Villes au niveau national et il peut y avoir en périphérie des départements, des villes ayant code sur postal sur le département voisin

Je vous joins ma BDD partielle qui fonctionne bien sur laquelle je ne peux pas visualiser la fonction DECALER en B2

Je valide bien B2: ctrl-maj et en simultané entrée

Vous pourrez faire des essais sur 5 codes postaux de l’Ain

Merci de bien vouloir me renseigner.

Ci-dessous BDD

https://fromsmash.com/qbE05T_Kjg-ct

Bonjour

Définir en partant de la cellule B2, une formule nommée Villes avec la formule

=DECALER(tab_Villes[[#En-têtes];[Villes]];EQUIV(Adherents!$A2;tab_Villes[Code_Postal];0);;NB.SI(tab_Villes[Code_Postal];Adherents!$A2);1)

Puis dans Validation utiliser comme source de la liste =Villes

Merci pour la réponse:

La fonction décaler fonctionne mais me propose toutes les villes de la liste alors que je doit avoir seulement celles du code postal A2.

Dans la formule initiale, on me donnais seulement liste des fonctions comprise H12 à H13 d'ou (H13-H12+1)

Dans validation des données je prends la colonne "Villes" de la feuille Villes !

Merci

Noooooooon

Je ne sais où tu l'a collée mais si tu suis attentivement ce que j'ai décrit cela fonctionne parfaitement

On ne prend pas la colonne Ville dans la validation mais la liste nommée Villes.

listesvilles

Je n'ai pas ta maîtrise ! En B2

liste

Je rentre ta fonction sans la modifier je la valide par ctrl-maj et entrée

J'ai le message ci-dessous

validation

Merci de bien vouloir me renseigner

Relis attentivement : il n'y a que 2 phrases...

Définir en partant de la cellule B2, une formule nommée Villes avec la formule
=DECALER(tab_Villes[[#En-têtes];[Villes]];EQUIV(Adherents!$A2;tab_Villes[Code_Postal];0);;NB.SI(tab_Villes[Code_Postal];Adherents!$A2);1)

Puis dans Validation utiliser comme source de la liste =Villes

Une formule nommée se crée en passant par Formules, Définir un nom

Et ctrl-maj et entrée n'est pas cité et parfaitement inutile

Je ne voudrais pas abuser.

J'ai nommé la cellule B2= Villes

Copié ta fonction sans modifications aussi en B2

Validation des données= Liste = Villes

Valider apr maj-ctrl, Entrée

Même message

Merci encore

valid villes

Tu n'utilise pas B5B6 ?

Bonjour

Je ne sais pas en quelle langue l'écrire ! Tu ne lis pas ce qu'on t'indique !

Tu te places en B2, tu ouvres Formules, Définir un nom :

Nom : Ville

Fait référence à : la formule que je t'ai donnée hier à 14h

listesvilles2

Et j'ai déjà dit :

  • de ne DE NE PAS UTILISER CTRL MAJ ENTREE
  • en revanche de mettre le signe = devant Villes dans la validation comme indiqué sur mes posts d'hier 14h, d'aujoud'hui à 21h20

Merci

Depuis adherent B2

chris2 chris1

Je pense avoir respecter ta procédure !

Peut être que si tu me renvoie la BDD je pourrais la différence avec la mienne

Excuse moi pour ces tergiversations

Merci

RE

3ème édition :

  • en revanche de mettre le signe = devant Villes dans la validation comme indiqué sur mes posts d'hier 14h, d'aujoud'hui à 21h20

Tu ne lis toujours pas...

Ton tableau des villes est-il bien un tableau structuré nommé tab_Villes ? Si non, cela explique le rejet de la formule

La formule que tu indiquais en B12 du fichier de ton premier post était basé sur ce principe

J'ai l'impression qu'en fait tu as picoré à droite à gauche des morceaux de formules et de code VBA ou même un fichier pour tenter de l'adapter sans comprendre.

Ca marche

capture

J'utilisais beaucoup Excel mais pas avec le VBA ça explique mes hésitations

J'ai surement beaucoup plus de printemps que toi et ça explique aussi pas mal de choses

Je te remercie pour ta patience

Merci

RE

Ici je n'ai pas proposé une once de VBA, je n'ai même pas regardé le code de ton fichier.

C'est du pur Excel

Pour le reste ne prends pas de paris...

Enfin l'essentiel est que cela fonctionne...

Encore moi

Le but pour moi ce n'est pas seulement être dépanné mais de pouvoir le reproduire et le refaire si nécessaire et ce que ne suis pas arrivé à faire contrairement à cet après midi !

Plutôt que le décrire ici j'ai préféré faire un document Word de manière à ce que tu me le corrige si tu veux bien

Merci de bien vouloir encore me renseigner

RE

  1. mettre la liste des villes sous forme de tableau structuré : je t'ai donné un lien qui explique tout sur ces tableaux structurés
    Le tableau structuré comme tout classeur, tout onglet,... reçoit un nom automatique qu'il faut modifier en tab_Villes (ce qui est expliqué dans le lien)
    Avec une image je ne peux voir si tu as bien un tableau structuré ou une plage
  2. se placer en B2 et définir le nom Villes avec la formule donnée
  3. sélectionner B2 à B... et définir la validation en se référant au nom Villes sans oublier =

Merci

OK je passe les feuilles adhérents et Villes en mode tableau: insertion/tableau et pour annuler création/convertir en plage

Est-ce que je passe toutes les colonnes en mode texte suivant préconisation suivante de P.Fauconnier ?

Mettre au format texte colonne Code_ postal, Villes et Adhérents par copier-coller de l’instruction de Pierre Fauconnier =TEXTE([@[Code_Postal]];"00000")

Bon dimanche

Bonjour

OK je passe les feuilles adhérents et Villes en mode tableau: insertion/tableau et pour annuler création/convertir en plage

Est-ce que je passe toutes les colonnes en mode texte suivant préconisation suivante de P.Fauconnier ?

Mettre au format texte colonne Code_ postal, Villes et Adhérents par copier-coller de l’instruction de Pierre Fauconnier =TEXTE([@[Code_Postal]];"00000")

Le but est de passer en tableau mais surtout pas de revenir en plage ensuite

La colonne Code postal doit être en format texte avant la saisie des 5 caractères

C'est le cas de ton onglet Villes donc pas de problème

Il faut mettre la colonne Code_Postal du tableau Adhérents aussi en format texte avant la saisie

Si Villes et Adhérents sont sous forme de tableaux structurés, et le format bien appliqué à la colonne Code postal, toute nouvelle ligne aura automatiquement le bon format

Donc la formule TEXTE est ici inutile

Rechercher des sujets similaires à "fonction decaler"