Passage de LibreOffice à Excel

Bonjour à tous,

Je dois reproduire un tableau en passant de LibreOffice à Excel (2016) et je n'arrive pas à reproduire les effets de mes anciennes formules LibreOffice.

Si vous pouviez m'aider ce serait super !

Voici ma formule LibreOffice : =-SUMPRODUCT(($BOP2.J$6:J$399="CAP")*($BOP2.D$6:D$399=B4)*($BOP2.I$6:I$399))

Elle vérifie si dans la feuille nommée BOP2 dans chaque ligne de la colonne J6 à J399 la valeur "CAP" est présente et si toujours dans la feuille BOP2 la valeur de chaque cellule est égale à une cellule de référence, B4 ici. SI ces deux conditions sont remplies elle renvoit la somme de toutes les cellules de la Colonne I qui satisfont les 2 conditions.

Sous Excel : J'ai essayé ça : =SOMMEPROD( SI(ET(BOP2!J6:J87="CAP",BOP2!D6:D87=B6),(BOP2!I6:I87)))

Mon problème est qu'il suffit que les 2 conditions soient vraies UNE SEULE fois pour qu'il additionne toutes les valeurs de la colonne. Il ne vérifie pas les 2 conditions une par une de manière récursive.

Si vous avez une idée :-)

Merci

Bonjour

A priori garder la formule initiale en remplaçant SUMPRODUCT par SOMMEPROD et les points par !

On peut aussi utiliser SOMME.SI.ENS

Merci 78Chris, en effet, j'ai pu retrouver tous mes résultats !

Merci beaucoup.

Il me reste encore une formule un peu plus technique je pense:

Sous LibreOffice :

SIERREUR(INDEX(BOP2!$I$6:$I$333;PETITE.VALEUR(SI(BOP2!$V$6:$V$333=$F$26;LIGNE($A$1:$A$333));LIGNE(A1)));)

En gros, elle remplit un tableau en prenant les valeurs de la feuille nommée BOP2. La "subtilité" est que si sur la feuille BOP2 les valeurs dont j'ai besoin sont espacées de "lignes vides", je souhaite par contre que mon tableau qui se remplit tout seul n'ai AUCUNE ligne vide entre chaque données.

Ensuite elle renvoit 0 s'il y a une erreur ou rien !

Ça marche très bien sous LibreOffice mais j'ai des difficultés sous Excel !

Il semble que les formules utilisées existent :

=SIERREUR(INDEX(BOP2!$I$6:$I$333,PETITE.VALEUR(SI(BOP2!$V$6:$V$333=$F$26,LIGNE($A$1:$A$333)),LIGNE(A1))),)

Voilà ce que j'ai fait, mais sans résultat cette fois !

Une idée ?

RE

=SIERREUR(INDEX('BOP2'!$I$6:$I$333;PETITE.VALEUR(SI('BOP2'!$V$6:$V$333=$F$26;LIGNE($A$1:$A$328));LIGNE(A1)));)

LIGNE($A$1:$A$328) doit faire la même hauteur que $V$6:$V$333

Je viens de me rendre compte qu'au boulot la version de Excel est la 2003 !

Du coup la fonction SIERREUR ne semble pas y être.

Par contre je ne parviens toujours pas à faire fonctionner la formule suivante :

=INDEX(BOP2!$I$6:$I$333;PETITE.VALEUR(SI(BOP2!$V$6:$V$333=$F$26;LIGNE($A$1:$A$328));LIGNE(A1)))

=INDEX(BOP2!$I$6:$I$333;PETITE.VALEUR(SI(BOP2!$V$6:$V$333=$F$26;LIGNES($A$1:$A$328));LIGNE(A1)))

J'ai essayé avec LIGNES() avec un S aussi !

La formule retourne 0 au lieux d'une autre valeur

Qu'est ce que je fais mal ?

Bonjour toutes et tous

ESTERREUR() ESTERR (en 2003 SIERREURinexistant pour Excel 2003)


un doute sur ligne:

;LIGNE(A1)))

par

;LIGNE(1:1)))

crdlt,

André

Merci André, je suis content d'avoir une fonction comme ça aussi !

J'ai toujours des erreurs dans ma formule principale, j'espère que quelqu'un pourra m'aider !

Bonjour

J'ai testé la formule donnée sur un exemple et j'avais bien autre chose que 0 mais sans ton exemple, difficile de voir ce qui ne marche pas chez toi

Es-tu d'avoir 2003 ? Comment une entreprise peut-elle fonctionner avec une version vieille de 17 ans (1 siècle en informatique) incompatible avec Windows 10, non supportée par Microsoft...

Bonjour, oui oui c'est bien celle là !

