Bonjour,
Je fais un peu de VBA mais pas au point de maitriser les boucles et autres joyeusetés !
Alors je me permets de soumettre ma problématique à des experts !
Contexte :
J'ai deux fichiers (fichier G et fichier DD)
Je reçois le DD tous les jours.
Dans le fichier DD des prix et des données de fournisseurs d'articles sont mis à jour tous les jours et passent en statut "closed" ou "rejected"
La macro est lancée depuis le fichier G
But de la manoeuvre : (fichiers en PJ)
Boucle
1 - La macro prends la première ligne du fichier DD.
2 - Elle va vérifier dans la colonne J si la date est la date du jour (sinon passage ligne suivante)
3 - Si date du jour dans colonne J, Elle vérifie ensuite le statut de traitement : si "closed" ou "Rejected" ( sinon passage ligne suivante)
4 - Enregistre (dans une variable?) les données de la ligne des colonnes A, B. (nous appellerons ref article 1 et 2)
5 - Elle prend les données de la ligne des colonnes : J, K, M, N, O, P, Q, R, S, U
6 - Va dans le fichier G,
7 - Recherche dans la colonne A du fichier G la ref article 1 (sinon cherche avec les données ref article 2, sinon donne message erreur "article non trouvé" => color la case de la colonne A du fichier DD en rouge, clic ok et continue la boucle)
8 - Lorsque l'article est trouvé dans le fichier G, la macro colle ( en respectant la mise en forme des cellules de destination) :
Case colonne J de DD vers case colonne J de la ligne de l'article trouvé dans le fichier G
Case colonne K de DD vers case colonne K de la ligne de l'article trouvé dans fichier G
Case colonne M de DD vers case colonne M de la ligne de l'article trouvé dans fichier G
Case colonne N de DD vers case colonne N de la ligne de l'article trouvé dans fichier G
Case colonne O de DD vers case colonne O de la ligne de l'article trouvé dans fichier G
Case colonne P de DD vers case colonne P de la ligne de l'article trouvé dans fichier G
Case colonne Q de DD vers case colonne Q de la ligne de l'article trouvé dans fichier G
Case colonne R de DD vers case colonne R de la ligne de l'article trouvé dans fichier G
Case colonne S de DD vers case colonne S de la ligne de l'article trouvé dans fichier G
Case colonne U de DD vers case colonne U et T de la ligne de l'article trouvé dans fichier G
Inscrit dans la cellule de la colonne V du fichier G la date du jour
Passe à la ligne suivante du fichier DD.
Quand plus d'articles en closed ou rejected à la date du jour message : copie ok "X" articles mis à jour.
Pour info voici le type de données dans les colonnes (peut servir pour les variables) :
M, P, S, T, U => que du texte
J, Q, Y => date
A, O, R, nombre entier (entre 0 et 9999999)
B => peut être du type "F564654-54564#moto 5465 debout"
Un GRAND merci d'avance à celles et ceux qui essayeront !
Remus