Pb recherche sur plusieurs colonnes..

-etienne-

XLDnaute Nouveau
Bonjour à tous ! C'est ma première question sur ce forum, qui est, après de nombreuses recherches sur le net, celui ou j'ai trouvé les infos les plus pertinentes sur Excel !! J'ai été impressionné par le niveau de certains !

J'ai un problème sur une fonction recherche (ou peut être une autre). Je vais essayer d'être le plus clair possible pour vous éviter d'éventuelles questions !

J'ai un fichier Excel 2007 dans lequel j'ai des commandes clients, et des fournisseurs.

Je peux avoir jusqu'à 10 fournisseurs sur une même commande. J'ai donc une colonne A avec le numéro de la commande client, et une colonne B avec fournisseur 1 puis colonne C avec "montant" (de la prestation du fournisseur 1), puis colonne D avec "fournisseur 2", colonne E "montant" (du fournisseur 2) , etc pour obtenir un total de 10 fournisseurs, soit 20 colonnes dédiées aux fournisseurs potentiels.
L'idée est que dans ces colonnes fournisseurs, je puisse sélectionner, via une liste déroulante, le nom du fournisseur qui m'intéresse pour une commande précise, puis saisir le montant de sa prestation dans la colonne de droite. cela signifie donc que sur 2 commandes différentes, un même fournisseur peu apparaitre sur 2 colonnes différentes. L'ordre de sélection des fournisseurs se fera donc "au pif" par l'utilisateur du fichier Excel.

La ou ça se corse, c'est que dans une autre feuille de mon classeur excel, je veux pouvoir créer des fiches fournisseurs donnant l'état de la comptabilité.

J'aurai donc sur cette feuille de calcul une zone "jack", qui est un fournisseur. Cette zone aura deux colonnes: une comprenant les numéros de commande auxquelles il a participé, et une autre sur laquelle il y a le montant correspondant à la commande.

J'aurai une autre zone avec "Daniel's", un autre de mes fournisseurs, avec deux colonnes, pareil, commande et montant.

et ce pour environ une cinquantaine de fournisseurs différents (pas très pratique :( )

la ou je coince, c'est pour trouver une formule qui me permette de chercher un nom, par exemple jack, sur 10 colonnes différentes, et de me donner le montant de sa prestation et le numéro de commande client correspondant.

On pourrait imbriquer des "si" mais ça ne me parait pas franchement optimisé.

je joins un petit fichier tout simple au message pour clarifier le pb!

Si vous trouvez une solution, si possible pas de macro, je n'y comprends rien et si il y a un problème quelconque sur le fichier, je ne serai pas en mesure de le corriger). Je veux pouvoir être maître du fichier !

Merci !


[edit] on peut pas joindre de xlsx ? je l'ai zippé !
 

Pièces jointes

  • tests recherche.zip
    8.5 KB · Affichages: 57
Dernière édition:

mth

XLDnaute Barbatruc
Re : Pb recherche sur plusieurs colonnes..

Bonjour Etienne,

Ci-joint un petit essai, mais avec une mise en forme différente de tes données. Je ne suis donc pas sûre que ma réponse te convienne, mais si tu peux organiser tes commandes en lignes plutôt qu'en colonnes, du coup tu peux utiliser les outils tout faits d'excel pour ton récap.

Dans l'onglet "commandes", tu verras que j'ai mis les commandes les unes en dessous des autres, pour le fun je t'ai aussi placé un filtre et une petite fonction sous-total qui peut-être pratique.

Dans l'onglet "Résulat" un simple tableau croisé dynamique, il suffit de l'actualiser (sur le tableau clic droit de la souris et menu "Actualiser").

Si tu ne peux pas organiser tes commandes autrement .... pas trouvé de formules (il doit y en avoir mais bien trop compliqué pour moi :eek:)

Je te laisse voir si cela peut t'aider un peu tout de même, et bon après-midi,

mth
 

Pièces jointes

  • tests recherche2.zip
    13.1 KB · Affichages: 61

-etienne-

XLDnaute Nouveau
Re : Pb recherche sur plusieurs colonnes..

merci beaucoup pour ta réponse Mth !

C'est très sympa de ta part !

merci pour les fonctions filtres et sous-total !

malheureusement, ça me semble compliqué d'étaler une même commande sur plusieurs lignes, je sais pas ce que t'en penses... Une commande avec 10 fournisseurs se trouvera dupliquée sur 10 lignes...

En tout cas merci encore ! ;)