Je suis fonctionnaire si ça répond à ta question :-) et déjà c'est un luxe d'avoir Excel.......

Le résultat de cette formule : =SIERREUR(INDEX(BOP2!$I$6:$I$333;PETITE.VALEUR(SI(BOP2!$V$6:$V$333=$F$26;LIGNE($A$1:$A$328));LIGNE(A1)));)

est : #NOM? ---> J'enlève le SIERREUR qui ne semble pas exister dans cette version j'obtient :

=INDEX(BOP2!$I$6:$I$333;PETITE.VALEUR(SI(BOP2!$V$6:$V$333=$F$26;LIGNE($A$1:$A$328));LIGNE(A1))) qui me renvoit 0

Je vous joins mon fichier pour vous aider à voir plus clair !

7version1.zip (12.57 Ko)

RE

=SI(ESTERREUR(INDEX(BOP2!$I$6:$I$333;PETITE.VALEUR(SI(BOP2!$V$6:$V$333=$F$26;LIGNE($A$1:$A$328));LIGNE(A1))));0;INDEX(BOP2!$I$6:$I$333;PETITE.VALEUR(SI(BOP2!$V$6:$V$333=$F$26;LIGNE($A$1:$A$328));LIGNE(A1))))

J'avais donné des cours OpenOffice quand l'administration et quelques entreprises sont passé à OpenOffice

On a vite compris que, pour le tableur, cela ne le faisait pas et la plupart on fait machine arrière...

Vous avez quel Windows ?

Je suis sous Windows10 depuis peu.

Je rejoins mon fichier, il renvoit des résultats mais pas dans le bon ordre, je ne comprend pas comment il sélectionne les cellules et il devrait renvoyer les résultats QUE si la condition de comparaison avec la cellule de référence est vérifiée, hors il renvoit le résultat tout le temps !

4version1.zip (12.67 Ko)

RE

Il faut valider en matriciel

CTRL Shift Entrée en même temps

2003 n'est pas compatible avec Windows 10 : attends toi à des dysfonctionnements

6version2.zip (12.22 Ko)

Exact ! La formule fonctionne !

Merci beaucoup !

Je ne clôture pas desuite le sujet parce que mon document n'est pas terminé mais je pense pouvoir réussir le reste !

:-)

Bonjour à tous, j'ai réussi à terminer mon tableau grace à vous, tout marche très bien.

Je dois maintenant en faire un autre, je pense que l'algorithme est le suivant :

Si "valeur de la cellule" = "une des valeur définie dans une liste de valeurs possibles" alors renvoyer dans un autre tableau la "valeur correspondante à celle qui est définie"

valeur
a
b
Référencevaleur associée
aStylo
bCrayon
Nouveau tableau
Stylo
Crayon

J'espère que c'est assez clair, le 1er tableau se trouve sur la feuille1 et je souhaite implémenter un autre tableau, le 3ème qui se trouve sur la feuille2.

Si je rentre la valeur a dans le tableau en feuille1, je souhaite qu'il écrive Stylo dans le tableau 3 en feuille2.

Si vous avez des idées :-)

Il y a peut être la solution des booléans !

UP :-)

Bonjour,

La fonction recherchev ou la combinaison de index et equiv feront ce que tu souhaites.

Mais là, aucune idée des cellules concernées par tes formules, les explications prendraient des plombes pour peut-être tomber à côté et que tu redemandes ensuite.

Prends vraiment l'habitude de joindre un fichier exemple pour une aide plus adaptée.

Bonjour, merci pour la proposition RechercheV, ça fonctionne bien mais il demeure un problème.

Mes références à chercher sont de la forme suivante : FC11, IC12 etc... et bizarrement la formule suivante renvoit bien les correspondances SAUF pour la référence commençant par EQ, y a t-il une contrainte particulière ?

Ma formule : =RECHERCHEV(BOP2!$D6:$D333;$M$6:$N$13;2)

Elle va chercher dans la feuille nommée BOP2, dans la colonne D de la cellule 6 à 333 les références du tableau de la feuille courante allant de M6 à N13 (Je les ai fixés) et il doit renvoyer la correspondance qui est dans la colonne 2.

Mais lorsque la référence est EQ (quelque chose), il renvoit systématiquement #N/A

Que se passe-t-il avec les EQ ?

Ou alors ma formule est incomplète et ne fonctionne pas bien !

7excel-test.xls (30.50 Ko)

Bouge pas, je regarde dans ma boule de cristal. M'enfin, elle est longue à la chauffe...

Je viens de joindre le fichier, un oubli :-)

Bonjour à tous

Ne pas oublier le 4ème argument de RECHERCHEV : FAUX ou 0

Rechercher des sujets similaires à "passage libreoffice"