Fonction logique "SI" dans Excel [Résolu/Fermé]

Signaler
Messages postés
97
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
26 décembre 2020
-
Messages postés
97
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
26 décembre 2020
-
Bonjour,

Voilà, comme demandé dans un post précédent (résolu), j'ai donc mon tableau dynamique créé et maintenant dans les cellules supérieures au TD, je dois insérer une fonction logique "SI"

J'insère mes fonctions dans les cellules de la ligne 4 en commençant par la colonne B

=SI(B7="bv09002";"VP53125"; SI(B7="bv09003";"VP53126"; SI(B7="bv09004";"VP53127";))), etc...

En faisant un copier coller de la cellule B4 en C4...AX4, mon B7 devient C7 etc... Jusque là pas de problème. Pouvant insérer jusqu'à "SI", je devrais avoir assez.

La question est la suivante : En sachant que "bv09002", "bv09003" etc... se trouvent dans ma feuille de données principale, n'y a-t-il pas moyen d'éviter justement de tout devoir retaper (risques d'erreurs) et d'aller justement rechercher ces données dans ma 1ère feuille.

Par contre, les VP53125, et + proviennent d'une autre source de donnée et celles-là je dois les retaper.

Merci d'avance

Voici le lien : http://www.cijoint.fr/cjlink.php?file=cj200910/cijtRx72rJ.xlsx

Fab

13 réponses

Messages postés
53884
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 mai 2021
15 888
Bonjour.

"En sachant que "bv09002", "bv09003" etc... se trouvent dans ma feuille de données principale, n'y a-t-il pas moyen d'éviter justement de tout devoir retaper (risques d'erreurs) et d'aller justement rechercher ces données dans ma 1ère feuille."
Utiliser un tableau de 2 lignes et la fonction RECHERCHEH() devrait solutionner ce problème.
Messages postés
97
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
26 décembre 2020
1
Re,

Je ne connais pas du tout :-). mais ça en essais-erreurs ça devrait aller...

Quant à mettre le tableau en 2 lignes, ça ne va pas me paraître possible, il est composé de + de 3000 lignes (sur ma page de données)

Avez-vous pu charger le dossier .xlsx pour visualiser le tout ? Apparemment ça me semble bizarre, je ne le trouve pas lorsque je suis le lien.

Bien à vous

