Excel formule SI
Résolu/Fermé
jay
-
6 nov. 2011 à 07:59
Raymond PENTIER Messages postés 58834 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 22 janvier 2025 - 10 nov. 2011 à 13:33
Raymond PENTIER Messages postés 58834 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 22 janvier 2025 - 10 nov. 2011 à 13:33
A voir également:
- Excel formule SI
- Formule excel si et - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Formule excel moyenne - Guide
- Mise en forme conditionnelle excel formule si - Guide
- Liste déroulante excel - Guide
9 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
6 nov. 2011 à 17:01
6 nov. 2011 à 17:01
Regarde cet Exemple :
http://www.cijoint.fr/cjlink.php?file=cj201010/cijGGz3g2N.xls
http://www.cijoint.fr/cjlink.php?file=cj201010/cijGGz3g2N.xls
Raymond PENTIER
Messages postés
58834
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
22 janvier 2025
17 275
6 nov. 2011 à 18:08
6 nov. 2011 à 18:08
On peut également faire appel à la fonction RECHERCHEV.
Dans les deux cas, tu constates que la fonction SI n'est pas sollicitée !
Dans les deux cas, tu constates que la fonction SI n'est pas sollicitée !
Merci a vous pour vos réponses
j'avais deja trouvé la fonction RECHERCHE V, pour l'exemple de patrice c'est a peu près la même chose. Mais j'ai un souci. Si j'ai 2 client qui on le même nom je fait comment, puis-je avoir un menu déroulant pour le prénom par exemple ou le n° de commande qui me permettrait d'identifier la bonne fiche. Pour en revenir a l'exemple de patrice comment a tu fait le fléchage , est ce que ça me permettrait de modifier une des commande que mon client a. Et aussi si je fait une recherche V mais que mon critère de recherche n'est pas en 1er colonne comment faire?
Merci pour vos réponse éventuels
j'avais deja trouvé la fonction RECHERCHE V, pour l'exemple de patrice c'est a peu près la même chose. Mais j'ai un souci. Si j'ai 2 client qui on le même nom je fait comment, puis-je avoir un menu déroulant pour le prénom par exemple ou le n° de commande qui me permettrait d'identifier la bonne fiche. Pour en revenir a l'exemple de patrice comment a tu fait le fléchage , est ce que ça me permettrait de modifier une des commande que mon client a. Et aussi si je fait une recherche V mais que mon critère de recherche n'est pas en 1er colonne comment faire?
Merci pour vos réponse éventuels
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
951
7 nov. 2011 à 01:52
7 nov. 2011 à 01:52
Salut le forum
Une combinaison d'INDEX - EQUIV devrait résoudre ta demande.
Mytå
Une combinaison d'INDEX - EQUIV devrait résoudre ta demande.
Mytå
Raymond PENTIER
Messages postés
58834
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
22 janvier 2025
17 275
7 nov. 2011 à 05:35
7 nov. 2011 à 05:35
"Si j'ai 2 client qui on le même nom je fait comment" c'est une contrainte nouvelle !
Cela modifie sensiblement la solution.
Et la fonction RECHERCHEV ne fonctionne que si le critère de recherche est en première colonne du tableau de données.
Cela modifie sensiblement la solution.
Et la fonction RECHERCHEV ne fonctionne que si le critère de recherche est en première colonne du tableau de données.
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
951
7 nov. 2011 à 11:28
7 nov. 2011 à 11:28
Merci MYTA, j'ai regardé avec attention mais ceci est bien compliqué pour moi.
Je vais essayé d'être plus précis.
J'ai un tableau ou je classe, par colonne , le nom le prénom , le n° de commande la date de livraison et les commentaire, pour facilité la recherche j'ai crée une fiche d'identité, ou mes collaborateur n'on plus cas saisir le nom du client et toute les info s'alimente automatiquement grâce au RECHERCHE V , mais j'ai comme je vous l'ai dit un problème j'ai des client qui on plusieurs commande et aussi d'autres qui on le même nom. Puis-je saisir le nom et il me propose automatiquement une liste de commande ou d'abord le prénom puis la commande, je peut me satisfaire que de la commande.
Merci
Je vais essayé d'être plus précis.
J'ai un tableau ou je classe, par colonne , le nom le prénom , le n° de commande la date de livraison et les commentaire, pour facilité la recherche j'ai crée une fiche d'identité, ou mes collaborateur n'on plus cas saisir le nom du client et toute les info s'alimente automatiquement grâce au RECHERCHE V , mais j'ai comme je vous l'ai dit un problème j'ai des client qui on plusieurs commande et aussi d'autres qui on le même nom. Puis-je saisir le nom et il me propose automatiquement une liste de commande ou d'abord le prénom puis la commande, je peut me satisfaire que de la commande.
Merci
Raymond PENTIER
Messages postés
58834
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
22 janvier 2025
17 275
7 nov. 2011 à 17:55
7 nov. 2011 à 17:55
Bonjour jay.
Si tu as choisi d'utiliser RECHERCHEV, je te conseille, si tu as le nom en colonne A et le prénom en colonne B, d'insérer une colonne en A, ce qui décale les 2 premières vers la droite ; et en A2 tu saisis la formule =B2&C2 à recopier vers le bas. Tu feras tes recherches à partir de cette nouvelle colonne A.
Si tu as choisi d'utiliser RECHERCHEV, je te conseille, si tu as le nom en colonne A et le prénom en colonne B, d'insérer une colonne en A, ce qui décale les 2 premières vers la droite ; et en A2 tu saisis la formule =B2&C2 à recopier vers le bas. Tu feras tes recherches à partir de cette nouvelle colonne A.
çBonjour Raymon c pourrait être une solution sauf que si j(ai plusieurs commande au meme nom ça ne change rien, et ça voudrai did que je doit couplé le nom et prénom dans ma zone de recherche, si c'est au nom de madame et que c monsieur qui appel, ça devient complique pour celui qui saisi. Il me faut n truc du genre je saisie le nom il me propose en menu déroulant les commande correspondante au nom et la je sélection.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 421
7 nov. 2011 à 20:33
7 nov. 2011 à 20:33
Bonsoir
un petit joujou ici; revenez si cela vous intéresse
http://www.cijoint.fr/cjlink.php?file=cj201111/cijyjDYDmt.xls
crdlmnt
un petit joujou ici; revenez si cela vous intéresse
http://www.cijoint.fr/cjlink.php?file=cj201111/cijyjDYDmt.xls
crdlmnt
Bonjour j'ai bien l'impression que c'est ce que je recherche sauf que franchement c trop compliqué je ne sai pas a quoi serve les formule et a quoi correspond chaque élément de la formule, et aussi quel sont les formule dont je doit me servir .
Peut tu m'expliqué sinon je te fait une extraction de mon fichier et je te l'envoi.
merci
Peut tu m'expliqué sinon je te fait une extraction de mon fichier et je te l'envoi.
merci
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 421
8 nov. 2011 à 18:37
8 nov. 2011 à 18:37
Ca risque de ne pas être très facile à expliquer, du moins sans le fichier car cela reste à ajuster à vos données;
Si c'est possible,oui, mettez votre fichier sur:
http://www.cijoint.fr
ou
https://www.cjoint.com/ et revenez ici placez le lien donné par le site.
à vous lire
crdlmnt
Si c'est possible,oui, mettez votre fichier sur:
http://www.cijoint.fr
ou
https://www.cjoint.com/ et revenez ici placez le lien donné par le site.
à vous lire
crdlmnt
Merci pour tous vaucluse
http://cjoint.com/?3KisY72iNgS
Donc exemple dans la feuille commande j'ai 4 client orcel Dont 2 qui sont du même client et 2 autres d'un autres mais 2 commande par client j'aimerai sur la feuille identité pouvoir tapé mon nom et retrouvé soit par n°de commande soit par prénom soit par les deux les autres critères c'est a dire adresse ville livraison commentaire etc...
merci
http://cjoint.com/?3KisY72iNgS
Donc exemple dans la feuille commande j'ai 4 client orcel Dont 2 qui sont du même client et 2 autres d'un autres mais 2 commande par client j'aimerai sur la feuille identité pouvoir tapé mon nom et retrouvé soit par n°de commande soit par prénom soit par les deux les autres critères c'est a dire adresse ville livraison commentaire etc...
merci
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 421
9 nov. 2011 à 07:58
9 nov. 2011 à 07:58
Bonjour Jay
ci joint un modèle de ce qui est possible.
A noter toutefois qu'au delà d'un certain nombre de lignes à traiter dans la feuille commande, il vaudra mieux passer par macro pour la rapidité d'exécution, mais ce n'est pas dans mes compétences
https://www.cjoint.com/?AKjh4c6SSZ6
revenez si besoin de compléments
crdlmnt
ci joint un modèle de ce qui est possible.
A noter toutefois qu'au delà d'un certain nombre de lignes à traiter dans la feuille commande, il vaudra mieux passer par macro pour la rapidité d'exécution, mais ce n'est pas dans mes compétences
https://www.cjoint.com/?AKjh4c6SSZ6
revenez si besoin de compléments
crdlmnt
Bonjour vaucluse
Et surtout merci, par contre j'ai un soucie , lorsque le nom oriel est indiqué il devrai me donné 2 prénom Claire et francois mais ça n'est pas le cas il ne me donne que claire sinon ERR52 je croi pareil pour les commande
Merci.
Et surtout merci, par contre j'ai un soucie , lorsque le nom oriel est indiqué il devrai me donné 2 prénom Claire et francois mais ça n'est pas le cas il ne me donne que claire sinon ERR52 je croi pareil pour les commande
Merci.
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 421
9 nov. 2011 à 08:56
9 nov. 2011 à 08:56
Je ne comprend pas, je viens de charger et d'ouvrir le fichier que 'ai mis à disposition et ça fonctionne parfaitement chez moi
Pouvez vous mettre le fichier avec le défaut, (sans rien y modifier d'autre)sur:
https://www.cjoint.com/ (et bien sur ce site, car de là ou je suis, je n'ai plus de lien avec ci.joint.fr)
et revenir donner le lien ici
à vous lire
crdlmnt
.
Pouvez vous mettre le fichier avec le défaut, (sans rien y modifier d'autre)sur:
https://www.cjoint.com/ (et bien sur ce site, car de là ou je suis, je n'ai plus de lien avec ci.joint.fr)
et revenir donner le lien ici
à vous lire
crdlmnt
.
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 421
9 nov. 2011 à 21:36
9 nov. 2011 à 21:36
bonsoir
Pas très facile à expliquer
feuille commandes, colonne Z:
=SI(ET(B2=NOM;NB.SI($Z$1:Z1;"*"&C2&"_"&"*")=0);C2&"_"&NB.SI($Z$1:Z1;"><")+1;"")
détecte à la fois si le NOM est en B2 et si le prénom qui y est associé n'existe pas dans une cellule de la colonne Z au dessus de celle où se trouve la formule (dans le code NB.SI, le1°Z1 bloqué, le2°Z1 glissant).
si les deux conditions sont remplies,inscrit en Z sur la ligne correspondante:
le prénom et le complète d'un tiret bas et du nombre de cellule du champ Z au dessus de la ligne comportant un nom
pour faire suite à la colonne Z:, en AB2 AB6
LIGNE() donne le N° de ligne où se trouve la formule, donc LIGNE()-1 sur ligne 2 donne 1
la formule recherche en colonne Z le texte qui se termine par le N° définit par ce =code LIGNE()-1 et ressort la valeur de la colonne C sur la ligne correspondante.
Le premier NB.SI permet d'éviter l'affichage #NA lorsque le N° LIGNE()-1 n'existe pas en colonne Z
Ainsi chaque nom associé à un prénom renvoie le prénom une fois et une seule, en y associant un nombre incrémenté au fur et à mesure de l'apparition d'un prénom en Z
(le tiret bas est placé pour éviter les confusions entre prénoms composés et simple (exemple Jean et Jean Marie qui seront recherchés en Z en tant que JEAN_ et JEAN MARIE_ )
Le champ de cette liste est nommé avec une formule:
DECALER(cellule départ;décalage ligne, décalage colonne;hauteur de champ, largeur de champ)
soit donc:
=DECALER(commandes!$AB$1;1;;NB.SI(commandes!$AB:$AB;"><"))
cellule de départ sur feuille commandes: AB1
décalage ligne 1, donc tête de liste =AB2
décalage de colonne ;; donc 0 , on reste en colonne AB
NB.SI(AB:AB;"><") compte le nombre de prénom affichés entre AB2 et AB6
ainsi le champ nommé reste toujours ajusté sur AB2 et dernière cellule de AB affichant un prénom.
Ce nom est utilisé en feuille recherche E4 pour afficher le ou les prénoms disponibles: en cellule E4:
sot données / validation / liste et
= nom du champ (ici LISTEPRENOM)
une fois le prénom placé, la colonne AA sur feuille commandes:
détecte si le nom en B et le prénom en C correspondent aux valeurs de recherche(B4 et E4, qui sont nommés NOM et PRENOM)
si oui, rajoute 1 au maximum du champ au dessus de la ligne considérée (1° AA bloqué, second glissant dans le code MAX)
et ainsi incrémente les positions du tableau correspondant aux données cherchées.
La liste en AC fonctionne de la même façon que la liste des prénoms, la validation en recherche B10 aussi.
En ce qui concerne les macros qui effacent lors du changement de valeur, c'estbtout simple:
clic droit sur, le nom de l'onglet feuille recherche.
choisir "visualiser le code"
c'est tout bête, c'est affiché
Et pour en finir: pourquoi arrêt à 5000
Il suffit de tirer les formules des colonnes Z et AA plus bas pour augmenter la capacité, et de modifier la limite basse des champs dans les formules et dans le champ nommé CHAMP.
Mais je pense utile de répéter que le fichier risque de devenir lourd, et que je ne peux que recommander alors de travailler par macro, tout en répétant aussi que cette option n'est pas dans ma compétence.
Mais vous pouvez tester en copiant le fichier et en allongeant comme vous le souhaitez;
Notez qu'il faut un certain temps pour que Exccel copie les formules tirées, ce qui n'a rien à voir avec les temps de fonctionnement
un compromis serait peut être de créer une feuille intermédiaire pour traiter le sujet dans un champ limité", entre deux dates par exemple, plutôt que de traiter toute la liste de commandes
ouf désolé de ne pouvoir être plus clair, mais par écrit ce n'est pas très simple à expliquer.
bonne soirée, attention aux maux de tête :-)
Bien cordialement
Pas très facile à expliquer
feuille commandes, colonne Z:
=SI(ET(B2=NOM;NB.SI($Z$1:Z1;"*"&C2&"_"&"*")=0);C2&"_"&NB.SI($Z$1:Z1;"><")+1;"")
détecte à la fois si le NOM est en B2 et si le prénom qui y est associé n'existe pas dans une cellule de la colonne Z au dessus de celle où se trouve la formule (dans le code NB.SI, le1°Z1 bloqué, le2°Z1 glissant).
si les deux conditions sont remplies,inscrit en Z sur la ligne correspondante:
le prénom et le complète d'un tiret bas et du nombre de cellule du champ Z au dessus de la ligne comportant un nom
pour faire suite à la colonne Z:, en AB2 AB6
LIGNE() donne le N° de ligne où se trouve la formule, donc LIGNE()-1 sur ligne 2 donne 1
la formule recherche en colonne Z le texte qui se termine par le N° définit par ce =code LIGNE()-1 et ressort la valeur de la colonne C sur la ligne correspondante.
Le premier NB.SI permet d'éviter l'affichage #NA lorsque le N° LIGNE()-1 n'existe pas en colonne Z
Ainsi chaque nom associé à un prénom renvoie le prénom une fois et une seule, en y associant un nombre incrémenté au fur et à mesure de l'apparition d'un prénom en Z
(le tiret bas est placé pour éviter les confusions entre prénoms composés et simple (exemple Jean et Jean Marie qui seront recherchés en Z en tant que JEAN_ et JEAN MARIE_ )
Le champ de cette liste est nommé avec une formule:
DECALER(cellule départ;décalage ligne, décalage colonne;hauteur de champ, largeur de champ)
soit donc:
=DECALER(commandes!$AB$1;1;;NB.SI(commandes!$AB:$AB;"><"))
cellule de départ sur feuille commandes: AB1
décalage ligne 1, donc tête de liste =AB2
décalage de colonne ;; donc 0 , on reste en colonne AB
NB.SI(AB:AB;"><") compte le nombre de prénom affichés entre AB2 et AB6
ainsi le champ nommé reste toujours ajusté sur AB2 et dernière cellule de AB affichant un prénom.
Ce nom est utilisé en feuille recherche E4 pour afficher le ou les prénoms disponibles: en cellule E4:
sot données / validation / liste et
= nom du champ (ici LISTEPRENOM)
une fois le prénom placé, la colonne AA sur feuille commandes:
détecte si le nom en B et le prénom en C correspondent aux valeurs de recherche(B4 et E4, qui sont nommés NOM et PRENOM)
si oui, rajoute 1 au maximum du champ au dessus de la ligne considérée (1° AA bloqué, second glissant dans le code MAX)
et ainsi incrémente les positions du tableau correspondant aux données cherchées.
La liste en AC fonctionne de la même façon que la liste des prénoms, la validation en recherche B10 aussi.
En ce qui concerne les macros qui effacent lors du changement de valeur, c'estbtout simple:
clic droit sur, le nom de l'onglet feuille recherche.
choisir "visualiser le code"
c'est tout bête, c'est affiché
Et pour en finir: pourquoi arrêt à 5000
Il suffit de tirer les formules des colonnes Z et AA plus bas pour augmenter la capacité, et de modifier la limite basse des champs dans les formules et dans le champ nommé CHAMP.
Mais je pense utile de répéter que le fichier risque de devenir lourd, et que je ne peux que recommander alors de travailler par macro, tout en répétant aussi que cette option n'est pas dans ma compétence.
Mais vous pouvez tester en copiant le fichier et en allongeant comme vous le souhaitez;
Notez qu'il faut un certain temps pour que Exccel copie les formules tirées, ce qui n'a rien à voir avec les temps de fonctionnement
un compromis serait peut être de créer une feuille intermédiaire pour traiter le sujet dans un champ limité", entre deux dates par exemple, plutôt que de traiter toute la liste de commandes
ouf désolé de ne pouvoir être plus clair, mais par écrit ce n'est pas très simple à expliquer.
bonne soirée, attention aux maux de tête :-)
Bien cordialement
Raymond PENTIER
Messages postés
58834
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
22 janvier 2025
17 275
10 nov. 2011 à 13:33
10 nov. 2011 à 13:33
Bonjour jay.
La prochaine fois que tu sollicites de l'aide dans Bureautique, évite d'intituler ta discussion "Excel, form ..." et d'expliquer "J'ai un tableau excel ..." pour finalement, 3 jours 1/2 plus tard et au vingtième message, indiquer que c'est sur Open Office que tu travailles ! En effet Calc n'est pas compatible à 100% avec Excel, et notamment en matière de macros ...
Cordialement.
La prochaine fois que tu sollicites de l'aide dans Bureautique, évite d'intituler ta discussion "Excel, form ..." et d'expliquer "J'ai un tableau excel ..." pour finalement, 3 jours 1/2 plus tard et au vingtième message, indiquer que c'est sur Open Office que tu travailles ! En effet Calc n'est pas compatible à 100% avec Excel, et notamment en matière de macros ...
Cordialement.