Bonjour tu vas devoir faire un compromis à un moment où l'autre, si tu veux que la réponse à ta question soit exacte (mais tu as vraiment le choix). Quelle que soit la solution proposée, il s'agît toujours d'un calcul intermédiaire pour te permettre de supprimer les lignes dont tu ne veux pas.Sélectionne la colonne avec le calcul en question. Copier, collage spécial (reste sur la colonne sélectionnée) collage spécial : tu décoche formules, et tu coches valeur. Tu confirme l'écrasement de données => la formule sera perdue et tu n'auras plus que son résultat ! Si les cellules sont déplacées (tri par exemple), le résultat sera visible et le calcul ne sera pas modifié.Mais dans l'absolu, pourquoi t'embêter avec les lignes supplémentaires que tu veux supprimer ? Une fois que tu sais celles que tu veux supprimer, tu tu les supprimes, ensuite, peu importe les calculs (que tu peux aussi supprimer).A moins que tu veuilles les garder car il y a autre chose à vérifier... avant ! Nous on peut pas le deviner ! il faut nous le dire ! Des réponses à chacun de tes points ci-dessous....
Claire Le samedi 10 octobre 2020 à 22:14 +0200, Pingouin du bureau a écrit : > Bonsoir à tous, > Je viens de rentrer mais les réponses apportées ne me conviennent pas > vraiment ou en partie. > Le lien proposé par Patrick ne concerne pas tout à fait mon problème. > En fait, j'ai besoin de supprimer les lignes où les noms d'articles > sont identiques avec comme condition supplémentaire de supprimer le > doublon qui a le prix le plus faible. > Les solutions proposées : > 1) Le lien donné par Patrick ne correspond pas à mon problème. Laissons Patrick dormir, c'est Thierry. > 2) la formule de Christian ne me permet pas de trier sur les valeurs > 0 / 1. Toutes les valeurs passent à 0. une fois le calcul fait, supprime les formules, comme indiqué ci- dessus. Tu pourras faire tes tris pour supprimer. > 3) la matrice, c'est peut-être bien mais trop complexe pour moi qui > n'ai pas assez d'expérience dans Calc. surement mais elle répond à toutes tes contraintes, et je te l'ai décomposée. Il n'existe pas toujours une solution simple à une question qui peut ta paraitre basique. Mais pas grave. Du coup, il faut que tu tries tes valeurs par libellé au moment de faire ton calcul, puis que tu ne conserves que les résultats pour isoler les valeurs à supprimer et les enlever. > De plus, quand le problème des doublons sera réglé, je vais scinder > le tableau avec un onglet correspondant à une catégorie, etc .... Mais quand les problèmes des "doublons" (ce n'en est pas en fait hein...) seront réglés, la formule n'a plus aucun intérêt d'être conservée dans le tableau. Donc tu supprimes cette colonne ! > 4) la question du départ portait sur une solution données sur le site > Ask : > https://ask.libreoffice.org/fr/question/269608/filtrer-les-lignes-comportant-des-doublons-calc/?sort=latest > > La solution sur ce site propose une formule avec 2 tests. > Le 1er test fonctionne. Mais la seconde partie du test comporte une > erreur de formule. > Comme je ne comprends pas la seconde partie de cette formule On a justement essayé de te proposer des choses plus simples à comprendre et à mettre en oeuvre. La syntaxe d'un si, d'un OU, d'un ET, est simple, mais tu l'imbriques et il faut combrendre toutes les branches des conditions, ça te demande plus de gymnastique d'esprit > , je l'ai modifié quand même en réfléchissant par analogie. La modification que tu as faites, n'a pas de sens. Je précise.ce qui ne va pas c'est ça > OU(ET(C5=C6;F5<f6);et(c5=c6;f5<f6)) les majuscules et minuscules importent peu. Tu dis quand C5=c6 et F5 est inférieur à F6OU bien Quand C5=C6 et F5 est inférieur à F6 alors j'applique la valeur pour "Vrai" Tu propose donc 2 conditions possibles pour que le test soit vrai mais tes 2 conditions sont les mêmes !!!! Michel lui propose OU(ET(C5=C4;F5<F4);ET(C5=C6;F5<F6))ce qui signifie quand C5=C4 ET F5 est inférieur à F4Ou bien quand C5=C6 et F5 est inférieur à F6 alors j'applique la valeur pour "Vrai" Il ne faut pas oublier que ta formules va s'étirer sur les lignes du dessous. La proposition de Michel prend en compte que tu pourrais avoir plus de 2 libellés identiques et compare la valeur de la ligne du dessus, et la valeur de la ligne du dessous.Le premier si considère que tu pourrais avoir 2 lignes avec un prix et un libellé identique Dans ton exemple => tu n'as pas 2 lignes de libellés identiques avec le même prix => le premier si est donc inutileDans ton exemple => tu n'as que 2 lignes de libellés identiques avec des prix différents => le ou est donc inutile. C'est ce qui te donne l'illusion que ta correction de formule est juste. Au final, la correction de Christian te donnes la BONNE réponse, et te simplifie la réflexion (oui tu te compliques la vie avec des Et et 2 SI, je t'assure que ce n'est pas le plus simple !) Elle n'oublie rien, si, comme le précisait Yves hier soit : tu n'as bien que 2 prix différents pour un même libellé. La formule de Christian, avec un Si donneSi (et(C5=C6;F5<F6);"on jette"; "on garde")pour la compréhension, mieux vaut du texte que vrai ou faux. Si tu n'utilises pas de texte pour exprimer le vrai / faux, tu n'as plus besoin du Si. Et Christian, a multiplié les 2 conditions (C5=C6 / F5<F6) c'est le role du ; dans la fonction. En gros Christian t'as proposé et(C5=C6;F5<F6), mais sans la moindre fonction. Il a bien tenu compte de Ask et l'a corrigée et simplifiée. Elle n'en est pas moins juste. > > Quand j'essaie avec la formule modifiée, cela donne apparemment des > résultats plausibles. Mais n'étant pas certain de cette formule, je > n'ose pas supprimer les doublons affichés par cette formule. > > Ma question du départ était donc : > Est-ce que la formule que j'ai modifiée est correcte ou pas : > G5=SI(ET(C5=C6;F5=F6);VRAI();SI(OU(ET(C5=C6;F5<f6);et(c5=c6;f5<f6));v > rai();faux())) > Vous pouvez retrouver un extrait de mon tableau ici : > https://framadrop.org/lufi/r/vE6UbUok6V#Ds9/b8szJnmX2iOI3KwhIZA5tZ6yfpbGTyRsEb97890= > > > Merci à tous ceux qui cherchent à me dépanner. > > > -- Envoyez un mail à [email protected] pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
