vider .txt par macro

S

sebbb

Guest
Bonjour à tous,

Voilà, j'aimerai savoir s'il y a un moyen de vider un .txt par une macro excel et par la suite mettre une condition sur l'éxécution d'une action du genre si le .txt = 0 attendre et dès que .txt différent de 0 faire...

Merci de m'éclairer sur ce sujet.

a +
Sebbb
 
G

galopin01

Guest
Bonjour c'est quoi un .txt ?

sinon
Si non condition attendre et dès que condition faire, ça doit être possible mais un tantinet "lourd".
de plus il reste à définir ce que tu entends par attendre on peut "attendre une saisie de l'opérateur" sans bloquer tout le système ou au contraire empécher que l'opérateur fsse autre chose que saisir une valeur...
Tu pourrais pas envisager ton problème autrement ? et préciser la question...

A+
 
S

sebbb

Guest
C'est vrai que je n'ai pas été clair mais j'étais un peu pris par le temps.

Je vais tenter d'être plus clair.
Un .txt c'est un fichier texte (bloc note).

Par excel, j'extraits des informations d'un autre "logiciel" par macro (en fait, elle lance une ligne de commande). Ces informations sont récupérées dans un fichier texte (pas d'autre possibilité). Ensuite, toujours par ma macro, je récupère les données du fichier texte et les rapatrie sous excel.

Mon soucis, c'est que l'extraction des données du "logiciel" (les " " c'est pour dire que je parle du même qu'au dessus) prend du temps et ma macro n'attend pas que les données soient dans le fichier texte pour récupérer ce qui s'y trouve ( des données anciennes non mises à jour).
J'avais donc dans l'idée de vider le fichier texte par macro et mettre une condition dans la récupération des données pour qu'elle ne se fasse que quand le fichier est non vide.

En gros c'est,
Lancement récupération des données:
si fichier texte vide --> attendre qu'il soit plein
si fichier texte plein--> récupération des données sous excel
puis vider le fichier.

Si vous avez compris (c'est pas sur car pas facile à expliquer), merci de m'aider ou même me donner un autre façon de gérer ce problème que par la taille du fichier texte.

A+
Sébbb
 
G

galopin01

Guest
Re:
Tester le contenu d'un fichier .txt c'est pas sorcier peut-être sais tu le faire.
attendre ne peux se faire simplement que d'une façon :
demander à Excel (a condition de le laisser ouvert) de tester toutes les 10 minutes ou toutes les heures.

Non ! je viens de réfléchir qu'on peut stopper quelques minutes le déroulement d'une macro le temps d'attendre...
Le mieux est probablement d'attendre systématiquement quelques minutes la création du fichier texte, plutôt que de s'amuser à le tester...

Je dois avoir ça dans ma musette, le temps de chercher et probablement que d'autres XLiens t'auront donné la soluce entre temps...

Ce qui serait bien de savoir c'est le temps de réponse de ton autre "logiciel"
Est tu capable d'évaluer untemps maximum d'attente ?

A+
 
G

galopin01

Guest
re:
tu devrais trouver ton bonheur la dedans :

Cet exemple (tirée de l'aide de VBA) montre comment suspendre l'exécution d'une macro pendant environ 10 secondes.

Sub Test
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 10
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
End Sub

IMPORTANT : Avant de bricoler la dessus regarder l'aide de VBA sur la méthode Wait

A+
 
S

sebbb

Guest
Merci Galopin01 pour tes réponses, comme tu me le conseilles, je vais regarder l'aide vba sur la fonction wait puis tester ton bout de code.

Le soucis, c'est que l'extraction de données nécéssite un mot de passe :eek:(
Et ça, je ne peux pas le changer. Donc tant que l'utilisateur n'a pas taper son mot de passe, l'extraction ne se fait pas. Le temps d'attente n'est donc pas déterminable.

Je réfléchis tout haut, mais peut-être pourrais-je mettre un message du genre 'données extraites, OK pour continuer' avec une tempo qui fermerait le classeur excel au bout du temps t . Ceci dans le but de forcer l'utilisateur à taper son mot de passe dès la demande sous peine de devoir recommencer...

A approfondir...

En tout cas merci pour ton aide.

A+
Sébbb
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 326
Membres
103 180
dernier inscrit
Vcr