Vba nouveau

Résolu/Fermé
amok - 1 déc. 2009 à 18:28
 amok - 1 déc. 2009 à 19:45
Bonjour,
bon j'ai avancé j'ai un nouveau code bien plus pratique qui fait que quand j'enregistre ça se met dans la feuille que je desire mais quand je fait un autre bon de commande ça n'enregistre pas en dessus de mon premier bdc mais ça se met a la place au lieu d en dessous. Pouvez vous m aider ?
voila mon code :

Sub enregistrer()
'
' enregistrer Macro

Sheets("liste bdc").Range("A2") = Sheets("bdc").Range("B6")
Sheets("liste bdc").Range("B2") = Sheets("bdc").Range("B7")
Sheets("liste bdc").Range("C2") = Sheets("bdc").Range("C30")
Sheets("liste bdc").Range("D2") = Sheets("bdc").Range("C31")
Sheets("liste bdc").Range("E2") = Sheets("bdc").Range("D25")
Sheets("liste bdc").Select

Sheets("dispo").Select

End Sub

2 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 686
1 déc. 2009 à 18:57
bonjour

Il faut positionner ta ligne de copie, comme ceci par exemple :
Sub enregistrer()
'
' enregistrer Macro
Dim lig As Long
lig = Sheets("liste bdc").Cells(Columns(1).Cells.Count, 1).End(xlUp).Row + 1
Sheets("liste bdc").Cells(lig, 1) = Sheets("bdc").Range("B6")
Sheets("liste bdc").Cells(lig, 2) = Sheets("bdc").Range("B7")
Sheets("liste bdc").Cells(lig, 3) = Sheets("bdc").Range("C30")
Sheets("liste bdc").Cells(lig, 4) = Sheets("bdc").Range("C31")
Sheets("liste bdc").Cells(lig, 5) = Sheets("bdc").Range("D25")
Sheets("dispo").Select
End Sub
0
merci mille fois tu es mon sauveur ! sachant que je travaille la dessus depuis 11hr du matin !
0