Excel: la logique ne marche pas
Résolu
couilledours
Messages postés
18
Statut
Membre
-
couilledours Messages postés 18 Statut Membre -
couilledours Messages postés 18 Statut Membre -
Bonjour,
Je possède un catalogue d'objets avec leur caractéristiques (masse, taille...). Je veux leur donner un indice en fonction (par exemple) de leur masse. Typiquement, si la masse est supérieure à 13, je veux qu'il mettre dans une case 6, si elle est inférieure à 13 mais supérieure à 0.12, je veux qu'il mettre 5, etc...
J'ai donc fait une chaîne de SI( de ce genre là:
=SI(B2>13;6;SI(B2>0.12;5.....))
Technique qui marche dans une autre partie du fichier.
Le problème? Ca bloque dès la deuxième ligne, vu que la masse de l'objet est égale à 10.5, soit moins de 13, il me montrer quand même 6! Je coupe alors le calcul pour voir à quel niveau ça bug, et ça bug dès le premier SI, voici que ce que j'écris:
=SI(B2>13;6;0)
L'instruction me semble pourtant claire et il me met 6 pour la quasi totalité des objets alors que leur masse dépasse rarement 13. Une colonne plus tôt, le même SI en boucle marche à merveille, alors que l'instruction est plus tordue:
=SI(AB2="V";AM2;SI(AB2="IV_V";AL2;SI(AB2="IV";AK2...)))
Est-ce le ">" qui gène?
Merci d'avance.
Je possède un catalogue d'objets avec leur caractéristiques (masse, taille...). Je veux leur donner un indice en fonction (par exemple) de leur masse. Typiquement, si la masse est supérieure à 13, je veux qu'il mettre dans une case 6, si elle est inférieure à 13 mais supérieure à 0.12, je veux qu'il mettre 5, etc...
J'ai donc fait une chaîne de SI( de ce genre là:
=SI(B2>13;6;SI(B2>0.12;5.....))
Technique qui marche dans une autre partie du fichier.
Le problème? Ca bloque dès la deuxième ligne, vu que la masse de l'objet est égale à 10.5, soit moins de 13, il me montrer quand même 6! Je coupe alors le calcul pour voir à quel niveau ça bug, et ça bug dès le premier SI, voici que ce que j'écris:
=SI(B2>13;6;0)
L'instruction me semble pourtant claire et il me met 6 pour la quasi totalité des objets alors que leur masse dépasse rarement 13. Une colonne plus tôt, le même SI en boucle marche à merveille, alors que l'instruction est plus tordue:
=SI(AB2="V";AM2;SI(AB2="IV_V";AL2;SI(AB2="IV";AK2...)))
Est-ce le ">" qui gène?
Merci d'avance.
A voir également:
- Excel suite logique ne fonctionne pas
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
13 réponses
Bonjour,
Cette formule =SI(B2>13;6;0) est tout à fait correcte, tu peux d'ailleurs la tester dans une autre zone de ton tableur.
Il faut voir pourquoi elle ne passe pas : éventuellement des cellules fusionnées ?
Si tu ne vois pas, tu peux éventuellement mettre ton fichier à disposition en éliminant les données confidentielles.
Pour la mise à disposition : https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
Cordialement
Cette formule =SI(B2>13;6;0) est tout à fait correcte, tu peux d'ailleurs la tester dans une autre zone de ton tableur.
Il faut voir pourquoi elle ne passe pas : éventuellement des cellules fusionnées ?
Si tu ne vois pas, tu peux éventuellement mettre ton fichier à disposition en éliminant les données confidentielles.
Pour la mise à disposition : https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
Cordialement
Rien de confidentiel, seulement je ne trouve pas comment partager le fichier.
Ha et aussi, comment fais t'on pour changer la langue de la logique. Je suis habitué aux IF et j'aimerais les utiliser en lieu et place des SI.
Ha et aussi, comment fais t'on pour changer la langue de la logique. Je suis habitué aux IF et j'aimerais les utiliser en lieu et place des SI.
Pour la mise à disposition, la marche à suivre est donnée dans le lien que j'ai mentionné sur ma réponse précédente via : https://www.cjoint.com/
Pour modifier la langue de Excel, c'est fonction de ta version : http://www.google.be/...
Pour modifier la langue de Excel, c'est fonction de ta version : http://www.google.be/...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est le format qui n'est pas correct ou la façon de saisir les nombres.
Sur ta feuille epe en B15 si tu modifies le format en format nombre avec un choix de décimales et que tu ressaisis 4,00 et non 4.00 ta formule fonctionne.
Note ça fonctionne aussi en format standard.
Sur ta feuille epe en B15 si tu modifies le format en format nombre avec un choix de décimales et que tu ressaisis 4,00 et non 4.00 ta formule fonctionne.
Note ça fonctionne aussi en format standard.
1) Pourquoi les autres calculs utilisant cette colonne marchent? (typiquement en C et D dans calcul_epe)
2) comment changer le format de toute une colonne, sachant que je ne rentre pas ces nombres manuellement, c'est chargé à partir d'un fichier CSV
2) comment changer le format de toute une colonne, sachant que je ne rentre pas ces nombres manuellement, c'est chargé à partir d'un fichier CSV
En fait la modification du format seule ne solutionne pas le problème et n'est pas nécessaire.
Dans cette colonne B de cette feuille epe, il faut remplacer tous les . par des ,
La fonction SUBSITUE devrait le faire en sélectionnant toute la colonne.
Celui qui pose une question est bête cinq minutes, celui qui n'ose pas l'est toute sa vie.
(Proverbe chinois)
Dans cette colonne B de cette feuille epe, il faut remplacer tous les . par des ,
La fonction SUBSITUE devrait le faire en sélectionnant toute la colonne.
Celui qui pose une question est bête cinq minutes, celui qui n'ose pas l'est toute sa vie.
(Proverbe chinois)
J'utilise le point en séparateur de décimales (modification faite dans les options avancées d'excel). D'où le fait que les autres calculs s'effectuent sans problèmes. Du coup je ne sais pas si vous voyez la même chose que moi. Chez moi les calculs en C,D,F,G,H... s'effectuent sans problèmes alors que vous voyez peut être des erreurs.
Le problème est encore est toujours que dans toutes mes autre colonnes les calculs marchent.
De plus le fait que les nombres soient en format texte ne semble pas gêner excel dans la plupart des calculs, vu que je fais de nombreuses conversions, ça ne coince QUE dans ce cas.
Cela dit j'ai réussit à contourner le problème en mettant dans calcul_epe dans la colonne de la masse la formule suivante: =-(-epe!B2), ce qui convertis en format nombre la masse et rend possible l'opération logique que je cherche à réaliser. Mais encore une fois je ne comprends pas pourquoi les autres calculs marchent sans problèmes...
De plus le fait que les nombres soient en format texte ne semble pas gêner excel dans la plupart des calculs, vu que je fais de nombreuses conversions, ça ne coince QUE dans ce cas.
Cela dit j'ai réussit à contourner le problème en mettant dans calcul_epe dans la colonne de la masse la formule suivante: =-(-epe!B2), ce qui convertis en format nombre la masse et rend possible l'opération logique que je cherche à réaliser. Mais encore une fois je ne comprends pas pourquoi les autres calculs marchent sans problèmes...
"De plus le fait que les nombres soient en format texte ne semble pas gêner excel dans la plupart des calculs, vu que je fais de nombreuses conversions, ça ne coince QUE dans ce cas. "
En effet, comme je l'ai mentionné plus haut, ce n'est pas le format texte qui pose problème : https://forums.commentcamarche.net/forum/affich-27327175-excel-la-logique-ne-marche-pas#7
En effet, comme je l'ai mentionné plus haut, ce n'est pas le format texte qui pose problème : https://forums.commentcamarche.net/forum/affich-27327175-excel-la-logique-ne-marche-pas#7
Pourtant c'est en modifiant le format que j'ai réglé le problème: d'abord manuellement sur certaines cases, puis par la double négation pour le tout. Je veux bien une solution moins "sale" que le x=-(-x) par contre.
Et la fonction SUBSTITUE comme suggéré ici : https://forums.commentcamarche.net/forum/affich-27327175-excel-la-logique-ne-marche-pas#7
Encore une fois j'ai réglé excel pour qu'il utilise . et non , en séparateur décimal. J'en ai besoin pour ne pas me casser le postérieur a chaque fois que je met à jour le catalogue ainsi que pour exporter les résultats des calculs.
Bonjour,
C'est lors de l'importation que certaines valeurs restent en texte (alignées à gauche).
Sur la feuille epe copier une cellule vide, sélectionner la plage de données, collage spécial addition les transformera en numérique.
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
C'est lors de l'importation que certaines valeurs restent en texte (alignées à gauche).
Sur la feuille epe copier une cellule vide, sélectionner la plage de données, collage spécial addition les transformera en numérique.
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.