Macro chrono
C'est toi qui lance l'import non ?
Et si la macro d'import se relance indéfiniment, qu'est-ce qui l'arrête ?
on peut la faire en manuelle, mais aussi en automatique
cliquer sur depart vol(1/2/3/4) passe la cellule a2 à 1 et un import automatique (la macro import test la cellule a2)
pause la passe à 0 pour arreter l import auto
reprise à 1 et stop à 0
l import se fait toute les 40 secondes pour eviter de faire ramer
Pour éviter de faire ramer, c'est un peu loupé, ça rame déjà sans rien faire !
Ceci étant, en supposant un fonctionnement normal, mener deux actions en même temps peut effectivement perturber, mais s'agissant du chrono, cela ne perturbe que l'affichage momentanément, tant que ça ne plante pas.
Ce n'est de toute façon pas recommandé de faire plusieurs choses en même temps dans le même classeur.
Je ne comprends pas ce besoin d'importer à répétition mais je n'ai aucune idée de l'activité concernée.
En tout cas, si l'import occupe une telle place, je conseillerais d'avoir un classeur dédié pour cela (et même d'y procéder sur un autre ordinateur).
est ce que cette fonction:
'Application.OnTime Now + TimeValue("00:01:00"), "importer"
va surcharger un journal? ce qui pourrait exploiter le poid
l import auto est parce que quand on est en conditionnement, on ne peut pas cliquer sur le bouton pour voir ou l'on en est niveau statistique
mais j'ai vu que cette fonction n etait pas simple a stopper, c est surement elle qui fou la grouille
autre chose bizarre
si tu survole la page recap, c est fluide
si tu active la feuille données, tout rame, alors qu on a encore rien fait
bon ba probleme corrigé je pense pour la lenteur
j'ai copier la feuille données et je l ai supprimée
je passe de 1.2mo a 300ko
Je me répète, mais je n'ai aucune idée de ce que fait ton fichier. Difficile donc de préconiser telle ou telle mesure.
D'un point de vue général, ce que je peux dire, en rapport avec le chrono, point sur lequel j'étais intervenu, c'est que ce qui provoque l'activité lié au chrono, ce n'est nullement la mesure du temps, mais uniquement la modification permanente de l'affichage égrenant les secondes. On peut mesurer sans jamais afficher...
Pour le reste, il est vraisemblable que pour obtenir plus de fluidité l'éclatement en plusieurs classeurs pourrait s'avérer une bonne solution.
Cordialement.
est ce que celui la te parait plus fluide?
En supprimant les données, cela allège un peu, c'est sûr !
salut alors j ai trouvé un soucis
au fur et a mesure des utilisation, malgré une pûrge des données, il grossissait, grossissait, comme ma femme (qui est enceinte)
en fait a chaque import des données, au lieu d actualiser, il crée une nouvelle connection, du coup j en ai plein plein
voila la macro: j'ai 4 import different, car il ne se place pas au meme endroit
il y aurait pas moyen de creer 1 fois l import, et juste d actualiser?
Sub importer()
Set wb = ThisWorkbook
sPath = wb.Path & Application.PathSeparator
res = FileLen(wb.Path & Application.PathSeparator & "données.txt")
While res = 0
res = FileLen(wb.Path & Application.PathSeparator & "données.txt")
Wend
If Range("a2").Value = 0 Then
Application.ScreenUpdating = False
Sheets("données").Select
Range("B7:D7000").Select
Selection.ClearContents
Range("B7").Select
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & wb.Path & Application.PathSeparator & "données.txt", Destination:=Range("$A$7"))
.Name = "données"
.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 = True
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = True
.TextFileColumnDataTypes = Array(1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=True
End With
Cells.Select
Cells.EntireColumn.AutoFit
Sheets("recap").Select
Range("B30").Select
Application.ScreenUpdating = True
Application.OnTime Now + TimeValue("00:00:30"), "importer"
Else
Exit Sub
End If
End Sub
Sub import2()
Set wb = ThisWorkbook
sPath = wb.Path & Application.PathSeparator
res = FileLen(wb.Path & Application.PathSeparator & "données.txt")
While res = 0
res = FileLen(wb.Path & Application.PathSeparator & "données.txt")
Wend
If Range("a2").Value = 0 Then
Application.ScreenUpdating = False
Sheets("données").Select
Range("j7:l7000").Select
Selection.ClearContents
Range("j7").Select
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & wb.Path & Application.PathSeparator & "données.txt", Destination:=Range("$i$7"))
.Name = "données"
.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 = True
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = True
.TextFileColumnDataTypes = Array(1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Cells.Select
Cells.EntireColumn.AutoFit
Sheets("recap").Select
Range("B44").Select
Application.ScreenUpdating = True
Application.OnTime Now + TimeValue("00:00:30"), "import2"
Else
Exit Sub
End If
End Sub
Sub import3()
'
Set wb = ThisWorkbook
sPath = wb.Path & Application.PathSeparator
res = FileLen(wb.Path & Application.PathSeparator & "données.txt")
While res = 0
res = FileLen(wb.Path & Application.PathSeparator & "données.txt")
Wend
If Range("a2").Value = 0 Then
Application.ScreenUpdating = False
Sheets("données").Select
Range("r7:t7000").Select
Selection.ClearContents
Range("r7").Select
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & wb.Path & Application.PathSeparator & "données.txt", Destination:=Range("$q$7"))
.Name = "données"
.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 = True
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = True
.TextFileColumnDataTypes = Array(1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Cells.Select
Cells.EntireColumn.AutoFit
Sheets("recap").Select
Range("B58").Select
Application.ScreenUpdating = True
Application.OnTime Now + TimeValue("00:00:30"), "import3"
Else
Exit Sub
End If
End Sub
Sub import4()
'
' importer Macro
Set wb = ThisWorkbook
sPath = wb.Path & Application.PathSeparator
res = FileLen(wb.Path & Application.PathSeparator & "données.txt")
While res = 0
res = FileLen(wb.Path & Application.PathSeparator & "données.txt")
Wend
If Range("a2").Value = 0 Then
Application.ScreenUpdating = False
Sheets("données").Select
Range("z7:ab7000").Select
Selection.ClearContents
Range("z7").Select
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & wb.Path & Application.PathSeparator & "données.txt", Destination:=Range("$y$7"))
.Name = "données"
.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 = True
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = True
.TextFileColumnDataTypes = Array(1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Cells.Select
Cells.EntireColumn.AutoFit
Sheets("recap").Select
Range("B72").Select
Application.ScreenUpdating = True
Application.OnTime Now + TimeValue("00:00:30"), "import4"
Else
Exit Sub
End If
End Sub
Il me semble qu'on est plus du tout dans le même sujet là.
Tu devrais ouvrir un autre sujet.