cs_Fabian123
Messages postés180Date d'inscriptionvendredi 18 janvier 2008StatutMembreDernière intervention22 novembre 2013
-
26 mars 2008 à 12:07
cs_Fabian123
Messages postés180Date d'inscriptionvendredi 18 janvier 2008StatutMembreDernière intervention22 novembre 2013
-
27 mars 2008 à 14:43
Bonjour à toutes et tous,
dans mon petit progr, j'ai une feuille excel dans laquelle viennent s'additionner (dans la colonne G) les articles que j'ai vendu dans la semaine.
Dans une autre feuille excel, j'ai fait un tableau ou chaque colonne représente une semaine (j'ai placé 53 colonnes numérotées de 1 à 53!)
je souhaiterais, encliquant sur un bouton, couper les valeur se trouvant dans ma colonne G et les coller dans mon autre feuill excel, dans la colonne correspondant au numéro de semaine correspondant.
cs_Fabian123
Messages postés180Date d'inscriptionvendredi 18 janvier 2008StatutMembreDernière intervention22 novembre 2013 27 mars 2008 à 13:31
Salut Renfield,
Voici le code tel que je l'ai retravaillé et apprement, il fonctionne!! (je dis apparement, parce que il a bien collé mon résultat dans la semaine 13, faudra vérifier la semaine prochaine si ça colle toujours!)
peux tu me dire si il est correct ou si, malgrès qu'il fonctionne, il subiste des erreurs?
Encore merci pour ton aide!
Private Sub CommandButton2_Click()
Dim sem As Date
sem = Format(Date, "WW", , vbFirstJan1)
Dim Recherche As Range
Set Recherche = Sheets("SauvegardeVente").Range("b1:bb53").Find(sem, LookIn:=xlValues)
If Recherche Is Nothing Then
Worksheets("Stock").Range("G3:G45").Copy
ActiveSheet.Paste Destination:=Worksheets("SauvegardeVente").Range("A3").Offset(0, sem)
End If
End Sub
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 27 mars 2008 à 14:30
me parait correct....
possible de faire ca a deux autres endroits:
Private Sub CommandButton2_Click()
Dim sem As Long
sem = DatePart("WW", Date, , vbFirstJan1) +1
Worksheets("Stock").Range("G3:G45").Copy Worksheets("SauvegardeVente").Cells(3, sem)
End Sub
ou encore
Private Sub CommandButton2_Click()
Dim sem As Long
sem = DatePart("WW", Date, , vbFirstJan1)
Worksheets("Stock").Range("G3:G45").Copy Worksheets("SauvegardeVente").Cells(3, sem+1)
End Sub
pour ma part, je pencherais pour la dernière forme (on n'altere pas le numéro de la semaine, juste son utilisation)
cs_Fabian123
Messages postés180Date d'inscriptionvendredi 18 janvier 2008StatutMembreDernière intervention22 novembre 2013 27 mars 2008 à 09:57
Bonjour Renfield, Bonjour BigFish,
voici le code que j'ai fait, mais il ne fonctionne pas (snif!)
il plante sur la ligne que j'ai mise en rouge (Erreur d'execution 438 : propriete ou methode non gérée par cet objet)
Private Sub CommandButton2_Click()
Dim i As Variant
i = Format(Date, "WW", , vbFirstJan1)
Dim Recherche As Range
Set Recherche = Sheets("SauvegardeVente").Row("1").Find(i, LookIn:=xlValues, lookat:=xlWhole)
If Recherche Is Nothing Then
Worksheets("Stock").Range("G3:G45").Copy
ActiveSheet.Paste Destination:=Worksheets("SauvegardeVente").Range(Recherche.Row & "3", Recherche.Row & "45")
End If
End Sub
('suis vraiment pas bon en programmation... c'est désespérant...)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 27 mars 2008 à 13:59
je pige pas a quoi sert Recherche.
sem n'est pas une date, mais un numérique (Long)
Private Sub CommandButton2_Click()
Dim sem As Long
sem = DatePart("WW", Date, , vbFirstJan1)
Worksheets("Stock").Range("G3:G45").Copy Worksheets("SauvegardeVente").Cells(3, sem)
End Sub
cs_Fabian123
Messages postés180Date d'inscriptionvendredi 18 janvier 2008StatutMembreDernière intervention22 novembre 2013 27 mars 2008 à 14:21
euh... c'est beaucou plus simple ta méthode...!
je pensais qu'il fallais faire une recherche dans la ligne B1 à BB53 (les cellules sont numérotées de 1 à 53) pour etre certain de coller dans la colonne qui a le bon numéro de semaine.
Avec ton code, étant donné qu'on attribue la valeur 'sem' à la colonne (cells(3,sem)) j'ai un décallage d'une colonne... (la semaine 13 s'affiche dans ma colonne '12', puisque le code commence à compter a partir de la colonne A et moi a partir de la B
j'ai donc rajouté la ligne en rouge, est-ce la bonne façon de procéder?
Private Sub CommandButton2_Click()
Dim sem As Long
sem = DatePart("WW", Date, , vbFirstJan1)
sem = sem + 1
Worksheets("Stock").Range("G3:G45").Copy Worksheets("SauvegardeVente").Cells(3, sem)
End Sub