Pb macro excel

Résolu
cs_patou06 Messages postés 24 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 14 juin 2006 - 13 août 2004 à 09:43
cs_patou06 Messages postés 24 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 14 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

Merci à tous et ...bonne nuit

4 réponses

cs_patou06 Messages postés 24 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 14 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

mille merci a+
3
ShadowWisp Messages postés 113 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 25 août 2004 1
13 août 2004 à 10:02
Pour l'auto exec, tu l'appelles d'une fonction comme suit

Sub workbook_open()
toncode
end sub

Et pour ton problème, ben mets au moins l'erreur et/ou l'endroit ou ca plante.

A.
0
cs_patou06 Messages postés 24 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 14 juin 2006
13 août 2004 à 13:02
ici vb ne trouve pas l'objet
je veus copier l'ensemble de cellules Aj:Fj d'une feuille i vers uen autre feuille à partir de la cellul Bj

Worksheets(i).Range("A&j:F&j").Copy Destination:=Worksheets(10).Range("B&j")

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")

Merci
0
ShadowWisp Messages postés 113 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 25 août 2004 1
13 août 2004 à 13:22
Je pense qu'il faut que tu fasses :

Worksheets(i).Range("A"&j&":"&F&"j).Copy Destination:=Worksheets(10).Range("B"&j)

Ceci etant dit je pense qu'il va gueuler quand même ,etant donné que tu essayes de copier plusieurs cellues dans une seule?

Pour la suite :

Dim nom as string
nom = worksheets(i).name
workheets(10).range("a"&j).value=trim$(nom)

A.
0
Rejoignez-nous