Changement de fichier dans une boucle

Bonjour à tous,

Je dois récupérer deux fichiers que je reçois chaque jour que je veux copier dans un seul fichier qui me sert de "base de calcul", donc chaque jour les données de la veille disparaisse et je garde uniquement le résultat.

J'ai commencé à faire une macro pour automatiser cela, cependant j'ai quelques soucis pour les bons fichiers soient récupérés.

Sur l'exemple que je joins, j'arrive bien à avoir les deux fichiers de stock des deux jours différents, cependant pour ce qui est du fichier prelev, il reste sur le même jour, le 12 mai.

4automatisation.zip (916.65 Ko)

Je voulais savoir dans mon code comment passer à l'autre fichier prelev sans utiliser la date précise.

Merci d'avance

PS : il y a très peu de ligne dans les fichiers car ils sont là à titre d'exemple

Bonjour,

Le souci provient de :
Fichier_Prelev = Dir
Fichier_stock = Dir
Dir ayant le même contenu > arrive au 3e item qui n'existe pas ...

Il faut faire 2 boucles séparées l'une pour Prélèvement et l'autre pour Stock

Je n'ai pas vérifié si l'on peut sensiblement améliorer le code > déjà j'ai éliminé quelques .Select et .Activate > ce qui accélère raisonnablement un code ...

Je n'ai pas testé à fond > je te laisse ce plaisir ...

ric

Bonjour ric,

merci beaucoup pour ta réponse.

Le fait de faire 2 boucles est assez contraignant pour moi puisque le fichier de stock et de prélèvement de chaque jour passent par un fichier de "calcul" qui me permet d'obtenir un résultat unique pour chaque jour que j'enverrai ensuite dans un autre fichier.

Donc finalement, je ne peux pas dissocier le traitement du stock et du prélèvement.

Est-ce qu'il serait donc possible de faire une seule boucle et donc avoir une alternative au "dir" ? Je peux éventuellement utiliser le chemin du fichier final ?

Merci d'avance

Bonjour,

Une alternative serait > au début de la macro > de mémoriser les noms dans deux variables tableaux > l'une pour les prélèvements et l'autre pour les stock ...

Ainsi > pour passer aux noms de fichiers suivant :

Fichier_Prelev = Dir
Fichier_stock = Dir

deviendrait > ou quelque chose du genre ...

Fichier_Prelev = VarP(X)
Fichier_stock = VarS(Y)

ric

Bonjour,

Un essai ...

Avec stockage de la liste des noms de fichiers dans des variables ...

Je comprends que ce sont des fichiers "test" > mais est-ce que tu as remarqué que chacun des fichiers prélèvements écrase à tour de rôle la colonne J de la feuille "Resultat" > idem en colonne N pour le stock ?

ric

Bonjour Ric,

Merci pour ta réponse encore une fois

Pour ce qui est de ce qui se passe dans l'onglet résultat, oui ça n'a pas vraiment de sens et c'est normal, j'y mets simplement des tests pour vérifier si le code est bon.

J'ai essayé ta dernière version mais j'ai rapidement un problème qui me signale que "l'indice n'appartient pas à la sélection".

Même en définissant les X de 1 à 2, cela ne fonctionne pas

Les variables VarS et VarP ne fonctionnent-elles pas comme des listes ?

Merci encore

Bonjour,

Est-ce que tu as copié mon fichier dans le bon dossier ?

Ou est-ce que tu as simplement copié la macro ? > si c'est le cas > est-ce que tu as remarqué tout au haut du module "Option Base 1" ?

Si le code trouve bien les sous-dossiers "Stock" et "Prelev" > il fonctionne bien > je viens de tester à nouveau ...

ric

Je suis vraiment pas malin parfois ... J'avais oublié de le changer de dossier, ça fonctionne parfaitement effectivement.

Merci beaucoup pour ton aide et ton temps.

ric

Rechercher des sujets similaires à "changement fichier boucle"