Bonjour,
Je suis stagiaire et débutant en VBA et on me demande de faire un programme en VBA. J'ai tenté de faire une macro qui permet d'aller chercher un fichier .csv et qui collent les cellules qui répondent à une condition (ici c'est une condition de date) dans un autre classeur. J'ai épluché tous les tutos mais je n'arrive pas à trouver la solution. J'ai une erreur 1004, Erreur définie par l'application ou par l'objet à la ligne :
For J = 2 To Sheets(2).Range("A" & Rows.Count).End(x1up).Row
Je vous mets le code en entier car vu mon niveau il est possible qu'elle ne soit pas bien construite avant cette ligne la
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| Sub Import()
Set Destination = ActiveWorkbook
Dim ladate As Date, Plage As Range, Plaga As Range, Source As Variant
ladate = DateAdd("d", -7, Date)
Source = Application.GetOpenFilename("Fichiers Donnees (*.csv), *.csv")
If Source = False Then
MsgBox ("Aucun fichier sélectionné")
Exit Sub
Else
Set Source = ActiveWorkbook
For I = 2 To Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
If Sheets(1).Range("A" & I).Value >= ladate Then
If Plage Is Nothing Then
Set Plage = Sheets(1).Range("A" & I & ":" & "E" & I)
Else
Set Plage = Union(Plage, Sheets(1).Range("A" & I & ":" & "E" & I))
End If
End If
Next
Destination.Activate
For J = 2 To Sheets(2).Range("A" & Rows.Count).End(x1up).Row
Set Plaga = Sheets(2).Range("A" & J & ":" & "E" & J)
Next J
Plaga.ClearContents
Plage.Copy Destination:=Sheets(2).Range("A2")
Source.Activate
Application.CutCopyMode = False
ActiveWindow.Close SaveChanges:=False
End If
End Sub |
Merci de votre aide, le VBA c'est pas vraiment cool quand ca marche pas !!
?:
Partager