Automatiser une tache

Fermé
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 - 20 mars 2013 à 16:39
 hakoko - 15 mai 2013 à 15:32
Bonjour,


Je voudrai telecharger le meme fichier toute les 30 seconde (par exemple), l'enregistrer dans le meme endroit avec le meme nom ( pour qu'il ecrase la version précedente )

comment le programmer ?? pouvez m'aider svp

40 réponses

hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
22 mars 2013 à 16:31
Bonjour,

voici le liens d'un de ces fichiers: https://www.cjoint.com/?3CwqDydpiWe

merci
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
27 mars 2013 à 12:00
Bonjour,

j'ai finalement pu automatiser la sauvegarde des fichiers .wlk en fichiers texte par le logciel qui les generent.
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
27 mars 2013 à 13:20
Bonjour,

En fait je suis au courant de ce qu'elle fait vu que chaque probleme nous le traittons ensemble. ya bien un logiciel qui en effet stock les données sous fichiers texte et que nous recuperons deja ses données sur Excel.sauf que celui la, nous avons été induit en erreur dabor par le technicien qui tien le laboratoire puis par l'assitance technique au USA puis au forum du logiciel meteo tout le monde nous a dis que ca ne se fait que manuellement. alors que ce matin j'ai mis la main sur le manuel et il suffisait de taper "ctr+L" pour qu'il se mette à enregister sous fichier texte. ne vous inquietez pas mirage23 a bien galeré avec moi :). cependant maintenant j'ai un autre souci:
https://forums.commentcamarche.net/forum/excel-145/new#p27456894
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
27 mars 2013 à 14:27
Bonjour,

j'ai recu une reponse sur ce dernier lien , je vais l'essayer.

pour le fichier texte que le logiciel m'affiche, les colonnes ne sont pas bien delimitées et du coup, le fichier Excel les placent tous sur une meme colonne. ya t'il une solution à ca?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
27 mars 2013 à 15:19
voici le liens du fichier texte :

https://www.cjoint.com/c/CCBpsCo4n6a
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
27 mars 2013 à 17:38
Bonjour,

Je l'ai essayé ca a marché. maintenant comment l'integrer sur cette macro de telle sorte que quand je lui demande d'importer les données depuis ce fichier texte il les importe avec delimiteur de separation.

Sub Import_Fichier()
Dim Fichier, Fichier_Ext, Repertoire, Chemin, Chemin_Complet
Dim Ma_Feuille As Worksheet
Dim Type_Fichier As String

'fige ecran
Application.ScreenUpdating = False

For Each Ma_Feuille In Worksheets
Ma_Feuille.Select
Fichier = Range("A1").Value
Type_Fichier = Range("B1").Value
Chemin = Range("C1").Value
'Efface le contenu de toutes les cellules de l'onglet actif
Cells.ClearContents
Range("A1").Value = Fichier
Range("B1").Value = Type_Fichier
Range("C1").Value = Chemin

If Fichier = "" Then
' il faut calculer en fonction de la date
Fichier = "a" & Format(Date, "yyyymmdd")
End If
Fichier_Ext = Fichier & Type_Fichier
Chemin_Complet = Chemin & Fichier_Ext

If Type_Fichier = ".TXT" Then

'Importation du fichier texte a afficher, premiere cellule a remplir: A2
'la base du code est obtenu avec l'enregistreur de macro et travaile en fonction
'du besoin: noms de ficher et repertoire changeant en fonction de la date
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & Chemin_Complet, Destination:= _
Range("$A$2"))
.Name = Fichier
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With

