cachcach64
Messages postés2Date d'inscriptionmardi 5 décembre 2006StatutMembreDernière intervention11 décembre 2006
-
5 déc. 2006 à 21:52
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 2019
-
6 déc. 2006 à 17:41
Bonjour a tous,
je suis étudiante. je débute sur vbe et j'aimerai savoir ce qui va pas dans mon début de programmation. Je cherche a archiver et a initialiser une facture.
Voila le début de ma formule :
Sub archivage1()
Dim c As Object
Dim p As Object
Set c = Worksheets("facture").Range("D5")
Set p = Worksheets("facture").Range("B15:B40")
For Each p In Worksheets("facture").Range("B15:B40").Cells
p.Select
Selection.Copy
Sheets("HistoriqueAchatsClients").Select
ActiveSheet.Paste
Set p = p.Offset(0, 1)
Next
Wend
End Sub
Pouvez vous me dire où est l'erreur svp!! en vous remerciant.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 6 déc. 2006 à 04:45
Salut,
je t'ai corrigé 2 - 3 choses, mais ton code est assez bizarre.
J'ai séparé les While et For Each, en cas, dis avec plus de précisions ce que tu veux faire et vérifie bien le code que je t'ai encadré :
Sub archivage1()
Dim c As Range '
*** correction ici
Dim p As Range ' *** correction
ici
Dim MyRange As Range
Set c = Worksheets("facture").Range("D5")
Set p = Worksheets("facture").Range("B15:B40")
'************************************************************
While p.Value <> "" ' ici ça marchera jamais
*
' pis ça veut dire quoi
??? *
' Tant que
Range("B15:B40") est différent de rien ? *
' tu copies tout le temps Range("D5") à la même cellule.. *
' *
c.Select ' *
Selection.Copy ' *
Sheets("historique achats client").Select ' *
' *** dans quelle cellule ? '
*
' Range("A1").Select 'change ici la
destination *
ActiveSheet.Paste ' *
Wend ' *
'************************************************************
Sheets("HistoriqueAchatsClients").Select
Range("A1").Select
For Each MyRange In p ' ***
correction ici
MyRange.Copy
' *** dans quelle cellule ?
' Range("A1").Select 'change ici la
destination
ActiveSheet.Paste
ActiveCell.Offset(0, 1).Select
Next
End Sub