• Initiateur de la discussion Initiateur de la discussion canemarchepas78
  • 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 !

C

canemarchepas78

Guest
Bonjour,

je débute en VBA et cette erreur ne me lâche pas

j'ai exécuté un code qui copie colle des données filtrées d'une feuille vers une autre dans un même classeur.

j'ai copier coller ce code trois fois en changeant un critère et cela a fonctionné,

la quatrième fois ce code à généré cette erreur 1004

auriez-vous une explication?

Merci
 
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.
 
- 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.

Discussions similaires

Réponses
3
Affichages
326
Retour