ElseIf Type_Fichier = ".XLSX" Then
Application.DisplayAlerts = False
Workbooks.Open Filename:=Chemin_Complet
Range("A2:AM250000").Copy
ThisWorkbook.Activate
Range("A2").Select
ActiveSheet.Paste
Workbooks(Fichier_Ext).Close
Application.DisplayAlerts = True
End If
'Selection Donnees importees
Range("A2:AM8643").Select
'RAZ tri
ActiveSheet.Sort.SortFields.Clear
'Selection tri cle A2 descendant
ActiveSheet.Sort.SortFields.Add Key:=Range("A2"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortTextAsNumbers
'Tri Donnees
With ActiveSheet.Sort
.SetRange Range("A3:AM250000")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next Ma_Feuille
'positionne sur cellule A1
Range("A1").Select
'Parametrage interval temps import: ici 3 secondes
Next_Scan = Now() + TimeValue("00:00:03")
Application.OnTime Next_Scan, "Import_Fichier"

Application.ScreenUpdating = True

End Sub


A+
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
28 mars 2013 à 10:14
Bonjour,

j'ai remplacé une partie de la macro par celui la. mais ca beugue
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
28 mars 2013 à 10:53
ce qui se trouve entre ( with et end with)
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
Modifié par hakoko le 28/03/2013 à 13:44
des que je remplace la partie entre with et end with il me donne une feuille presque blanche, il n'importe pas les données.
je pense qu'il ya une incompatibilité quelque part
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
28 mars 2013 à 13:57
Biensur , je parametre, jexecute la macro sans apporter les modif pour voir si je me suis pas trompé de chemin, il importe, des que j'apporte les modif il n'affiche plus rien,
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
28 mars 2013 à 14:02
celle ci:



Sub Import_Fichier()
Dim Fichier, Fichier_Ext, Repertoire, Chemin, Chemin_Complet
Dim Ma_Feuille As Worksheet
Dim Type_Fichier As String

'fige ecran
Application.ScreenUpdating = False

For Each Ma_Feuille In Worksheets
Ma_Feuille.Select
Fichier = Range("A1").Value
Type_Fichier = Range("B1").Value
Chemin = Range("C1").Value
'Efface le contenu de toutes les cellules de l'onglet actif
Cells.ClearContents
Range("A1").Value = Fichier
Range("B1").Value = Type_Fichier
Range("C1").Value = Chemin

If Fichier = "" Then
' il faut calculer en fonction de la date
Fichier = "a" & Format(Date, "yyyymmdd")
End If
Fichier_Ext = Fichier & Type_Fichier
Chemin_Complet = Chemin & Fichier_Ext

If Type_Fichier = ".TXT" Then

'Importation du fichier texte a afficher, premiere cellule a remplir: A2
'la base du code est obtenu avec l'enregistreur de macro et travaile en fonction
'du besoin: noms de ficher et repertoire changeant en fonction de la date
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & Chemin_Complet, Destination:= _
Range("$A$2"))
.Name = Fichier
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With

ElseIf Type_Fichier = ".XLSX" Then
Application.DisplayAlerts = False
Workbooks.Open Filename:=Chemin_Complet
Range("A2:AM250000").Copy
ThisWorkbook.Activate
Range("A2").Select
ActiveSheet.Paste
Workbooks(Fichier_Ext).Close
Application.DisplayAlerts = True
End If
'Selection Donnees importees
Range("A2:AM8643").Select
'RAZ tri
ActiveSheet.Sort.SortFields.Clear
'Selection tri cle A2 descendant
ActiveSheet.Sort.SortFields.Add Key:=Range("A2"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortTextAsNumbers
'Tri Donnees
With ActiveSheet.Sort
.SetRange Range("A3:AM250000")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next Ma_Feuille
'positionne sur cellule A1
Range("A1").Select
'Parametrage interval temps import: ici 3 secondes
Next_Scan = Now() + TimeValue("00:00:03")
Application.OnTime Next_Scan, "Import_Fichier"

Application.ScreenUpdating = True

End Sub


puis celle la:

Sub Import_Fichier()
Dim Fichier, Fichier_Ext, Repertoire, Chemin, Chemin_Complet
Dim Ma_Feuille As Worksheet
Dim Type_Fichier As String

'fige ecran
Application.ScreenUpdating = False

For Each Ma_Feuille In Worksheets
Ma_Feuille.Select
Fichier = Range("A1").Value
Type_Fichier = Range("B1").Value
Chemin = Range("C1").Value
'Efface le contenu de toutes les cellules de l'onglet actif
Cells.ClearContents
Range("A1").Value = Fichier
Range("B1").Value = Type_Fichier
Range("C1").Value = Chemin

If Fichier = "" Then
' il faut calculer en fonction de la date
Fichier = "a" & Format(Date, "yyyymmdd")
End If
Fichier_Ext = Fichier & Type_Fichier
Chemin_Complet = Chemin & Fichier_Ext

If Type_Fichier = ".TXT" Then

'Importation du fichier texte a afficher, premiere cellule a remplir: A2
'la base du code est obtenu avec l'enregistreur de macro et travaile en fonction
'du besoin: noms de ficher et repertoire changeant en fonction de la date
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Chemin_Complet, Destination:=Range("$A$1"))
.Name = Fichier
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False 'pas d'ajustement des colonnes
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlMSDOS 'format txt msdos
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = True
.TextFileSpaceDelimiter = True 'delimiteur espace
.TextFileColumnDataTypes = Array(xlTextFormat) 'definition format colonnes
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With