d'autres idées ?
 

CISCO

XLDnaute Barbatruc
Re : Pb recherche sur plusieurs colonnes..

Bonjour

un début de réponse en pièce jointe, prenant en compte plusieurs colonnes de fournisseurs, malheureusement trop lourd en l'état et utilisable qu'avec des formules nommées vue la longueur de la formule finale. A améliorer donc, peut être avec la fonction DECALER ?


@ plus
 

Pièces jointes

  • testplusieurscolonnesbis.xls
    29 KB · Affichages: 53
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Pb recherche sur plusieurs colonnes..

Bonsoir

Quelques petites modifications concernant l'utilisation de la fonction NB.SI, simplifiant beaucoup l'écriture des fonctions nommées DANS..

@ plus
 

Pièces jointes

  • testplusieurscolonnester.xls
    30 KB · Affichages: 57
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Pb recherche sur plusieurs colonnes..

Bonjour

Même méthode, donc avec les fonctions INDEX, PETITE.VALEUR, LIGNES et NB.SI, mais avec des plages nommées.

@ plus
 

Pièces jointes

  • testplusieurscolonnesquatre.xls
    23 KB · Affichages: 56
  • testplusieurscolonnesquatre.xls
    23 KB · Affichages: 52
  • testplusieurscolonnesquatre.xls
    23 KB · Affichages: 55

-etienne-

XLDnaute Nouveau
Re : Pb recherche sur plusieurs colonnes..

ouai bon il va me falloir du temps, je ne connais absolument pas les formules que t'as utilisées !

genre petite valeur, etc, meme index je la connais pas. Je regarde ça en détail dès que j'ai un moment et je reviens vers toi Cisco ! merci beaucoup , sincèrement !

En tout cas, ça semble déja plus proche de ce que je recherche !
 

CISCO

XLDnaute Barbatruc
Re : Pb recherche sur plusieurs colonnes..

Bonjour

Dans le fichier ci-joint, quelques explications.

Te gêne pas pour poser davantage de questions.

Si tu n'arrives pas à adapter cette solution à ton fichier, envoie nous le tien, simplifé, avec le nombre exact de colonnes, de feuilles utilisées, les en-tête étant au bon endroit, en nous indiquant le nombre total de lignes de ton fichier original... Evites les cellules fusionnées, source de problème, si elles servent dans les calculs.

On essayera de faire quelque chose.

@ plus
 

Pièces jointes

  • testplusieurscolonnesquatre.xls
    27.5 KB · Affichages: 55
  • testplusieurscolonnesquatre.xls
    27.5 KB · Affichages: 56
  • testplusieurscolonnesquatre.xls
    27.5 KB · Affichages: 63

-etienne-

XLDnaute Nouveau
Re : Pb recherche sur plusieurs colonnes..

Merci beaucoup Cisco ! J'ai travaillé sur ton fichier sans revenir sur ce forum, et je viens de m'apercevoir que tu avais posté plein d'explications ! je vais les lire avec intérêt

Tes idées m'ont permis de bifurquer vers une solution qui me semble plus simple, bricolée comme j'ai pu. (loi du moindre effort)
Cette solution me permet d'obtenir la valeur de la case à droite lorsque qu'une cellule comporte "jack"! J'ai juste à la dupliquer sur chaque ligne des fiches fournisseurs, et modifier le nom de la recherche.

=RECHERCHEV("jack";C5:J5;EQUIV("jack";C5:J5;0)+1)

