cs_patou06
Messages postés24Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention14 juin 2006
-
13 août 2004 à 09:43
cs_patou06
Messages postés24Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention14 juin 2006
-
13 août 2004 à 15:02
bonsoir
Dans le vif du sujet je souhaite
1 que ma macro fonctionne (logique) voici le code:
Sub autoexec()
'calcul du numéro de la premiere ligne vide
k = 1
Do While Worksheets(10).Cells(k, 1) <> ""
k = k + 1
Loop
For i = 2 To 9
j = 2
Do While Worksheets(i).Cells(j, 1) <> ""
If Worksheets(i).Cells(j, 2) < FormatDateTime(Date) Then
'Worksheets(i).Range(.Cells(j, 1), .Cells(j, 6)).Copy Destination:=Worksheets(10).Range("B2")
Worksheets(i).Range("A&j:F&j").Copy Destination:=Worksheets(10).Range("B&j")
'ActiveCell.Worksheets(i).Name.Copy Destination:=Worksheets(10).Range("B1")
Worksheets(i).Name.Copy Destination:=Worksheets(10).Range("A&j")
k = k + 1
Worksheets(i).Rows(j).Delete
End If
j = j + 1
Loop
Next
End Sub
en effet elle sert à copier puis supprimer ule ligne vers une autre feuille seulement mes 2 copy coincent
2 Comme vous l'avez remarqué elle s'appelle autoexec
Mais elle ne se lance pas à l'ouverture du fichier or ca m'arrangerai
cs_patou06
Messages postés24Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention14 juin 2006 13 août 2004 à 15:02
merci beaucoup voici mon code final
Public Sub Autoexec()
'calcul du numéro de la premiere ligne vide
k = 1
Do While Worksheets(10).Cells(k, 1) <> ""
k = k + 1
Loop
For i = 2 To 9
J = 2
Do While Worksheets(i).Cells(J, 1) <> ""
If Worksheets(i).Cells(J, 2) < DateAdd("m", -1, Date) Then
Sheets(i).Select 'selection de la feuille
Range("A" & J & ":F" & J).Select 'selection des cellules
Selection.Copy 'copier la selection
Sheets(10).Select 'Feuille archive
Range("B" & k).Select 'selectionner la cellule de destination
ActiveSheet.Paste 'coller
Cells(k, 1) = Sheets(i).Name 'placer le nom de la feuille
k = k + 1
Worksheets(i).Rows(J).Delete
End If
J = J + 1
Loop
Next
End Sub
2. erreur d'objet aussi je veux copier le nom de la feuille i dans la feuille 10 à la cellule Aj
Worksheets(i).Name.Copy Destination:=Worksheets(10).Range("A&j")