Extraire des données d'autres fichiers Excel sous conditions...

Chris_67

XLDnaute Nouveau
Bonjour à tous,

Petite présentation pour commencer, je me prénomme Christian, je travaille dans une une petite structure ou l’on m’a chargé d’améliorer la partie commande…

Alors voilà mon problème, je commence à travailler avec Excel, je ne suis donc pas un pro, et je me sers de ce site pour améliorer mon projet, alors en VBA, je commence à m’en sortir, mais je cherche à extraire des données sous conditions dans d’autres fichiers Excel…

Pour faire simple, je joins une arborescence type et le travail que j’ai accompli pour le moment.

1 -Alors l’idée est de faire un bon de commande avec une zone de recopie de liste de matériels déterminée par le bureau d’étude, à savoir « Quantité » « référence » « fournisseur »

2 - J’ai un fichier « fournisseurs » dans un autre fichier qui détermine l’endroit sur le serveur ou se trouve le fichier tarif de chaque fournisseur.

L’idée est de rechercher suivant le fournisseur dans le fichier tarif de celui-ci la « désignation », le « prix tarif » et le « coef » et de l’intégrer dans le bon de commande.

Si quelqu’un pouvait me guider pour m’aider à utiliser la partie chemin suivant fournisseur pour l’insérer dans ma formule, car je n’ai rien trouvé sur le site qui me le permette…

Je sais que le site n’a pas pour vocation de développer des solutions toutes faites pour les autres mais j’ai vraiment cherché et je suis coincé.

Merci à tous ceux qui voudront bien se pencher un peu sur mon problème à l’avance, et j’espère qu’il pourra aider d’autres personnes par la suite.

Salutations.
 

Pièces jointes

  • CDES.zip
    87.2 KB · Affichages: 69
  • CDES.zip
    87.2 KB · Affichages: 57
  • CDES.zip
    87.2 KB · Affichages: 58

JBOBO

XLDnaute Accro
Re : Extraire des données d'autres fichiers Excel sous conditions...

Bonjour,

Un essai à adapter, en B22 de ton bon de commande :
Code:
=SI(A22<>"";RECHERCHEV(L22;INDIRECT("'"&RECHERCHEV(RECHERCHEV(M22;O4:P11;2;0);'[4-2-4 LISTE FOURNISSEURS.xlsm]Fournisseurs'!$A$3:$H$17;8;0)&"'!B1:Z100");[B]4[/B];0);"")

AVEC EN O4 et O5 respectivement : SCH et ECO et en P4 et P5, respectivement schneider electric et ecosignal

Le chemin d'acces dans ton fichier fournisseur colonne H doit se présenter sous la forme : C:\......\CDES\ecosignal\[ecosignal.xlsx]pour Ecosignal
et pareil pour schneider et les autres fournisseurs.
Attention cela implique que toutes les feuilles fournisseurs ont la meme trame.
pour info le 4 en gras dans la formule permet de dire à excel d'aller chercher la valeur situe dans la 4ème colonne de la plage B1:Z100 de la feuille du fournisseur (ici colonne E (DES) de la feuille pour ecosignal ou pour schneider ), donc à remplacer par 7 pour avoir le PUTHT et par 13 pour avoir le coef.
 
Dernière édition:

Chris_67

XLDnaute Nouveau
Re : Extraire des données d'autres fichiers Excel sous conditions...

Merci beaucoup pour pour ta réponse, je viens d'essayer, mais ca ne marche pas, enfin pour l'instant, je cherche déjà à comprendre cette formule avant d'aller plus loin...ça coince au niveau de "4[" à la fin de la formule.
 

Chris_67

XLDnaute Nouveau
Re : Extraire des données d'autres fichiers Excel sous conditions...

Ca y est !!! J'ai compris la formule et j'ai réussi à l'adapter...très intéressant.
Merci beaucoup, mais ça ne va malheureusement pas convenir, mais c'est de ma faute, j'ai omis d'expliquer quelque chose, et je m'en aperçois du coup...
Voilà, j'ai une quantité de fournisseurs pouvant aller jusqu'à une vingtaine par commande, et cette formule ne marche que si les fichiers sont ouverts...par contre le fait de créer une trame commune à tous les fournisseurs n’est pas un souci.
Une idée ?
 

JBOBO

XLDnaute Accro
Re : Extraire des données d'autres fichiers Excel sous conditions...

re,

Et oui dans la précipitation j'ai oublié de préciser qu'avec la fonction "indirect", les fichiers doivent etre ouvert.

Cependant, il est peut-etre possible de créer un seul classeur avec une feuille par fournisseur, ce qui ne ferait qu'un seul fichier à ouvrir en plus du bon de commande.

Dans ce cas tu peux t'inspirer des modifs que j'ai apporté au chemin dans le fichier fournisseur. en fait il faut préciser le nom de la feuille à consulter dans le fichier. par exemple pour le fichier ecosignal, ta feuille à pour nom "pour ecosignal" alors le chemin d'accès sera par exemple :
Code:
C:\CDES\ECOSIGNAL\[Ecosignal.xlsx]pour ecosignal
et dans l'hypothese d'un classeur unique qui s'appelerait, disons "AAA.xlsx", ou tu aurais plusieurs feuilles nommées "pour Schneider" et "pour ecosignal", alors le chemin d'accès à noter en colonne H de ton fichier fournisseur serait :
Code:
C:\CDES\[AAA.xlsx]pour schneider
pour rechercher une ref SCH, et
Code:
C:\CDES\[AAA.xlsx]pour ecosignal
pour rechercher une ref ECO