Cette solution fonctionne, à condition que jack n'ait été saisi qu'une seule fois dans chaque commande. En principe, ce sera le cas systématiquement. (le tout, c'est de le savoir afin de cumuler les éventuels frais multiples engagés auprès d'un seul fournisseur au moment de la saisie).
En revanche, cela signifie que pour chaque fiche fournisseur, il y aura une ligne vide à chaque commande sur laquelle il n'aura pas participé. J'ai pensé à filtrer les fiches fournisseurs pour ne pas afficher les lignes vides, mais existe-t-il une solution pour que les commandes (donc les lignes) filtrées pour un fournisseur ne soit pas filtrée pour un autre fournisseur qui aurait travaillé sur la commande en question, le tout sur une même feuille excel?

Je ne sais pas si je me fais comprendre...
 

CISCO

XLDnaute Barbatruc
Re : Pb recherche sur plusieurs colonnes..

Cette solution fonctionne, à condition que jack n'ait été saisi qu'une seule fois dans chaque commande.

Tu as raison, j'ai pris un exemple, et donc une situation, trop compliqué. Logiquement, un fournisseur ne devrait se retrouver qu'une seule fois par ligne, donc ton idée est bonne.
Les formules proposées dans les fichiers précédents serviront peut être à d'autres, dans des cas plus compliqués, lorsque "jack" peut se retrouver plusieurs fois sur chaque ligne...

=RECHERCHEV("jack";C5:J5;EQUIV("jack";C5:J5;0)+1)

La fonction RECHERCHEV recherche "jack" uniquement dans la première colonne de la plage C5:J5, donc ici en C5. Résultat, la formule ci-dessus, copiée puis collée vers le bas, ne fonctionne que pour les "jack" dans la colonne C.

En suivant ton idée, il faut faire avec
Code:
=INDEX(C5:J5;;EQUIV("jack";C5:J5;0)+1)

pour chaque fiche fournisseur, il y aura une ligne vide à chaque commande

Et oui.

@ plus
 

CISCO

XLDnaute Barbatruc
Re : Pb recherche sur plusieurs colonnes..

Bonsoir

Un petit fichier pour te donner quelques idées pour supprimer les lignes blanches correspondant aux commandes ne comprenant pas le fournisseur considéré.

@ plus
 

Pièces jointes

  • testplusieurscolonnesnouveau.xls
    27.5 KB · Affichages: 50
  • testplusieurscolonnesnouveau.xls
    27.5 KB · Affichages: 53
  • testplusieurscolonnesnouveau.xls
    27.5 KB · Affichages: 56

CISCO

XLDnaute Barbatruc
Re : Pb recherche sur plusieurs colonnes..

Bonjour

Quelques variantes, avec, il me semble, moins de calculs matriciels, donc in fine, un temps de calcul plus court.

@ plus
 

Pièces jointes

  • testplusieurscolonnesnouveau.xls
    38 KB · Affichages: 64
  • testplusieurscolonnesnouveau.xls
    38 KB · Affichages: 65
  • testplusieurscolonnesnouveau.xls
    38 KB · Affichages: 62

-etienne-

XLDnaute Nouveau
Re : Pb recherche sur plusieurs colonnes..

bien reçu, t'avais effectivement raison pour la formule rechercheV !

Je voulais te répondre plutot mais le forum était en lecture seule !

Ta formule Index marche du tonnerre !

j'ai juste eu une petite frayeur: j'avais fait une première liste de fournisseurs avec uniquement des chiffres que j'allais remplacer ensuite par des noms: par exemple "22" pour le frns 22. Mais comme à un autre endroit du tableau, j'avais simulé un montant de 22 euros, il a considée le 22 € comme un frns et m'a donc donné la colonne de droite, soit le nom d'un autre frns à la place du montant ! tout s'est résolu en mettant des lettres !

Mais merci 1000 fois !

pour ce qui est de la suppression des lignes vides, je n'ai pas compris les formules :( Mais je crois que je me contenterai des espaces !

Merci Cisco !

++
 

Discussions similaires

Réponses
11
Affichages
641

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 187
dernier inscrit
ebenhamel