Need help - Excel, examine et tant d'autre..
Posté : 03 juil. 2015, 18:03
Bien le bonjour!
Je viens vers vous car je me lance dans la création d'une macro qui me dépasse complètement (mais qui m'est indispensable..) et j'aurai besoin d'aide (silvouplé)
Bon, je vais essayer de vous expliquer ça le plus simplement et clairement possible, et pour ceux qui auront le courage, je détaillerais un peut plus ce que j'ai commencé à faire et ce sur quoi je bloque.. Have fun
LA MACRO :
Je posède 2 tableaux excel comportant des noms d'hotels (classés par ordre alphabétique, important pour le déroulement de la macro) et le chiffre d'affaire que je réalise dans chacun d'entre eux.
Le premier tableau est le chiffre d’affaire par hôtel du mois (en l’occurrence du mois de juin par exemple). Il se présente de la sorte :
Nom hôtel CA juin (€)
Hôtel 1 20
Hôtel 2 07
Hôtel 4 12
Hôtel 5 03
Le deuxième tableau est un tableau comprenant tous les hôtels chez qui j'ai déjà eu un chiffre d'affaire, avec leur CA/mois, que je dois compléter. Admettons :
Nom hôtel CA avril CA mai CA juin
Hôtel 1 02 -
Hôtel 2 16 45
Hôtel 3 28 03
Hôtel 4 - 14
Vous l'aurez compris, le but est de créer une macro qui va automatiquement récupérer les données du 1er document pour les mettre à la bonne place dans le 2ème !
Mais c'est là que ça se complique.. Car si tout vas bien, l'Hôtel 1 à augmenté son chiffre d'affaire au mois de juin, et apparaît donc bien dans le premier tableau, la macro est assez simple. Mais il se peut qu'un hôtel n'ai pas augmenté le CA, auquel cas il n’apparaîtra pas dans le 1er tableau mais pourtant bien dans le deuxième (comme l'Hôtel 3 dans mon exemple).
Il se peut aussi qu'un nouvel hotel fasse sont apparition (Hôtel 5) et n'était pas répertorié avant, mais chaque chose en son temps, ce n'est pas ma priorité!
Pour résoudre ces problème, j'ai donc utilisé le plugin d'Excel qui permet d'obtenir la valeur d'une cellule d'un doc excel. Je récupère les données de la 1ere case (donc le nom du 1er hôtel) sur les 2 docs, je mes met dans des variables puis fonction Examine. Si = pas de pb, je copie le CA et je le colle au bon endroit ensuite.
Mais si c'est différent.. Je dois trouver un moyen pour vérifier que l'hôtel dont j'ai pris le nom sur le premier document n'apparait pas quelques cellules plus bas sur le second car il se peut qu'il n'aparaisse pas dans le 1er vu qu'il n'a pas effectuer de CA ! (je parle même pas de l'éventualité où il s'agirait d'un nouvel hôtel..)
Des idées ? :'(
Voilà ce que j'ai commencé à faire, c'est assez sommaire et pour tester:
Variable [CLIPBOARD];[CLIPBOARD];Alpha;
Variable <nom hotel mois de juin>;;Alpha;
Variable <nom hotel doc final>;;Alpha;
Data Excel GET;C:\Users\Magic\Desktop\initial.xls;B51;<nom hotel mois de juin>;<nom hotel mois de juin>;
Data Excel GET;C:\Users\Magic\Desktop\Ventes par arrondissement 2015 v2 TEST.xls;5è!B6;<nom hotel doc final>;<nom hotel doc final>;
Examine GET;C:\Users\Magic\Desktop\initial.xls;B51;<nom hotel mois de juin>;<nom hotel mois de juin>;<nom hotel mois de juin>;=;<nom hotel doc final>;
Goto <même nom hotel>
Goto <nom hotel différents>
Label <même nom hotel>
Type Special CTRL;C;
Pause 00:00:01
Type Special ALT;[KeyDown];
Type Special TAB;
Type Special ALT;[KeyUp];
Pause 00:00:01
Type [CLIPBOARD]
Pause 00:00:01
Type Special ALT;[KeyDown];
Type Special TAB;
Type Special ALT;[KeyUp];
Pause 00:00:01
Type Special BAS;
Quitter
Label <nom hotel différents>
Pause 00:00:01
Commentaire Marche pas a partir d'ici
Data Excel GET;C:\Users\Harith\Desktop\Ventes par arrondissement 2015 v2 TEST.xls;Eè!B6:B9;<test>;<test>;
Examine GET;C:\Users\Harith\Desktop\initial.xls;B51;<nom hotel mois de juin>;<nom hotel mois de juin>;<nom hotel mois de juin>;=;<nom hotel doc final>;<nom hotel mois de juin>;<;<test>;
Move Mouse 662;890;Direct;ImgRef3; (juste pour test si ça marche ou non)
Move Mouse 878;11;Direct;ImgRef4; (juste pour test si ça marche ou non)
Pause 00:00:01
Voilà voilà... Pour ceux qui auront eu la foie d'arriver jusque là, sachez que l'idéal serait d’incrémenter la valeur de la cellule d'excel recherché, en gros pour pas copier coller toute la macro pour les 70 hotels.. Donc peut être que ça facilitera la tache, j'ai fait avec mes maigres connaissances, donc si vous avez des meilleurs solutions je prends avec plaisir!
Paix et guérison sur vous!
Merci d'avance
Magic
Je viens vers vous car je me lance dans la création d'une macro qui me dépasse complètement (mais qui m'est indispensable..) et j'aurai besoin d'aide (silvouplé)
Bon, je vais essayer de vous expliquer ça le plus simplement et clairement possible, et pour ceux qui auront le courage, je détaillerais un peut plus ce que j'ai commencé à faire et ce sur quoi je bloque.. Have fun
LA MACRO :
Je posède 2 tableaux excel comportant des noms d'hotels (classés par ordre alphabétique, important pour le déroulement de la macro) et le chiffre d'affaire que je réalise dans chacun d'entre eux.
Le premier tableau est le chiffre d’affaire par hôtel du mois (en l’occurrence du mois de juin par exemple). Il se présente de la sorte :
Nom hôtel CA juin (€)
Hôtel 1 20
Hôtel 2 07
Hôtel 4 12
Hôtel 5 03
Le deuxième tableau est un tableau comprenant tous les hôtels chez qui j'ai déjà eu un chiffre d'affaire, avec leur CA/mois, que je dois compléter. Admettons :
Nom hôtel CA avril CA mai CA juin
Hôtel 1 02 -
Hôtel 2 16 45
Hôtel 3 28 03
Hôtel 4 - 14
Vous l'aurez compris, le but est de créer une macro qui va automatiquement récupérer les données du 1er document pour les mettre à la bonne place dans le 2ème !
Mais c'est là que ça se complique.. Car si tout vas bien, l'Hôtel 1 à augmenté son chiffre d'affaire au mois de juin, et apparaît donc bien dans le premier tableau, la macro est assez simple. Mais il se peut qu'un hôtel n'ai pas augmenté le CA, auquel cas il n’apparaîtra pas dans le 1er tableau mais pourtant bien dans le deuxième (comme l'Hôtel 3 dans mon exemple).
Il se peut aussi qu'un nouvel hotel fasse sont apparition (Hôtel 5) et n'était pas répertorié avant, mais chaque chose en son temps, ce n'est pas ma priorité!
Pour résoudre ces problème, j'ai donc utilisé le plugin d'Excel qui permet d'obtenir la valeur d'une cellule d'un doc excel. Je récupère les données de la 1ere case (donc le nom du 1er hôtel) sur les 2 docs, je mes met dans des variables puis fonction Examine. Si = pas de pb, je copie le CA et je le colle au bon endroit ensuite.
Mais si c'est différent.. Je dois trouver un moyen pour vérifier que l'hôtel dont j'ai pris le nom sur le premier document n'apparait pas quelques cellules plus bas sur le second car il se peut qu'il n'aparaisse pas dans le 1er vu qu'il n'a pas effectuer de CA ! (je parle même pas de l'éventualité où il s'agirait d'un nouvel hôtel..)
Des idées ? :'(
Voilà ce que j'ai commencé à faire, c'est assez sommaire et pour tester:
Variable [CLIPBOARD];[CLIPBOARD];Alpha;
Variable <nom hotel mois de juin>;;Alpha;
Variable <nom hotel doc final>;;Alpha;
Data Excel GET;C:\Users\Magic\Desktop\initial.xls;B51;<nom hotel mois de juin>;<nom hotel mois de juin>;
Data Excel GET;C:\Users\Magic\Desktop\Ventes par arrondissement 2015 v2 TEST.xls;5è!B6;<nom hotel doc final>;<nom hotel doc final>;
Examine GET;C:\Users\Magic\Desktop\initial.xls;B51;<nom hotel mois de juin>;<nom hotel mois de juin>;<nom hotel mois de juin>;=;<nom hotel doc final>;
Goto <même nom hotel>
Goto <nom hotel différents>
Label <même nom hotel>
Type Special CTRL;C;
Pause 00:00:01
Type Special ALT;[KeyDown];
Type Special TAB;
Type Special ALT;[KeyUp];
Pause 00:00:01
Type [CLIPBOARD]
Pause 00:00:01
Type Special ALT;[KeyDown];
Type Special TAB;
Type Special ALT;[KeyUp];
Pause 00:00:01
Type Special BAS;
Quitter
Label <nom hotel différents>
Pause 00:00:01
Commentaire Marche pas a partir d'ici
Data Excel GET;C:\Users\Harith\Desktop\Ventes par arrondissement 2015 v2 TEST.xls;Eè!B6:B9;<test>;<test>;
Examine GET;C:\Users\Harith\Desktop\initial.xls;B51;<nom hotel mois de juin>;<nom hotel mois de juin>;<nom hotel mois de juin>;=;<nom hotel doc final>;<nom hotel mois de juin>;<;<test>;
Move Mouse 662;890;Direct;ImgRef3; (juste pour test si ça marche ou non)
Move Mouse 878;11;Direct;ImgRef4; (juste pour test si ça marche ou non)
Pause 00:00:01
Voilà voilà... Pour ceux qui auront eu la foie d'arriver jusque là, sachez que l'idéal serait d’incrémenter la valeur de la cellule d'excel recherché, en gros pour pas copier coller toute la macro pour les 70 hotels.. Donc peut être que ça facilitera la tache, j'ai fait avec mes maigres connaissances, donc si vous avez des meilleurs solutions je prends avec plaisir!
Paix et guérison sur vous!
Merci d'avance
Magic