Pour info en dezippant ta dernière piece jointe, j'ai eu un plantage excel en voulant ouvrir la feuille schneider.xlsx, et comme j'ai repris ton zip, pense à enregistrer tes données avant de dezipper la piece jointe de ce message et d'ouvrir un fichier excel.
 

Pièces jointes

  • CDES.zip
    68.4 KB · Affichages: 32
  • CDES.zip
    68.4 KB · Affichages: 25
  • CDES.zip
    68.4 KB · Affichages: 29

Chris_67

XLDnaute Nouveau
Re : Extraire des données d'autres fichiers Excel sous conditions...

Je suis vraiment désolé...rien de grave j'espère...me fais tout petit là !!!
 

Pièces jointes

  • CDES.zip
    75.3 KB · Affichages: 35
  • CDES.zip
    75.3 KB · Affichages: 27
  • CDES.zip
    75.3 KB · Affichages: 29

JBOBO

XLDnaute Accro
Re : Extraire des données d'autres fichiers Excel sous conditions...

RE,
les seules solutions que je connaisse sont soit d'installer la macro complementaire "morefunc" qui possède une formule appelé indirect.ext et qui permet de lire dans des classeurs fermés (chez moi elle me plante excel)

ou bien de tout regrouper dans un seul fichier comme la piece jointe. A voir ce que tu preferes.

ou peut-etre par macro mais là je ne sais pas faire !
 

Pièces jointes

  • BON COMMANDE.xlsx
    238.3 KB · Affichages: 50

Chris_67

XLDnaute Nouveau
Re : Extraire des données d'autres fichiers Excel sous conditions...

Ok, merci beaucoup JBOBO, ton aide m'a été précieuse.

Je vais essayer de chercher un moyen d'ouvrir automatiquement les fichiers fournisseurs concernés par la commande un après l'autre pour récuperer les données...seul problème, les données ne sont pas concervées à la réouverture de la commande. Il faut réouvrir les fichiers fournisseurs pour remettre à jour les champs...pffff...encore un truc pas cool...mais j'avance à petits pas...
 

Chris_67

XLDnaute Nouveau
Re : Extraire des données d'autres fichiers Excel sous conditions...

JBOBO help !!!!!

Je n'y comprend plus rien, plantage dans excel puis plus moyen de corriger la formule pour qu'elle fonctionne...peux-tu jeter un oeil pour voir ce qui cloche ?

Merci !!!!:confused:
 

Pièces jointes

  • BON DE COMMANDE CSI.xlsm
    72.3 KB · Affichages: 62
  • ECOSIGNAL.xlsx
    11.1 KB · Affichages: 47
  • SCHNEIDER.xlsx
    13.7 KB · Affichages: 59
  • ECOSIGNAL.xlsx
    11.1 KB · Affichages: 45
  • SCHNEIDER.xlsx
    13.7 KB · Affichages: 63
  • ECOSIGNAL.xlsx
    11.1 KB · Affichages: 42
  • 4-2-4 LISTE FOURNISSEURS.xlsm
    33.2 KB · Affichages: 287
  • SCHNEIDER.xlsx
    13.7 KB · Affichages: 59

JBOBO

XLDnaute Accro
Re : Extraire des données d'autres fichiers Excel sous conditions...

Bonjour

peux tu essayer de modifier la cellule I10 de ton fichier "....liste fournisseur..." comme ceci :
Code:
S:\4-LOGISTIQUE\2-FOURNISSEURS\2-CATHALOGUE-PRIX\SCHNEIDER\[SCHNEIDER.xlsx]schneider

et la cellule I7 selon le meme principe, cad en mettant le NOM DE FICHIER entre [] suivi du NOM DE LA FEUILLE . Je n'ai pas testé car plantage excel et pas voulu changer tout le chemin d'acces.
 

Chris_67

XLDnaute Nouveau
Re : Extraire des données d'autres fichiers Excel sous conditions...

Salut JBOBO...
Pas de meilleurs résultats...j'suis paumé la !

Dans la formule :

=SI(L23=0;"";SI(A23<>"";RECHERCHEV(L23;INDIRECT("'"&RECHERCHEV(RECHERCHEV(M23;Fournisseurs!$A:$B;2;0);'s:\4-LOGISTIQUE\2-FOURNISSEURS\4-LISTE FOURNISSEURS\[4-2-4 LISTE FOURNISSEURS.xlsm]Fournisseurs'!$B$3:$I$17;8;0)&"'!$B$1:$Z$65000");4;0);""))

Le INDIRECT marche comment ? je n'arrive pas à le comprendre...
 

JBOBO

XLDnaute Accro
Re : Extraire des données d'autres fichiers Excel sous conditions...

re,

1 - Rappel, Indirect ne fonctionne que si les fichiers concernés sont ouvert.
2 - Une fois ces fichiers ouverts, tente de faire un audit de formule (icone essai de faire un audit (evaluation) de ta formule en te mettant sur la cellule contenant la formule et en cliquant dans (formules / Evaluation de formule),représenter par l'icone (fx)
 

JBOBO

XLDnaute Accro
Re : Extraire des données d'autres fichiers Excel sous conditions...

re,

Après verif, c'est le nom du chemin qui pose problème, et là je ne peux rien pour toi car je ne connais pas ton chemin sur ton ordinateur. La seule chose que tu peux faire c'est ouvrir les fichiers "bon de commande", "fournisseurs", "schneider", "ecosignal" et de réecrire ton chemin d'acces dans ton fichier fournisseur, puis de voir ce qui se passe dans le fichier "bon de commande". Malheureusement je ne peux rien faire de plus !
 

Discussions similaires

Réponses
2
Affichages
551

Statistiques des forums

Discussions
312 176
Messages
2 085 967
Membres
103 070
dernier inscrit
jujulop