VBA: Macro entre 2 fichiers excel 2007
Résolu
Ludivine
-
Ludivine -
Ludivine -
Bonjour à tous !!
Voici ce pourquoi je sollicite votre aide:
J'ai un premier fichier 'Late.xls' qui est un fichier qui fournit la principale cause de retard (colonne AN) pour chaque dossier (n° de dossier colonne A)
Fichier ici: http://cjoint.com/?ALpjMnEP8Zj
Le second fichier "tat.xlsm" est un fichier qui pour la cause de retard "Misuse" du premier fichier (MISUSE Colonne AN du late) permet de savoir plus exactement quel est le partenaire qui a généré le plus de retard.
Fichier ici: http://cjoint.com/?ALpjMMkYj29
Ce second fichier "tat.xlsm" est composé de plusieurs feuilles dont seulement 3 nous interressent :"Accepted", "rejected" et "free repair".
Je souhaiterais en gros, pour chaque ligne du fichier Late.xls qui CONTIENT "MISUSE" en colonne AN, créer une macro qui va indiquer colonne AP dans late.xls quelle est la sous catégorie de la raison "misuse". (si pas "misuse" colonne AN, laisser vide colonne AP)
Pour ça il faut pour chaque dossier du late.xls, ballayer les 3 feuilles de tat.xlsm (accepted, rejected et free repair) et indiquer la raison qui a le plus gros chiffre indiqué dans les colonnes S, T,U,V ou W (W utilisé uniquement sur la feuille "Accepted")
Info pour toutes les feuilles: si il y a "no date" à la place d'un chiffre, ne pas tenir compte de "no date" et considérer uniquement les colonnes restantes pour déterminer le plus grand nombre.
Un numéro de dossier ne peut être contenu que dans 1 seule des 3 feuilles et en fonction, indiquer comme ci dessous:
Si le Numéro de dossier est contenu dans la feuille "Accepted" ET
si colonne S contient plus gros chiffre, indiquer "Repair Line to declare" colonne AP de late.xls
Si colonne T contient le plus gros chiffre, indiquer "Quotation calculation" colonne AP de late.xls
Si colonne U contient le plus gros chiffre, indiquer "Customer delay" colonne AP de late.xls
Si colonne V contient le plus gros chiffre, indiquer "ROPS" colonne AP de late.xls
Si colonne W contient le plus gros chiffre, indiquer " Repair Line to repair" colonne AP de late.xls
Si le Numéro de dossier est contenu dans la feuille "Rejected" ET
si colonne S contient plus gros chiffre, indiquer "Repair Line to declare" colonne AP de late.xls
Si colonne T contient le plus gros chiffre, indiquer "Quotation calculation" colonne AP de late.xls
Si colonne U contient le plus gros chiffre, indiquer "Customer delay" colonne AP de late.xls
Si colonne V contient le plus gros chiffre, indiquer "Repair Line to ship Unrepaired" colonne AP de late.xls
Si le Numéro de dossier est contenu dans la feuille "Free Repair" ET
si colonne S contient plus gros chiffre, indiquer "Repair Line to declare" colonne AP de late.xls
Si colonne T contient le plus gros chiffre, indiquer "Quotation calculation" colonne AP de late.xls
Si colonne U contient le plus gros chiffre, indiquer "Customer delay" colonne AP de late.xls
Si colonne V contient le plus gros chiffre, indiquer "Repair Line to repair" colonne AP de late.xls
Si le numéro de dossier n'est contenu dans aucun des 3 onglets ci dessus, indiquer "Not in Misuse report" colonne AP de Late.xls
J'espère être complête alors surtout n'hésitez pas à poser vos questions !!
Merci infiniment par avance !
Ludivine
Voici ce pourquoi je sollicite votre aide:
J'ai un premier fichier 'Late.xls' qui est un fichier qui fournit la principale cause de retard (colonne AN) pour chaque dossier (n° de dossier colonne A)
Fichier ici: http://cjoint.com/?ALpjMnEP8Zj
Le second fichier "tat.xlsm" est un fichier qui pour la cause de retard "Misuse" du premier fichier (MISUSE Colonne AN du late) permet de savoir plus exactement quel est le partenaire qui a généré le plus de retard.
Fichier ici: http://cjoint.com/?ALpjMMkYj29
Ce second fichier "tat.xlsm" est composé de plusieurs feuilles dont seulement 3 nous interressent :"Accepted", "rejected" et "free repair".
Je souhaiterais en gros, pour chaque ligne du fichier Late.xls qui CONTIENT "MISUSE" en colonne AN, créer une macro qui va indiquer colonne AP dans late.xls quelle est la sous catégorie de la raison "misuse". (si pas "misuse" colonne AN, laisser vide colonne AP)
Pour ça il faut pour chaque dossier du late.xls, ballayer les 3 feuilles de tat.xlsm (accepted, rejected et free repair) et indiquer la raison qui a le plus gros chiffre indiqué dans les colonnes S, T,U,V ou W (W utilisé uniquement sur la feuille "Accepted")
Info pour toutes les feuilles: si il y a "no date" à la place d'un chiffre, ne pas tenir compte de "no date" et considérer uniquement les colonnes restantes pour déterminer le plus grand nombre.
Un numéro de dossier ne peut être contenu que dans 1 seule des 3 feuilles et en fonction, indiquer comme ci dessous:
Si le Numéro de dossier est contenu dans la feuille "Accepted" ET
si colonne S contient plus gros chiffre, indiquer "Repair Line to declare" colonne AP de late.xls
Si colonne T contient le plus gros chiffre, indiquer "Quotation calculation" colonne AP de late.xls
Si colonne U contient le plus gros chiffre, indiquer "Customer delay" colonne AP de late.xls
Si colonne V contient le plus gros chiffre, indiquer "ROPS" colonne AP de late.xls
Si colonne W contient le plus gros chiffre, indiquer " Repair Line to repair" colonne AP de late.xls
Si le Numéro de dossier est contenu dans la feuille "Rejected" ET
si colonne S contient plus gros chiffre, indiquer "Repair Line to declare" colonne AP de late.xls
Si colonne T contient le plus gros chiffre, indiquer "Quotation calculation" colonne AP de late.xls
Si colonne U contient le plus gros chiffre, indiquer "Customer delay" colonne AP de late.xls
Si colonne V contient le plus gros chiffre, indiquer "Repair Line to ship Unrepaired" colonne AP de late.xls
Si le Numéro de dossier est contenu dans la feuille "Free Repair" ET
si colonne S contient plus gros chiffre, indiquer "Repair Line to declare" colonne AP de late.xls
Si colonne T contient le plus gros chiffre, indiquer "Quotation calculation" colonne AP de late.xls
Si colonne U contient le plus gros chiffre, indiquer "Customer delay" colonne AP de late.xls
Si colonne V contient le plus gros chiffre, indiquer "Repair Line to repair" colonne AP de late.xls
Si le numéro de dossier n'est contenu dans aucun des 3 onglets ci dessus, indiquer "Not in Misuse report" colonne AP de Late.xls
J'espère être complête alors surtout n'hésitez pas à poser vos questions !!
Merci infiniment par avance !
Ludivine
A voir également:
- VBA: Macro entre 2 fichiers excel 2007
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Dépassement de capacité vba ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
4 réponses
Bonjour,
Pour simplifier, puis je utiliser dans "tat" une colonne (masquée à la livraison)) par ex AA ou autre qui me donnerait la colonne du + gros chiffre style equiv(max(....);.....
les 2 classeurs devront être ouverts, mais apparemment, ça devrait pas trop poser de pb
Tu dis...
Pour simplifier, puis je utiliser dans "tat" une colonne (masquée à la livraison)) par ex AA ou autre qui me donnerait la colonne du + gros chiffre style equiv(max(....);.....
les 2 classeurs devront être ouverts, mais apparemment, ça devrait pas trop poser de pb
Tu dis...
Bonjour Michel et merci de te pencher sur mon cas !!
'
Pour ajouter une colonne dans TAT, pas de problèmes, en sachant que le fichier TAT m'est envoyé 1fois / semaine avec les nouvelles données, il faudra donc que je copie la formule ou autre " qui me donnerait la colonne du + gros chiffre" dans le nouveau fichier TAT (ce qui n'est pas un problème, faut juste que je le sache !
'
La macro dans le classeur Late: c'est le mieux pour moi, oui, merci :)
Merci Michel :)
'
Pour ajouter une colonne dans TAT, pas de problèmes, en sachant que le fichier TAT m'est envoyé 1fois / semaine avec les nouvelles données, il faudra donc que je copie la formule ou autre " qui me donnerait la colonne du + gros chiffre" dans le nouveau fichier TAT (ce qui n'est pas un problème, faut juste que je le sache !
'
La macro dans le classeur Late: c'est le mieux pour moi, oui, merci :)
Merci Michel :)
et voilà, j'espère que... :o)
https://www.cjoint.com/?3LqpSrm1gr2
il serait intéressant que tu simplifies le code d'ouverture de TAT
https://www.cjoint.com/?3LqpSrm1gr2
il serait intéressant que tu simplifies le code d'ouverture de TAT
'----------Ouverture du classeur TAT.... A SIMPLIFIER SI REPERTOIRE CONNU On Error GoTo vide Workbooks.Open Filename:=Application.GetOpenFilename If ActiveWorkbook.Name <> "tat.xlsm" Then GoTo erreur2