Excel : problème de formule

Bonjour,

J’ai un problème avec une formule excel. Formule du type : Si(et(…;…;ou(…;…));…;…).
Si quelqu’un peut m’aider, merci de me donner votre mail, je vous enverrai mon fichier.

Merci d’avance

Tu ne peux pas nous donner un exemple, on pourrait peut-être t’aider.
Personnellement, je n’ai pas excel, j’utilise openoffice, mais le principe reste le même.

Bonjour, Voici ma formule,

+SI(ET(Paramètre!C17=“OUI”;OU(‘2008’!A1:E1=“FEVRIER”;‘2008’!A1:E1=“MAI”;‘2008’!A1:E1=“AOUT”;‘2008’!
A1:E1=“novembre”));“URSSAF”;"")

+SI(ET(Paramètre!C17 ==> 1er onglet.
2008==> 2ème onglet

En fait, je demande à la formule si dans le 1er onglet la cellule C17" = oui et que dans le 2ème onglet 2008 la cellule A1:E1 (cellule fusionnée) = soit fevrier, mai, aout, novembre alors afficher urssaf sinon RIEN.

Or, ma formule ne fonctionne pas., à chaque fois, il me met : “” meme si les 2 conditions sont correctes.
Edité le 21/07/2007 à 22:01

Ton problème doit venir de ‘2008’!A1:E1
Quand des cellules sont fusionnées, seule la première cellule subsiste.
essaie ‘2008’!A1

Je n’ai pas excel, je me base sur OpenOffice."

“ET” et “OU” renvoie 0 ou 1, donc je ferais une colonne intermédiaire, (appelons la F), puis

dans la colonne F la formule : =OU(‘2008’!A1:E1=“FEVRIER”;‘2008’!A1:E1=“MAI”;‘2008’!A1:E1=“AOUT”;‘2008’!
A1:E1=“novembre”)

puis
=SI(Paramètre!C17=“OUI”;SI(F1=1;“urssaf”;"");"")

J’espère être assez clair.
Edité le 21/07/2007 à 23:17

Si tu ne veux pas passer par une colonne intermédiaire, alors :
=SI(Paramètre!C17=“NON”;"";SI(‘2008’!A1:E1=“FEVRIER”;“URSSAF”;SI(‘2008’!A1:E1=“MAI”;“URSSAF”;SI(‘2008’!A1:E1=“AOUT”;“URSSAF”;SI(‘2008’!A1:E1=“novembre”;“URSSAF”;"")))))

Merci à tous le monde. Merci gcc. En effet, excel n’aime pas les cellules fusionnées dans les calculs. Alors j’ai laissé la cellule fusionnée et j’ai mis ‘2008’!A1 et non ‘2008’!A1:E1.

Merci

D’une manière générale, évite les cellules fusionnées. C’est vraiment une daube ce truc et en général tu peux utilisé à la place dans le menu format “centré sur plusieurs colonne” qui fait visuellement la même chose. Il n’y a que quelques cas particuliers ou la fusion est intéressante.

Bonjour
j’ai un petit problème pour identifier une formule
Le principe est que j’ai sur une feuile 1 une liste ex : 1 pain
2 beurre
je cherche à ce que : quand je suis sur la feuille 2, si je tape 1 dans la cellule A23, il me mettre “pain” dans la cellule B23 etc. , en allant lui même choisir dans la feuille 1, en fonction du numéro tapé dans la feuille 2.

Je crois que le début de la formule noté ci-dessous est “quelle que soit la valeur de A23…
=A23=”" " " A23

Désolée, je suis dans le gros caca pour en expliquer plus. Cela fonctionnait avant, mais j’ai changé l’endroit où il doit aller chercher la feuille de référence et ne fonctionne plus.
Si quelqu’un comprend quelque chose à ce que je viens d’expliquer, merci beaucoup d’essayer de m’aider.

le “1” de pain est-il un chiffre dans une cellule à coté de pain ou le numéro de la ligne sur laquelle il se trouve ?

Le problème est que vous n’utilisez pas de fonction, créer une fonction dans visual basic quelques ligne de programmation est tous fonctionne correctement.

Bonjour,
j’ai un petit probleme, et plus je cherche et plus je m’embrouille, et je n’arrive plus a savoir comment nomer ma formule ? Alors voilà :
sur la feuille 1 d’un classeur excel : (ce tableau est entièrement rempli et contient environ 24 colonnes et 80 lignes)
ALIMENTS quantité vitamieC calcium fer etc…
a1=croissant 1=125g 24 6 8
a2=persil 1 botte 26 9 3
a3=chocolat 100g 78 4 6
a4=pomme 1=79g 76 9 1
etc…
sur la feuille 2 de ce classeur : un autre tableau qui contiendra autant de lignes et colonnes soit environ 24 colonnes et 80 lignes :
j’aimerais que lorsque je saisi en :
a1 un nom comme : chocolat, par exemple
excel recherche la quantité (soit 100g) et me l’inscrive en b1
puis recherche la vitamineC (soit 78) et me l’inscrive en b3
puis recherche le calcium (soit 4) et me l’inscrive en b4 etc, etc, etc
j’avais trouvé cette formule : =SI(A1="";"";RECHERCHEV(A1;$A$1:$w$80;2)) que j’ai mise en b1 de la feuille 2, mais au niveau de la recopie vers la droite, tout est faussé, en revanche la recopie vers le bas à l’air de fonctionner… QUE FAIRE ?
mille merci de votre aide…

En fait, ce que tu donnes ne devrait pas fonctionner.
Si tes références sont dans la feuille 1 et que tu veux les utiliser dans la feuille2, la formule devrait être du genre
=SI(A1="";"";RECHERCHEV(A1;Feuil1!$A$1:$w$80;2))

Qu’entends-tu par recopie vers la droite ?
Si c’est appliquer le même principe (avec par ex un décalage de 3 au lieu de 2 pour le décalage dans la table) en gardant comme colonne de référence la colonne A de la feuille 2, tu ne peux pas le faire par copie.
Ou alors il faut utiliser une référence mixte à la première colonne :
=SI(A1="";"";RECHERCHEV($A1;Feuil1!$A$1:$w$80;2))

Merci de m’avoir lu gcc,
Ce que j’entends par recopie vers la droite c’est pour ne pas avoir a re-saisir la formule sur 24 colonnes…
Car en a1 je saisi moi meme l’aliment, mais en b1(quantité), c1(vitaminec), d1(calcium), e1 etc, c’est excel qui devrait s’il veut bien, me donner la quantité, la vitaminec, le calcium… (je me suis tromptée tout à l’heure) . Donc pour etre un peu plus claire, je tape en a1 mon aliment, excel cherche dans mon tableau la correspondance, et me la note a droite
mais si en b1 je note : =SI(A1="";"";RECHERCHEV($A1;Feuil1!$A$1:$w$80;2)) il faut que je re-saisisse cette formule dans b1, c1, d1, e1 et cela jusqu’à la colonne w ? Manuellement ou bien on utilise la petite croix noire de recopie ? mais qui ne marche pas dans ce cas ?
AIE… ou bien je n’ai toujours pas compris…

Gcc a raison, il faut remplacer A1 par $A1 afin de toujours faire référence à la cellule A1 lors de la recopie de la formule vers la droite.

D’autre part, le décalage doit augmenter de 1 à chaque colonne, il faut donc remplacer le 2 par une formule qui va évoluer lors de la copie de la formule vers la droite.
Essaye de remplacer le 2 par la formule suivante :
CELLULE(“col”;A1)+1

Cela donne en B1 la formule suivante :
=SI(A1="";"";RECHERCHEV($A1;Feuil1!$A$1:$w$80;CELLULE(“col”;A1)+1))

Ceci dit, je pense que la fonction RECHERCHEV doit prendre pas mal de temps et peut sans doute être utilisée une seule fois par ligne pour gagner du temps de calcul, simplement en utilisant une colonne de plus dans ta deuxième feuille permettant de stocker le numéro de ligne de la première feuille correspondant à l’ingérdient entré dans la deuxième feuille.

j’essaie le tout et je vous dit cela ce soir, merci et à ce soir…

bien vu, mais on doit pouvoir faire plus simple :
=SI(A1="";"";RECHERCHEV($A1;Feuil1!$A$1:$w$80;CELLULE(“col”;B1)))

Tout à fait, on peut effectivement simplifier de la sorte.
Bien vu également donc. :wink:
Edité le 16/11/2007 à 22:39

Bonsoir à tous,
Je tenais à vous remercier, pour la super formule, pour la rapidité !!! j’ai essayé et je l’ai adopté !!!
En fait j’ai pris la formule de gcc, donc la dernière, mais Mille merci aussi a Jacky67 ! Cela va m’etre plus qu’utile !!! j’ai fait la fonction recopie, et c’est impec, (suite à une prise de poids du à l’arret du tabac, j’avais besoin d’entreprendre un régime strict mais en surveillant de très pres toutes les valeurs nitritives des aliments !) au quotidien, ça va etre très sympa à réaliser !!!
alors encore merci à vous !!! Bises

Je suis particulièrement content d’avoir pu t’aider.

Je te souhaite bon courage pour la suite.

@+ :hello: