Re : Erreur 1004 en VBA
Voici mon code :
Sub LogistiqueAccess()
'
' LogistiqueAccess Macro
' Macro enregistrée le 25/05/2012 par cmartin8
'
'
'Je m'assure que ma feuille est propre :
Sheets("LogistiqueAccess").Select
Cells.Select
Selection.Delete Shift:=xlUp
'Pour le lundi ::
Sheets("Données_Logistique").Select
'Je met mon filtre sur les N°ordre du lundi "LU" non vide :
Selection.AutoFilter Field:=20, Criteria1:="<>"
Selection.AutoFilter Field:=21
Selection.AutoFilter Field:=22
Selection.AutoFilter Field:=23
Selection.AutoFilter Field:=24
'Je sélectionne les colonnes qui m'intéressent et les copie
Range("A:A,P😛,Q:Q,R:R,S:S,T:T").Select
Selection.Copy
'Je les colle
Sheets("LogistiqueAccess").Select
Range("A1").Select
ActiveSheet.Paste
'Je créer les champs comme je les veux dans la première ligne :
Range("A1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "Centre"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Code_ptl"
Range("C1").Select
ActiveCell.FormulaR1C1 = "No_location"
Range("D1").Select
ActiveCell.FormulaR1C1 = "Nom_ptl"
Range("E1").Select
ActiveCell.FormulaR1C1 = "Tournee"
Range("F1").Select
ActiveCell.FormulaR1C1 = "N°Ordre"
Range("G1").Select
ActiveCell.FormulaR1C1 = "Jsem"
Range("H1").Select
ActiveCell.FormulaR1C1 = "Lot"
Range("I1").Select
ActiveCell.FormulaR1C1 = "Barre"
Rows("1:1").Select
Application.CutCopyMode = False
Selection.AutoFilter
'J'in dique que mon Jsem est 1 = LUNDI :
For i = 2 To 65536
If Cells(i, 7).Offset(0, -1).Value <> "" Then
Cells(i, 7) = "1"
Else
Exit For
End If
Next i
' Pour le MARDI ::
Sheets("Données_Logistique").Select
'Je met mon filtre sur les N°ordre du mardi "MA" non vide :
Selection.AutoFilter Field:=20
Selection.AutoFilter Field:=21, Criteria1:="<>"
Selection.AutoFilter Field:=22
Selection.AutoFilter Field:=23
Selection.AutoFilter Field:=24
Range("A:A,P😛,Q:Q,R:R,S:S,U:U").Select
Selection.Copy
Sheets("LogistiqueAccess").Select
For i = 2 To 65536
If Cells(i, 1).Value = "" Then
Cells(i, 1).Select
Exit For
End If
Next i
'Dim ligne As Integer
'ligne = (Sheets("LogistiqueAccess").Range("A65536").End(xlUp).Row + 1)
'Cells(ligne, 1).Select
ActiveSheet.Paste
For i = 2 To 65536
If Cells(i, 1).Value = "code_exp" Then
Cells(i, 1).EntireRow.Delete
Exit For
End If
Next i
For i = 1 To 65536
If Cells(i, 7).Value = "" And Cells(i, 7).Offset(0, -1).Value <> "" Then
Cells(i, 7) = "2"
End If
Next i
' Pour le MERCREDI ::
Sheets("Données_Logistique").Select
'Je met mon filtre sur les N°ordre du mardi "MA" non vide :
Selection.AutoFilter Field:=20
Selection.AutoFilter Field:=21
Selection.AutoFilter Field:=22, Criteria1:="<>"
Selection.AutoFilter Field:=23
Selection.AutoFilter Field:=24
Range("A:A,P😛,Q:Q,R:R,S:S,V:V").Select
Selection.Copy
Sheets("LogistiqueAccess").Select
For i = 2 To 65536
If Cells(i, 1).Value = "" Then
Cells(i, 1).Select
Exit For
End If
Next i
ActiveSheet.Paste
For i = 2 To 65536
If Cells(i, 1).Value = "code_exp" Then
Cells(i, 1).EntireRow.Delete
Exit For
End If
Next i
For i = 1 To 65536
If Cells(i, 7).Value = "" And Cells(i, 7).Offset(0, -1).Value <> "" Then
Cells(i, 7) = "3"
End If
Next i
' Pour le JEUDI ::
Sheets("Données_Logistique").Select
'Je met mon filtre sur les N°ordre du mardi "MA" non vide :
Selection.AutoFilter Field:=20
Selection.AutoFilter Field:=21
Selection.AutoFilter Field:=22
Selection.AutoFilter Field:=23, Criteria1:="<>"
Selection.AutoFilter Field:=24
Range("A:A,P😛,Q:Q,R:R,S:S,W:W").Select
Selection.Copy
Sheets("LogistiqueAccess").Select
For i = 2 To 65536
If Cells(i, 1).Value = "" Then
Cells(i, 1).Select
Exit For
End If
Next i
ActiveSheet.Paste
For i = 2 To 65536
If Cells(i, 1).Value = "code_exp" Then
Cells(i, 1).EntireRow.Delete
Exit For
End If
Next i
For i = 1 To 65536
If Cells(i, 7).Value = "" And Cells(i, 7).Offset(0, -1).Value <> "" Then
Cells(i, 7) = "4"
End If
Next i
ce code marche mais quand je le copie colle une quatrième fois pour le vendredi ca plante.