ouverture Fichier xls (vba) lent à s'ouvrir

  • Initiateur de la discussion Initiateur de la discussion TONY
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

TONY

Guest
Bonsoir,

Jaimerais avoir votre avis sur le problème suivant.

J'avais un fichier xls avec uniquement des liaisons qui s'ouvre normalement.
Depuis que j'ai affecté à ce fichier une macros, le fichier est tres tres lent à s'ouvrir (à peu pres 2 mn) les macros ne doivent s'executer quà partir d'une command bar.

Je suis débutant en vba et je ne sais pas du tout ou me dirigé.

Si vous avez connu le cas ou déjà eu ce probleme, je suis preneur de votre expérience.

A+
Tony
 
Bonjour,
La macros ne s'execute pas à l'ouverture du fichier mais à partir d'un bouton. Voici la macros .

Autre question pouvez vous m'indiquer comment je pourrais intégrer une barre de progression dans la macros.


Merci bcp Dan de m'avoir répondu !

A+

Sub MiseAjour()

''Mise à jour Tony'

Application.StatusBar = "Patience, Mise à jour Banque de données en cours"

With Application
.ScreenUpdating = False
.DisplayAlerts = False

Set wb = .Workbooks.Open("C:\Documents and Settings\\Mes documents\telechargement tony.csv")
wb.Sheets(1).Columns(1).TextToColumns Range("A1"), xlTextQualifierDoubleQuote, , False, , , , , True, ";", Array(1, 4)
.ScreenUpdating = True
.DisplayAlerts = False
End With

Workbooks.Open "C:\Documents and Settings\Mes documents\telechargement tony.xls"

Workbooks("telechargement tony.xls").Activate
Sheets("telechargement tony").Select
Range("A5").Select
'Application.Wait (Now + TimeValue("0:00:03")) 'attente de 3 secondes
Range("A5", Range("D5").End(xlDown)).Select
'Application.Wait (Now + TimeValue("0:00:03")) 'attente de 3 secondes
Range("A5", Range("E5").End(xlDown)).Copy
'Application.Wait (Now + TimeValue("0:00:03")) 'attente de 3 secondes
Sheets("Intermédiaire").Select
Range("A1").Select

'Application.Wait (Now + TimeValue("0:00:03")) 'attente de 3 secondes
If ActiveCell = "" Then
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlValues
Application.CutCopyMode = False

Else
'Application.Wait (Now + TimeValue("0:00:03")) 'attente de 3 secondes
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlValues
Application.CutCopyMode = False

End If

'Supprimer les lignes vides()
'Application.Wait (Now + TimeValue("0:00:03")) 'attente de 3 secondes
Sheets("Intermédiaire").Select
Range("A1", Range("D1").End(xlDown)).Select
'Application.Wait (Now + TimeValue("0:00:03")) 'attente de 3 secondes

Dim NumCol As Byte
Dim NumLig As Integer, i As Integer
NumCol = ActiveCell.Column
NumLig = Range(Cells(65536, NumCol).Address).End(xlUp).Row

Application.ScreenUpdating = False
For i = NumLig To 1 Step -1
If Cells(i, NumCol) = "" Then Rows(i).Delete
Next i
Application.ScreenUpdating = True


'Supprimer les doublons()
'Application.Wait (Now + TimeValue("0:00:03")) 'attente de 3 secondes

'Effacer la feuille "Sauvegarde"
Sheets("Sauvegarde").Select
Range("A1", Range("E1").End(xlDown)).Select
Worksheets("Sauvegarde").Range("A1", Range("E1").End(xlDown)).Clear

'Application.Wait (Now + TimeValue("0:00:03")) 'attente de 3 secondes
Sheets("Intermédiaire").Select
Range("A1", Range("D1").End(xlDown)).Select
Worksheets("Intermédiaire").Range("A1", Range("E1").End(xlDown)).Copy _
Destination:=Worksheets("Sauvegarde").Range("A1")
Sheets("Sauvegarde").Select
Range("A1", Range("E1").End(xlDown)).Select

'Application.Wait (Now + TimeValue("0:00:03")) 'attente de 3 secondes
'Range("A1", Range("E1").End(xlDown)).Select
Sheets("Sauvegarde").Range("A1:E65000").AdvancedFilter Action:=xlFilterInPlace, Unique:=True

ActiveWorkbook.Save

Workbooks("telechargement tony.csv").Close
Workbooks("telechargement tony.xls").Close

Application.StatusBar = ""

End Sub
 
Ne chercher plus, le problème est trouvé, la mise à jour des liens était régler en automatique sans confirmation, comme les liaisons sont nombreuses alors il mettait du temps à s'ouvrir.

Par contre je suis preneur pour l'intégration d'une barre de progression dans la macros, j'ai un userform "progind" qu'on peut trouver dans la parti téléchargement du site mais je ne sais pas l'intégrer .

Merci de m'aider

Tony
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour