Page 1 sur 3

Compter les lignes de plusieurs fichiers...

Posté : 13 oct. 2014, 08:29
par centaure
Salut à tous !

J'aimerais faire une macro, mais j'ai besoin d'un coup de pouce...
Voila, j'ai des fichiers clients en .txt exemple :
bob.txt
rené.txt
beatrice.txt

J'ai besoin de savoir si les fichiers ont plus ou moins de 400 lignes...
si oui > on passe au suivant | si non : message d'alerte

J'ai une macro avec boucle qui avant toute chose copie le nom du client :
bob
rené
beatrice

Donc j'aimerais vérifier les fichiers correspondants au [CLIPBOARD]

pour le moment, j'ai fait ça :

Code : Tout sélectionner

Variable	<compter_lignes>;0;Numerique;
Fonction	<compter_lignes>;Fichier;Nombre d'enregistrement;D:\fichiers clients\bob.txt;
Examine	<compter_lignes>;<;400;
Message	Message;ATTENTION ! Fichier inférieur à 400 lignes !;
Message	Message;OK;
J'ai essayé ça, mais cela ne marche pas :

Code : Tout sélectionner

Variable	<compter_lignes>;0;Numerique;
Variable	<var_Nom>;;Alpha;
Variable	[CLIPBOARD];[CLIPBOARD];Alpha;
Calcul évolué	[CLIPBOARD]=<var_Nom>.txt
Fonction	<compter_lignes>;Fichier;Nombre d'enregistrement;D:\fichiers clients\<var_Nom>;
Examine	<compter_lignes>;<;400;
Message	Message;ATTENTION ! Fichier inférieur à 400 lignes !;
Message	Message;OK;

Donc ma question :
Dans la ligne <compter_lignes>;Fichier;Nombre d'enregistrement...
es-ce possible de lui mettre le nom du fichier précédemment copié (CTRL+C) +.txt ?



j'espère que je suis clair (pas facile à expliquer)
Merci bcp !

Re: Compter les lignes de plusieurs fichiers...

Posté : 17 oct. 2014, 11:03
par centaure
ah j'ai oublié de préciser que j'ai une boucle qui passe au nom suivant (que je n'ai pas mis pour simplifier)

donc possible de mettre un texte du presse papier ici ? :

Code : Tout sélectionner

Fonction   <compter_lignes>;Fichier;Nombre d'enregistrement;D:\fichiers clients\[contenu du presse papier].txt;
Merci bcp :)

Re: Compter les lignes de plusieurs fichiers...

Posté : 27 oct. 2014, 09:06
par centaure
pti up timide ;)

Re: Compter les lignes de plusieurs fichiers...

Posté : 27 oct. 2014, 10:10
par Onissius
Le problème est comment savoir combien de lignes un fichier a ?

Re: Compter les lignes de plusieurs fichiers...

Posté : 29 oct. 2014, 09:42
par centaure
Onissius a écrit :Le problème est comment savoir combien de lignes un fichier a ?
oui et non :

C'est "examiner" plusieurs fichiers et "stopper" la macro si l'un d'eux à moins de 400 lignes (par exemple avec un message d'alerte)

j'ai une liste de fichier .txt que je dois vérifier manuellement tous les jours pour voir si ils ont 400 lignes mini, c'est très long à la main... si une macro pouvais faire ça, je gagnerais quelques heures ! :)

J'ai un premier fichier verif.txt qui me dis quels fichiers vérifier, dans ce fichier verif.txt, j'ai simplement la liste des fichiers à vérifier :

Code : Tout sélectionner

bob.txt
rené.txt
beatrice.txt
Donc voila ce que j'ai fait :

Macro 1 : (qui marche, elle sert juste à lire la liste des fichiers à vérifier, un simple boucle)

Code : Tout sélectionner

Variable	<var_Nom>;;Alpha;
Variable	<var_Compteur>;0;Numerique;
Variable	[CLIPBOARD];[CLIPBOARD];Alpha;
Variable	<Var_Nbre_d_enregistrements>;0;Numerique;
Fonction	<Var_Nbre_d_enregistrements>;Fichier;Nombre d'enregistrement;D:\verif.txt;
Boucle	<Var_Nbre_d_enregistrements>
Calcul	<var_Compteur>;+;1;
Lire	D:\verif.txt;<var_Nom>;<var_Compteur>;
Calcul évolué	[CLIPBOARD]=<var_Nom>
Execute	D:\fichiers.mcr
Pause	00:00:01
Boucle	[FIN]

Macro 2 : (fichiers.mcr) qui ne marche pas :

Code : Tout sélectionner

Variable   <compter_lignes>;0;Numerique;
Variable   <var_Nom>;;Alpha;
Variable   [CLIPBOARD];[CLIPBOARD];Alpha;
Calcul évolué   [CLIPBOARD]=<var_Nom>.txt
Fonction   <compter_lignes>;Fichier;Nombre d'enregistrement;D:\fichiers clients\<var_Nom>;
Examine   <compter_lignes>;<;400;
Message   Message;ATTENTION ! Fichier inférieur à 400 lignes !;
Message   Message;OK;
pas facile à expliquer désolé...

Re: Compter les lignes de plusieurs fichiers...

Posté : 24 nov. 2014, 09:19
par centaure
petit up timide :)

Résumé : je cherche à compter les lignes de plusieurs fichiers .txt exemple :

popo.txt
bob.txt
denise.txt
pierre.txt
...etc...

Et si un des fichiers à moins de 400 lignes, alors "Message d'alerte"
Comment faire cela ?

Merci bcp ! :D

Re: Compter les lignes de plusieurs fichiers...

Posté : 25 nov. 2014, 23:00
par plvh935
Bonsoir,

Je regarde ton problème et te fais un retour. A priori j'utiliserai plutôt une procedure avec des boucles, mais il y a plusieurs solutions donc voir la plus claire.

Re: Compter les lignes de plusieurs fichiers...

Posté : 26 nov. 2014, 09:42
par centaure
merci beaucoup pour ton aide précieuse ! :)
Oui je pense aussi à une boucle car j'ai un fichier .txt qui regroupe tous les fichiers que j'ai a vérifier, du style :

Fichier à-vérifier.txt :

Code : Tout sélectionner

popo.txt
bob.txt
denise.txt
pierre.txt
...
Donc une boucle qui lis la première ligne, vérifie le fichier.txt correspondant qu'il soit bien supérieur à 400 lignes, si oui passe au suivant, si non message d'alerte :)

Merci infiniment ! (si ça marche, j'économise 2h de boulot tous les matins !!! :D )

Re: Compter les lignes de plusieurs fichiers...

Posté : 08 déc. 2014, 08:36
par centaure
help... :)

Re: Compter les lignes de plusieurs fichiers...

Posté : 08 déc. 2014, 10:14
par Feitan
Salut centaure, excuse moi j'ai cru que ton problème était résolu.

Bon j'ai essayé de récupérer ton problème depuis le début mais vu que j'ai pas trop suivi je suis perdu.

Actuellement tu cherche quoi ? Compter le nombre de ligne dans ton fichier ou récupérer l'ensemble de tes fichiers dans un dossier (ou les deux ?)

Depuis tu as réussis de nouvelles étapes ?
Tes fichiers ont ils des lignes consécutives identiques ?

Merci ;)