Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/01/2011, 14h47   #1
Invité de passage
 
William RAMPONT
Inscription : janvier 2011
Messages : 20
Détails du profil
Informations personnelles :
Nom : William RAMPONT

Informations forums :
Inscription : janvier 2011
Messages : 20
Points : 1
Points : 1
Par défaut Logique d'une formule !

Toujours à la recherche de formules correctes pour mes tableaux, je me pose la question sur la logique de ces formules (Ou bien j'ai fait encore une erreur !):

Considérant qu'en feuille "2010", que la colonne "F" et la ligne "5" contient le mot "SF" et qu'en la feuille "2010", que la colonne "H" et la ligne "5" contient le mot "EN COURS" (Donc sur la même ligne).
Les formules sous citées n'obtiennent pas le même résultat sachant pourtant que les cellules "F5" et "H5" font bien partie des colonnes "F" et "H" !!!

Le resultat de la 1ère formule me donne la bonne réponse recherchée, à savoir "EN COURS", alors que les deux autres me donnent le résultat "FAUX" !!!!
Peut on me dire pourquoi ??? Merci....

Code :
=SI(('2010'!F5="SF")*ET('2010'!H5="EN COURS");"EN COURS")
=
Code :
SI(('2010'!F5:F1000="SF")*ET('2010'!H5:H1000="EN COURS");"EN COURS")
Code :
=SI(('2010'!F:F="SF")*ET('2010'!H:H="EN COURS");"EN COURS")
homer83140 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 16h02   #2
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 301
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 301
Points : 2 647
Points : 2 647
Bonjour,
Tu peux t'inspirer de ceci
Sur la feuille où tu places tes formules.
En colonne A les codes sans doublons (ex : SF, JT, AI, TP
En ligne 1 (B1 "En cours", C1 "Terminé")
Code :
1
2
 
=SOMMEPROD( (('2010'!$F$2:$F$11)=$A2) * (('2010'!$H$2:$H$11)=B$1) * 1)
Ce code placé par exemple de B2 à C5 va donné le nombre "En cours" et "Terminé" par code
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 16h08   #3
Membre confirmé
 
Inscription : mai 2010
Messages : 200
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 200
Points : 278
Points : 278
Bonjour,

Code :
=SI(('2010'!F5="SF")*ET('2010'!H5="EN COURS");"EN COURS")
Bien que renvoyant un résultat correct, cette formule ne respecte pas la syntaxe.
Le * et le ET font doublons. Tu mets soit l'un, soit l'autre.
Code :
=SI(('2010'!F5="SF")*('2010'!H5="EN COURS");"EN COURS")
ou
Code :
=SI(ET('2010'!F5="SF";'2010'!H5="EN COURS");"EN COURS")
Concernant les 2 autres, tu fait appel à des matrices au lieu de cellules.
ET('2010'!H5:H1000="EN COURS") signifie que toutes les cellules de la plage H5:H1000 vérifient la condition. Ce qui bien sûr doit être faux.

A cause de cela, on n'utilise jamais (sauf cas exceptionnel) ET ou OU dans une formule matricielle.
GerardCalc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 16h14   #4
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 301
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 301
Points : 2 647
Points : 2 647
Bonjour,
Si la colonne F de la feuille 2010 contient des codes uniques et que tu veux savoir si ceux-ci sont "En cours" alors il faut placer ce code.
En colonne A de la feuille où se trouve les formules doit se trouver les codes de la colonne F de 2010
Code :
1
2
 
=SI(SOMMEPROD( (('2010'!$F$2:$F$11)=$A2) * (('2010'!$H$2:$H$11)="En cours"));"En cours";"" )
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 15h34   #5
Invité de passage
 
William RAMPONT
Inscription : janvier 2011
Messages : 20
Détails du profil
Informations personnelles :
Nom : William RAMPONT

Informations forums :
Inscription : janvier 2011
Messages : 20
Points : 1
Points : 1
Citation:
Envoyé par corona Voir le message
Bonjour,
Si la colonne F de la feuille 2010 contient des codes uniques et que tu veux savoir si ceux-ci sont "En cours" alors il faut placer ce code.
En colonne A de la feuille où se trouve les formules doit se trouver les codes de la colonne F de 2010
Code :
1
2
 
=SI(SOMMEPROD( (('2010'!$F$2:$F$11)=$A2) * (('2010'!$H$2:$H$11)="En cours"));"En cours";"" )
Bonjour
Je n'arrive pas à le faire alors je joins mon fichier XLS pour te montrer ce qu'il me faut et pour t'indiquer la formule voulue.
Merci de ton aide.
William
Fichiers attachés
Type de fichier : xls Copie Dossier .xls (64,5 Ko, 5 affichages)
homer83140 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 15h55   #6
Membre confirmé
 
Inscription : mai 2010
Messages : 200
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 200
Points : 278
Points : 278
L'intitulé nous dit "défavorable ou en cours". Je ne vois pas de défavorable dans ta colonne H.

Si je retranscris l'intitulé, cela donne :
Code :
1
2
 
=SOMMEPROD(('2010'!F1:F1000=B12)*('2010'!H1:H1000={"DEFAVORABLE"."EN COURS"}))
mais =D12-E12 ne serait-il pas + simple ?
GerardCalc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 16h20   #7
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 301
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 301
Points : 2 647
Points : 2 647
Bonjour,
En parcourant rapidement, pourquoi en D12 et en E12 avoir mis des constantes au lieu de faire référence aux cellules correspondantes.
Code :
=NB.SI('2010'!F:F;"ENG")
Code :
=SOMMEPROD(('2010'!F1:F1000="ENG")*('2010'!H1:H1000="CLOS")*1)
Cela t'oblige à refaire la formule à chaque fois alors que comme ceci tu peux recopier vers le bas
Code :
=SOMMEPROD(('2010'!F1:F1000=B12)*('2010'!H1:H1000="CLOS")*1)
Une autre constatation, y a t'il une raison pour laisser des lignes vides sur la feuille 2010 ?
Pourquoi ne pas encoder les lignes les unes à la suite des autres même si tu as d'autres lignes pour un même dossier.
C'est un risque d'erreurs pour tirer des rapports ensuite surtout si tu utilises des fonctions Date & Heure
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 17h19   #8
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 301
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 301
Points : 2 647
Points : 2 647
Bonsoir,
Petite illustration de ce que l'on peut faire avec la fonction SOMMEPROD et un tableau croisé dynamique quand on place ses données sur une seule feuille.
http://www.cijoint.fr/cjlink.php?fil...cij5uozihV.xls
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 17h57   #9
Invité de passage
 
William RAMPONT
Inscription : janvier 2011
Messages : 20
Détails du profil
Informations personnelles :
Nom : William RAMPONT

Informations forums :
Inscription : janvier 2011
Messages : 20
Points : 1
Points : 1
Citation:
Envoyé par corona Voir le message
Bonsoir,
Petite illustration de ce que l'on peut faire avec la fonction SOMMEPROD et un tableau croisé dynamique quand on place ses données sur une seule feuille.
http://www.cijoint.fr/cjlink.php?fil...cij5uozihV.xls
Merci Philippe pour le lien ! Cela va m'en apprendre davantage !
Merci aussi pour les astuces de formules que je ne connaissais pas...Et oui, ca rentre doucement...
homer83140 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 18h07   #10
Invité de passage
 
William RAMPONT
Inscription : janvier 2011
Messages : 20
Détails du profil
Informations personnelles :
Nom : William RAMPONT

Informations forums :
Inscription : janvier 2011
Messages : 20
Points : 1
Points : 1
Citation:
Envoyé par GerardCalc Voir le message
L'intitulé nous dit "défavorable ou en cours". Je ne vois pas de défavorable dans ta colonne H.

Si je retranscris l'intitulé, cela donne :
Code :
1
2
 
=SOMMEPROD(('2010'!F1:F1000=B12)*('2010'!H1:H1000={"DEFAVORABLE"."EN COURS"}))
mais =D12-E12 ne serait-il pas + simple ?
Bonsoir Gerardcalc
Merci pour l'aide ! La formule communiquée est ce que j'attend sauf que j'ai omis de préciser qu'a la place des resultats chiffrés en colonnes "F" de la feuille "TLCC 2010", il faudrait que les cellules indiquent les mots "CLOS" ou "DEFAVORABLE" par rapport au même mots rencontrés en feuille "2010" et en colonne "H".
Il est vrai que dans l'exemple de mes feuilles jointes, j'ai oublié de noter les mots "DEVAVORABLE"...A corriger pour les essais !
J'espère m'expliquer correctement !
Bonne soirée et j'attend avec impatience ta réponse !
homer83140 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h09.


 
 
 
 
Partenaires

Hébergement Web