Macros sur différents fichiers

Résolu/Fermé
Ecam39 Messages postés 286 Date d'inscription jeudi 12 janvier 2012 Statut Membre Dernière intervention 16 mars 2024 - 28 févr. 2013 à 10:37
 toctoc - 20 janv. 2014 à 11:12
Bonjour,

Je dois effectuer une macro sur des grilles de transport. Je m'explique :
- J'ai crée une grille transport (poids et departement avec les tarifs).
- Via le système EPR, on extrait la liste des BL qui comportent un département et un poids, à partir de ce fichier, j'active une macro qui m'affiche un prix devant chaque ligne.

Le problème, c'est que le fichier extrait sous excel sera toujours différent, par exemple je fais une extraction le jour J, une autre extraction le jour J+1. Donc 2 fichiers différents.
Est ce que c'est possible d'enregistrer une macro dans un classeur excel (contenant les tarifs transport) et lorsque l'on extrait le fichier BL, aller chercher la macro et l'activer, sans en recréer une nouvelle à chaque nouvelle extraction de fichier.

J'espère avoir été clair :)

Merci

A voir également:

20 réponses

Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
Modifié par Le Pingou le 28/02/2013 à 11:13
Bonjour,
En principe un classeur de base qui contient La grille et la procédure. Les extraits sur autre classeur qui recevront les valeurs adéquates depuis le classeur de base.
Que comprendre par [BL] .... ?


Salutations.
Le Pingou
0
Ecam39 Messages postés 286 Date d'inscription jeudi 12 janvier 2012 Statut Membre Dernière intervention 16 mars 2024 9
28 févr. 2013 à 11:23
Le BL est un bon de livraison, mais je fais une extraction de ces BL, par exemple à la journée).
Aujourd'hui on est le 28/02, je vais faire une extraction de ce listing, et j'aimerai aller chercher une macro qui va m'afficher un cout devant chaque ligne, en sachant que le tableau contenant la grille transport se trouve sur un autre fichier.

Dmain, le 1er mars, je vais extraire un nouveau fichier, donc la macro ne sera plus présente, est ce qu'il est possible d'aller la chercher ou je dois tout recréer ?
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
Modifié par Le Pingou le 28/02/2013 à 15:45
Bonjour,
Une possibilité, comme je l'ai mentionné via un classeur de base et c'est depuis celui-ci que l'on traite les extraits.
Autre possibilité selon ce que vous réalisez aujourd'hui à savoir comment vous créer l'extrait des bons de livraison ....(utilisez-vous déjà une macro ?) .... A vous de le dire !


Salutations.
Le Pingou
0
Ecam39 Messages postés 286 Date d'inscription jeudi 12 janvier 2012 Statut Membre Dernière intervention 16 mars 2024 9
28 févr. 2013 à 16:08
Pour le moment j'ai utilisé un dossier de base qui contient un fichier avec les tarifs, et la macro (non rattaché au fichier) que j'ai crée avec l'enregistreur de macros.
Ce que j'ai pu faire après l'extraction du fichier, c'est importer la mcro dans visual basic et ensuite l'éxécuter.

Pour le moment ça a marché :)
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
Modifié par Le Pingou le 28/02/2013 à 16:25
Bonjour,
Pourquoi vous ne voulez pas expliquer comment vous réaliser l'extrait ........... Qu'est-ce que vous faites .... Qu'elles sont les formats des fichiers... xls, csv... ou autre.... ?


Peut-être que votre fichier de base avec la macro me permettrait de mieux vous aidez, le mettre sur https://www.cjoint.com/ et poster le lien !


Salutations.
Le Pingou
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ecam39 Messages postés 286 Date d'inscription jeudi 12 janvier 2012 Statut Membre Dernière intervention 16 mars 2024 9
28 févr. 2013 à 16:28
L'extraction s'effectue d'un ERP jusqu'à Excel, ensuite j'enregistre le fichier en format XLS.
A partir de ce fichier, je vais dans visual basic, j'importe la macro que j'ai crée (enregistreur de macro) et je l'éxécute.
Elle va chercher les données dans un autre fichier excel situé dans un dossier (qui lui est toujours le même).

La macro contient les formules que j'ai écris pour (index et equiv) pour aller chercher une valeur.

Le petit hic, c'est que je dois etirer la formule sur un nombre de ligne non définit.
Si lors de l'enregistrement de la macro, j'ai étirer la formule jusqu'à 30 lignes, le lendemain, quand je l'éxécuterai sur un nouveau fichier, je n'aurais que 30 lignes, et si le fichier en a 50, elles ne seront pas prises en compte.
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
28 févr. 2013 à 16:46
Bonjour,
Merci pour l'information. Dans ce cas on peut partir du fichier enregistrer au format [xls] est c'est le classeur de base qui le traite. Pouvez-vous mettre le classeur de base et un classeur d'extrait dans un ZIP puis le mettre sur https://www.cjoint.com/ et poster le lien !

0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
28 févr. 2013 à 16:50
Bonjour,
Petit complément : est-ce que c'est vous qui créer l'extrait ou vous le recevez ?
Que comprendre par : d'un ERP ...... ?