Fab
Bonjour,
Le nombre maximum de Si imbriquée est de 64, je pense que cela ne devrait pas car le nombre des [bv09002, br….. ] et supérieur a 64.
Toutefois pouvez-vous expliquer d’ou vient la valeur ["VP53125"] (son lien avec [bv09002] ?
Messages postés
97
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
26 décembre 2020
1
La valeur "VP53125" et autres doit être encodée actuellement à la main. Ce sont des valeurs qui n'ont rien à voir avec la feuille de données. Ce sont des valeurs dans un autre programme spécifique à la société et qui n'est pas compatible avec Excel, d'où l'encodage à la main.

Mais elles sont toujours en relation avec leurs données Excel (Chaque facture avec un mouvement [bv09002] va par exemple recevoir l'attribut [VP53125]). Ca c'est la comptable du boulot qui connaît les références à attribuer.

Moi j'ai simplement fais le tableau en dynamique, car avant, elle retranscrivait tout lol.

j'aimerais, vu qu'elle a son tableau tout fait maintenant, qu'à chaque fois que les références [bv, vt,etc...] apparaissent, les [VP etc...] soent en relation, chose faisable avec SI mais avec max 64 possibilités.
Messages postés
26025
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
17 mai 2021
5 929
Bonjour
Je n'ai pas pu lire votre fichier, son formatage ne passe pas, mais je crois que vous devriez revenir sur le message de Raymond qui semble correspondre parfaitement à votre question:
si on se référe à votre formule SI:
Faites hors champ ou dans une feuille cachée un tableau_ EN COLONNE_ de correspondance sur deux colonnes de ce que vous voulez obtenir, par exemple en A les codes bv et en B en ligne, les codes V correspondants à chaque fois.
Ensuite, dans votre cellule résultat:
=RECHERCHEV(B7;votre champ de référence;2;0)
va vous renvoyer exactement le même résultat que la formule si que vous proposez, le tableau de référence remplaçant(avantageusement) les valeurs que vous mettriez dans la formule.
Quand aux 3000 lignes, je pense qu'elles concernent le tableau à traiter et pas celui des références à établir que Raymond vous propose, il suffira donc de tirer la formule recherche en bloquant les limites du champ de référence
Nota: pour revenir encore sur la propistion de Raymond, on peut préciser que effectivement si vos références bv sont en ligne, il suffit de construire le champ en plaçant au dessous les références V correspondantes. Dans ce cas, la formule RECHERCHEH s'applique.
Crdlmnt
Bonjour Vaucluse,
Je n'ai pas pu lire votre fichier, son formatage ne passe pas
Sur [cjoint.con] les fichiers [xlsx et xlsm] sont renvoyés en ZIP, il vous suffit de le télécharger en enregistrant sur le bureau et ensuite vous remplacez l’extension [ZIP] par [xlsx] dans se cas.
Messages postés
26025
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
17 mai 2021
5 929
Beuh non ponpon, ça m'aurait pourtant bien plu.....
Mais j'obtiens une cascade de dossiers et de fichiers dont aucun ne me donne la main pour renommer!
si un jour tu as la solution n'hésite pas.Moii, je suis trop nul dans ce domaine.
merci quand même c'était une bonne intention.
crdlmn t
Bonjour Vaucluse,
En détail :
Télécharger en enregistrant sur le bureau (vous obtenez un fichier ZIP : cijtRx72rJ.zip)
Surtout ne pas l’ouvrir !
Clic droit sur le fichier et clic Renommer
Remplacer l’extension zip par xlsx
Clie Enter et au message d’avertissement clic OK.
Vous avez maintenant un fichier Excel.
Messages postés
97
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
26 décembre 2020
1 > ponpon
Juste,

Il suffit d'ajouter .xlsx à la place de .zip, d'ouvrir Excel et ensuite d'ouvrir le fichier.

Encore une astuce :-)

Fab
BonjourAragorn001,
Vous avez plus de 120 lots donc la fonction SI() aura une indi …..
Sur feuille [Données] 2 colonnes en BA et BB avec tire [n°lot] et [Vp fictif] et j’ai nommé la plage [vpcode] et fait référence à : =Données!$BA$2:$BB$125
Exemple avec la fonction RECHERCHEV() ; voir [Vétés] : https://www.cjoint.com/?kbsbUwsjQ2
Messages postés
97
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
26 décembre 2020
1
Par contre, encore une petite question...

N'y a t'il pas moyen d'inclure dans la formule une demande que si il n'y a rien dans les cellules de la ligne 7, il ne me mette pas #N/A ?

Je sais que c'est parce qu'il ne trouve pas de correspondance à sa demande mais si le résultat pouvait ne pas apparaître.

=RECHERCHEV(Y$7;vpcode;2;FAUX); Si (Y7="vide" alors Y4="vide")

Etant donné que lorsque qu"on choisit d'autres options de tri (regroupement par ex) la commande N° de lot est modifiée.
Messages postés
26025
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
17 mai 2021
5 929 >
Messages postés
97
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
26 décembre 2020

Bonsoir
Seulement si Y7 est vide:
=SI(ESTVIDE(Y7);0;=RECHERCHEV(Y$7;vpcode;2;FAUX))
Si , en plus,la valeur de Y7 risque de ne pas se trouver dans le tableau, mieux vaut
=SI(ESTNA(RECHERCHEV(Y$7;vpcode;2;FAUX);"";=RECHERCHEV(Y$7;vpcode;2;FAUX) )
ou
=SI(ESTERREUR(RECHERCHEV(Y$7;vpcode;2;FAUX);"";=RECHERCHEV(Y$7;vpcode;2;FAUX) )
Crdlmnt
Messages postés
97
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
26 décembre 2020
1 >
Messages postés
26025
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
17 mai 2021

Bonsoir,

=SI(ESTVIDE(Y7);0;=RECHERCHEV(Y$7;vpcode;2;FAUX)) fonctionne uniquement si Y7 est vide donc pas utilisable ici car la ligne 7 n'est pas toujours vide et sa longueur dépend des filtres utilisés.

=SI(ESTNA(RECHERCHEV(Y$7;vpcode;2;FAUX);"";=RECHERCHEV(Y$7;vpcode;2;FAUX)) - Message d'erreur : vous avez tapé un nombre trop important d'arguments pour cette fonction

=SI(ESTERREUR(RECHERCHEV(Y$7;vpcode;2;FAUX);"";=RECHERCHEV(Y$7;vpcode;2;FAUX)) - Message d'erreur : idem


vpcode reprend les données à insérer [vp01253, etc...] et est en deux colonnes. Je me demandais si j'attribuais à vpcode une troisième colonne vide s'il ne serait pas plus facile d'intégrer lacase vide dans la formule !?

Merci des conseils

Fab
Messages postés
97
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
26 décembre 2020
1
Ca c'est un Ponpon :-)

Parfait, il ne me reste plus qu'à étudier la fonction (pour plus tard).

Je vais proposer le fichier demain au boulot. A mon avis, ça va plaire à la comptable.

Merci à vous deux pour le coup de main.

Fab
Messages postés
53884
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 mai 2021
15 888
Fab, ce que tu décris au post 4, c'est ce à quoi j'ai répondu dans mon post 1 !
Messages postés
97
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
26 décembre 2020
1
Bonsoir Raymond,

Je ne connaissais pas du tout la fonction RECHERCHEH, donc un peu dans le brouillard :-). Et l'histoire de 2 lignes me paraissaît bizarre (suis pas encore très calé en Excel) vu que je devais travailler en colonnes

Ponpon me demandait la relation entre les différentes données d'où le Post 4. Vaucluse et lui m'ont trouvé une solution en utilisant RECHERCHEV (que je ne connaissais pas plus lol).

Mon problème est presque résolu, il ne me reste plus qu'à ne pas afficher de valeur lorsqu'il n'y a rien à afficher (voir plus haut), grâce à vous trois.

Encore un grand merci à tous pour votre aide

Fab
Bonjour,
J’ai adapté la formule pour tenir compte de votre demande.
https://www.cjoint.com/?kbwsE0H1Wn
Messages postés
97
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
26 décembre 2020
1
Merci, impec

Une bonne soirée à vous tous

Fab
Bonsoir Aragorn001,
Merci.
Rappel: vous prenez note que la liste des codes est fictive.
Messages postés
97
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
26 décembre 2020
1
Tout à fait, je l'ai même déjà modifiée pour essais.

Je laisse ça à la personne concernée ;-)

@+

Fab