écriture macro de traitement ligne excel
ninos29
Messages postés
8
Statut
Membre
-
Zoul67 Messages postés 2001 Statut Membre -
Zoul67 Messages postés 2001 Statut Membre -
Bonjour,
Je suis novice en VBA et me trouve face à un petit problème.
J'ai un ensemble de ligne de commande extraite de mon ERP chaque matin. Cette liste est actualisée chaque nuit.
Chaque ligne contient des désignations de produits, quantités, etc ainsi que la date d'apparition de la ligne.
Le soucis est le suivant: je ne traite pas mes commandes au fils de l'eau et les fameuses date d'apparition sont réactualisées tous les lundis. ex: pour une ligne apparue le vendredi 27 et non traitée, la date d'émission devient le lundi 30...
Je souhaite donc créer une macro qui m'apposerait un numéro unique sur chaque ligne + la date réelle d'apparition.
La macro devra aussi "reconnaitre" une ancienne commande et ne pas tenir compte de la date "ERP" mais de celle contenue dans le fichier Excel ! Et donc pouvoir "historiser" la ligne pour que je puisse la traiter par ordre d'ancienneté8
J'espère avoir été à peu près clair... pas sur ça!
Merci d'avance aux personnes qui se poseront sur mon problème!
Je suis novice en VBA et me trouve face à un petit problème.
J'ai un ensemble de ligne de commande extraite de mon ERP chaque matin. Cette liste est actualisée chaque nuit.
Chaque ligne contient des désignations de produits, quantités, etc ainsi que la date d'apparition de la ligne.
Le soucis est le suivant: je ne traite pas mes commandes au fils de l'eau et les fameuses date d'apparition sont réactualisées tous les lundis. ex: pour une ligne apparue le vendredi 27 et non traitée, la date d'émission devient le lundi 30...
Je souhaite donc créer une macro qui m'apposerait un numéro unique sur chaque ligne + la date réelle d'apparition.
La macro devra aussi "reconnaitre" une ancienne commande et ne pas tenir compte de la date "ERP" mais de celle contenue dans le fichier Excel ! Et donc pouvoir "historiser" la ligne pour que je puisse la traiter par ordre d'ancienneté8
J'espère avoir été à peu près clair... pas sur ça!
Merci d'avance aux personnes qui se poseront sur mon problème!
A voir également:
- écriture macro de traitement ligne excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Partage de photos en ligne - Guide
- Écriture facebook - Guide
3 réponses
Bonsoir,
Je n'ai pour l'instant pas de solution parce que je me pose une question sur ton problème...
Si, dans ton exemple, tu n'exécutes ton traitement que le mardi 31, comment peux-tu savoir que la commande date du 27 plutôt que du 30 ?
Il y a peut-être besoin (?!) d'effectuer le rapatriement tous les jours, via une tâche programmée éventuellement.
Je n'ai pour l'instant pas de solution parce que je me pose une question sur ton problème...
Si, dans ton exemple, tu n'exécutes ton traitement que le mardi 31, comment peux-tu savoir que la commande date du 27 plutôt que du 30 ?
Il y a peut-être besoin (?!) d'effectuer le rapatriement tous les jours, via une tâche programmée éventuellement.
Bonjour,
En fait j'effectue le rapatriment tous les jours mais cela ne fonctionne que pour la semaine en cours.
L'ERP a une mémoire d'une semaine, si j'exécute mon traitement mardi 31, il se souviendra des lignes de la veille auxquelles il rajoutera toutes les lignes des semaines passées. Et ceux en leur apposant la date du lundi de la semaine en cours.
Je t'illustre par un exemple:
- aujourd'hui, jeudi 20 j'extrais mes lignes, elles sont donc datées du 20/01/11.
- je ne les traites pas (ne passe pas commande)
- ces lignes vont donc réapparaitre demain (en plus de nouvelle et en moins de celle traitées), toujours avec leur date d'apparition réelle (20/01/11)
- je ne traite pas toutes les lignes
- lundi 24 (nouvelle semaine donc): les lignes non traitées réapparaissent mais leur date d'apparition a été réinitialisée par le système à la date de ce lundi. Mes lignes apparues le jeudi 20 sont maintenant considérées comme ayant apparu le 24/01/11...
En espèrant avoir été clair... c'est pas simple à expliquer mon truc !!
Bonne soirée!
En fait j'effectue le rapatriment tous les jours mais cela ne fonctionne que pour la semaine en cours.
L'ERP a une mémoire d'une semaine, si j'exécute mon traitement mardi 31, il se souviendra des lignes de la veille auxquelles il rajoutera toutes les lignes des semaines passées. Et ceux en leur apposant la date du lundi de la semaine en cours.
Je t'illustre par un exemple:
- aujourd'hui, jeudi 20 j'extrais mes lignes, elles sont donc datées du 20/01/11.
- je ne les traites pas (ne passe pas commande)
- ces lignes vont donc réapparaitre demain (en plus de nouvelle et en moins de celle traitées), toujours avec leur date d'apparition réelle (20/01/11)
- je ne traite pas toutes les lignes
- lundi 24 (nouvelle semaine donc): les lignes non traitées réapparaissent mais leur date d'apparition a été réinitialisée par le système à la date de ce lundi. Mes lignes apparues le jeudi 20 sont maintenant considérées comme ayant apparu le 24/01/11...
En espèrant avoir été clair... c'est pas simple à expliquer mon truc !!
Bonne soirée!
Bonsoir,
J'ai désormais compris que quand tu parles de traitement et de rapatriement, ce n'est pas la même chose.
En vue de pouvoir faire travailler VBA, je repose la même question : il n'y a pas un identifiant unique par commande (au moins par semaine) dans ton rapatriement ?
Les lignes apparaissent-elles au moins toujours dans le même ordre si tu fais un rapatriement le lundi, aucun traitement, puis un rapatriement le mardi ?
A+
J'ai désormais compris que quand tu parles de traitement et de rapatriement, ce n'est pas la même chose.
En vue de pouvoir faire travailler VBA, je repose la même question : il n'y a pas un identifiant unique par commande (au moins par semaine) dans ton rapatriement ?
Les lignes apparaissent-elles au moins toujours dans le même ordre si tu fais un rapatriement le lundi, aucun traitement, puis un rapatriement le mardi ?
A+