ElseIf Type_Fichier = ".XLSX" Then
Application.DisplayAlerts = False
Workbooks.Open Filename:=Chemin_Complet
Range("A2:AM250000").Copy
ThisWorkbook.Activate
Range("A2").Select
ActiveSheet.Paste
Workbooks(Fichier_Ext).Close
Application.DisplayAlerts = True
End If
'Selection Donnees importees
Range("A2:AM8643").Select
'RAZ tri
ActiveSheet.Sort.SortFields.Clear
'Selection tri cle A2 descendant
ActiveSheet.Sort.SortFields.Add Key:=Range("A2"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortTextAsNumbers
'Tri Donnees
With ActiveSheet.Sort
.SetRange Range("A3:AM250000")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next Ma_Feuille
'positionne sur cellule A1
Range("A1").Select
'Parametrage interval temps import: ici 3 secondes
Next_Scan = Now() + TimeValue("00:00:03")
Application.OnTime Next_Scan, "Import_Fichier"

Application.ScreenUpdating = True

End Sub
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
28 mars 2013 à 14:03
c'est faux ce que je fais??
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
25 avril 2013 à 10:36
Bonjour,

toujours, dans le meme sujet j'aimerai importé des fichier d'extension ".csv" quelle est le code que je doit ajouté a ma macro.

merci bien
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
25 avril 2013 à 14:17
merci ça marche
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
Modifié par hakoko le 26/04/2013 à 12:17
SVP, urgent!!

j'a une partie d'un code en VB que je voudrai addapté à mon probleme, j'ai une interface web qui affiche les données d'un onduleurs ci-joint la page:
https://www.cjoint.com/?CDAlC5Afr1z
ces dates se remettent a jour chaque 24h automatiquement, il suffit juste d'actualisé la page.
je voudrai actualisé cette page chaque 24h et appuillé sur le boutton "telecharger le fichier" chaque 10 min.
ci-joint le code source de la page:
https://www.cjoint.com/?CDAlIbJLSAD
et voici la page :
https://www.cjoint.com/?CDAlLCdtqVD
et voici mon code sous VB:

URL ="http://193.50.118.164/cgi-bin/download.cgi"
Set ie = CreateObject("InternetExplorer.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
ie.Navigate(URL)
ie.Visible=false
DO WHILE ie.busy
wscript.sleep 100
LOOP
HTML = ie.document.documentElement.innerText
ie.Quit
Set ie = Nothing
MsgBox HTML,64,"Récupération des Données !


merci de bien vouloir me donner un coup de mains



ya aussi ce code qui pourais aidé peut etre:



Code :Sélectionner tout - Visualiser dans une fenêtre à part12345678910111213141516171819202122232425262728293031323334353637 Sub piloterPageWeb()
'nécéssite d'activer la référence Microsoft HTML Objects Library
Dim i As Integer
Dim IE As InternetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection

Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True

IE.navigate "http://mail1.voila.fr/webmail/login.html?REDIRECTION_INIT=TRUE"
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop 'attend la fin du chargement

Set maPageHtml = IE.document
Set Helem = maPageHtml.getElementsByTagName("input")

'exemple de boucle pour lister les objets type "select"(listes de choix) dans la page
'Dim Hsel As IHTMLElementCollection
'Set Hsel = maPageHtml.getElementsByTagName("select")
'For i = 0 To Hsel.Length - 1
'MsgBox Hsel(i).getAttribute("name") & " / " & Hsel(i).getAttribute("value")
'Next i

'(boucle pour lister les objets type "input" de la page)
'For i = 0 To Helem.Length - 1
'MsgBox Helem(i).getAttribute("name") & " / " & Helem(i).getAttribute("value")

'une autre possibilité pour déclencher le clic ( non utilisable dans cet exemple)
'If Helem(i).getAttribute("value") = "texte du bouton" Then Helem(i).Click
'Next i

Helem(7).innerText = "piloter page internet VB" 'champ de saisie mots clés
Helem(8).Click 'simulation clic

End Sub
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
29 avril 2013 à 16:32
Bonjour,

j'ai un fichier qui se telecharge chaque 10 min, la version la plus recente n'ecrase pas la premiere dans le fichier telechargement, mais elle prend le meme nom avec un indice, genre download puis download(1) puis download(2) ecs, comment je pourai adapté mon proramme à ce probleme? de tel sorte kil importe les données du dernier fichier telechargé?
merci pour votre aide
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
29 avril 2013 à 16:46
non
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
3 mai 2013 à 11:26
Bonjour,

ma macro rencontre quelque problemes, parmis ces problemes, quant la macro ne trouve pas de fichier du jour J, je souhaiterai qu'elle n'importe rien, c'est à dire que le fichier Excel reste vide jusqu'a ce que le fichier texte ce crée. d'autre part concernant ce problème :

"f894009 :Vous renommez ou vous supprimez le fichier une fois le traitement fait."

disant que je telecharge un fichier via le web chaque 10 min , la 9 eme minute je supprime le fichier existant pour laisser place au nouveau fichier. je voudrai neaumoins que pendant la minute ou il n'ya pas de fichier , ma macro me garde les anciennes données.
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
3 mai 2013 à 15:03
quand le fichier a03052013.txt par exemple n'est pas crée ''il me dit qu'il na pas trouvé le fichier . verifier l'orthographe ou essayer un autre chemin d'accès
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
Modifié par hakoko le 3/05/2013 à 16:44
quand je debug il m'indique la fleche dans cette ligne:

.Refresh BackgroundQuery:=False
End With

je pense qu'il faut insérer une boucle if "le fichier n'existe pas" then "ne rien importer"
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
15 mai 2013 à 11:32
Bonjour,

J'ai une interface web dont ci-joint son image:
https://www.cjoint.com/c/CEplE6vpjR3
les valeurs numeriques se reinitialise chaque seconde, y'a t'il moyen de les importer sur mon tableau Excel?
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
15 mai 2013 à 11:46
Bonjour,

Jamais tu ne reviens pour donner un retour sur les propositions ou pour dire merci, toujours pour une nouvelle question plusieurs jours plus tard.
C'est contre ta religion ?
eric
0
hakoko Messages postés 187 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 21 mars 2024 3
15 mai 2013 à 11:59
hakoko
25 avril 2013 à 14:17
merci ça marche
Ajouter un commentaire - Lien (#31)
Bonjour,

toujours, dans le meme sujet j'aimerai importé des fichier d'extension ".csv" quelle est le code que je doit ajouté a ma macro.

merci bien
.......
si tu cherche ds mes discution tu trouve pleins de merci

hakoko 67Messages postés x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x lundi 11 mars 2013Date d'inscription x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 15 mai 2013Dernière intervention x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 18 mars 2013 à 17:23
merci infiniment!!

ça a marché pour un premiere essay. je trouve cette solution tres ingenieuse, merci bcp
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
Modifié par eriiic le 15/05/2013 à 12:05
ok, on va dire très souvent alors...
Mais c'est toi que ça regarde.
Personnellement je me désintéresse lorsque c'est comme ça. Nous sommes très nombreux ainsi et c'est normal.
Lorsque tu prends ta baguette de pain te ne dis pas merci ? En plus tu paies, et ici c'est gratuit.
A toi de voir si désires avoir moins de personnes qui s'intéressent à ton problème.

eric
0
merci quand même :D je tacherai de revenir plus souvent, concernant l'interface web ya t'il moyen de recuperer le tableau sur Excel? merci bien
0