Fonction logique "SI" dans Excel

Résolu/Fermé
Aragorn001 Messages postés 97 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 26 décembre 2020 - 1 oct. 2009 à 14:07
Aragorn001 Messages postés 97 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 26 décembre 2020 - 1 oct. 2009 à 23:37
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
A voir également:

13 réponses

Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
1 oct. 2009 à 14:47
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.
0
Aragorn001 Messages postés 97 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 26 décembre 2020 1
1 oct. 2009 à 16:38
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
0
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] ?
0
Aragorn001 Messages postés 97 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 26 décembre 2020 1
1 oct. 2009 à 17:04
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.
0

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

Posez votre question
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
1 oct. 2009 à 17:20
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
0
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.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
1 oct. 2009 à 17:34
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
0
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.
0
Aragorn001 Messages postés 97 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 26 décembre 2020 1 > ponpon
1 oct. 2009 à 18:48
Juste,

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

Encore une astuce :-)

Fab
0
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
0
Aragorn001 Messages postés 97 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 26 décembre 2020 1
1 oct. 2009 à 18:58
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.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394 > Aragorn001 Messages postés 97 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 26 décembre 2020
1 oct. 2009 à 20:24
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
0
Aragorn001 Messages postés 97 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 26 décembre 2020 1 > Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022
1 oct. 2009 à 21:00
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
0
Aragorn001 Messages postés 97 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 26 décembre 2020 1
1 oct. 2009 à 18:20
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
0
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
1 oct. 2009 à 21:05
Fab, ce que tu décris au post 4, c'est ce à quoi j'ai répondu dans mon post 1 !
0
Aragorn001 Messages postés 97 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 26 décembre 2020 1
1 oct. 2009 à 21:19
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
0
Bonjour,
J’ai adapté la formule pour tenir compte de votre demande.
https://www.cjoint.com/?kbwsE0H1Wn
0
Aragorn001 Messages postés 97 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 26 décembre 2020 1
1 oct. 2009 à 23:07
Merci, impec

Une bonne soirée à vous tous

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

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

@+

Fab
0