0
Ecam39 Messages postés 286 Date d'inscription jeudi 12 janvier 2012 Statut Membre Dernière intervention 16 mars 2024 9
1 mars 2013 à 09:06
Je n'ai malheureusement pas l'autorisation de poster des données comme ceci sur le net :)
ERP, c'est le système utilisé dans l'entreprise, gestion de stock, des commandes, suivis d'OF etc;
Le fichier c'est moi qui vait le chercher, l'ERP me donne un tableau où je peux déjà effectuer des tris et filtre, il me suffit de cliquer sur un icone représentant excel pour effectuer l'extraction, et je me retrouve avec un fichier excel.
0
Bonjour,
j'ai aussi extrait un fichier de mon ERP en excel mais il est praticement illisible et la je veux cmprend le principe de vos macro.
svp aidé moi...
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
1 mars 2013 à 10:25
Bonjour,
Merci pour l'information.
Pour le fichier vous pouvez poster le lien sur un MP et il sera accessible que pour moi !
Question, pourquoi entrer des formules dans votre extrait ? Dès que vous l'ouvrez à nouveau les valeurs seront recalculées ....

0
Ecam39 Messages postés 286 Date d'inscription jeudi 12 janvier 2012 Statut Membre Dernière intervention 16 mars 2024 9
1 mars 2013 à 10:51
Non, c'est quand on active la maccro que les formules sont calculées.
C'est ce que je cherchais, comment activer une macro (enregistrée dans un dossier) dans un nouveau fichier.

Pour l'instant, quand je reçois mon fichier excel, je vais dans visual basic, j'importe la macro et je l'active.

Et je cherchais à savoir si on pouvait supprimer cette manip, que la macro s'active toute seule.
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
Modifié par Le Pingou le 1/03/2013 à 15:16
Bonjour,
Désolé de vous contre dire, mais selon vos explications précédentent votre macro inscrit la formule (index et equiv) dans les cellules de votre extrait et elle y reste.
Pour en être sur prenez un extrait qui a été traite et ouvrez-le puis sélectionné la cellule adéquat et vous devez voir la fonction ((index et equiv) que la macro à insérer.

Salutations.
Le Pingou
0
Ecam39 Messages postés 286 Date d'inscription jeudi 12 janvier 2012 Statut Membre Dernière intervention 16 mars 2024 9
1 mars 2013 à 16:02
Oui, j'ai utilisé l'enregistreur de macro, et dedans j'ai tapé les formules qui correspondent :)

Mais quand je l'active sur un autre fichier, plus besoin de la taper, c'est la macro qui s'en occupe.
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
Modifié par Le Pingou le 1/03/2013 à 17:18
Bonjour,
Eh oui c'est bien cela dans votre fichier extrait il y a donc la formule et non pas la valeur.
Je n'insiste pas, désolé, je ne peux pas en faire plus.


Salutations.
Le Pingou
0
Ecam39 Messages postés 286 Date d'inscription jeudi 12 janvier 2012 Statut Membre Dernière intervention 16 mars 2024 9
12 mars 2013 à 13:20
Ok, merci quand même.
Mais pour la valeur, elle change tout le temps, donc autant appliquer une formule ?

PS : Désolé pour la réponse tardive.
0
Salut, j'ai presque le même problème que toi je ne sait pas si tu as résolut ton problème moi j'aimerai créer une macro qui pourra s'utiliser avec différent fichier importé pour essayer d'êtres claire : j'enregistre un fichier venant d'un programme en .trd ce .trd je l'ouvre avec Excel (dans ce fichier se trouve des relevés de courbes) je créer une macro pour recréer mes courbes mais la erreur 9 sur la ligne

ActiveChart.SetSourceData Source:=sheets (""). range(_"f1:f5,h1:h5,j1:j5"), plotBy:=XlColumns

mais Excel me trace mes courbes Nikel mais m'affiche cette erreur ... Si quelqu'un peut m'aider merci ^^
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
Modifié par Le Pingou le 10/06/2013 à 16:59
Bonjour,
Au passage, sans le signe souligné après RANGE... :
range("f1:f5,h1:h5,j1:j5")

Et en plus manque nom de la feuille :
sheets ("manque le nom") 



Salutations.
Le Pingou
0
Bonjour,
Tous d'abords merci de ton aide , je vais essayer sans le tiret derrière RANGE mais pour le nom je ne sais pas quoi mettre car je veux que cette macro soit utilisable pour tout type de feuille et je ne sais pas quoi mettre ? merci
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
11 juin 2013 à 14:30
Bonjour,
Eh bien, c'est le nom de la feuille sur laquelle se trouve les données pour le graphique et vous êtes le seul à le connaitre.
0
Oui mais cette feuille changera tous le temps est il possible de mettre une généralité ?
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
11 juin 2013 à 16:07
Bonjour,
Non et c'est ma dernière intervention sur ce poste.
Désolé.

0
Bonjour,
Je suis arrivé à résoudre mon problème il ma suffit de créer ma macro dans le fichier PERSO.xls de mon répertoire de référence sans données et elle sera utilisable sur d'autres classeurs.

Maintenant que le problème un est résolut le second est erreur 1004 au niveau du range et je ne voit pas quel est l'erreur si quelqu'un peut m'aider

ActiveChart.SetSourceData Source:=range("f1:f5,h1:h5,j1:j5"), plotBy:=XlColumns
0