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