Archivage d'une feuille excel selon paramètre de date
skan09
Messages postés3Date d'inscriptionvendredi 1 février 2008StatutMembreDernière intervention25 février 2008
-
24 févr. 2008 à 18:16
skan09
Messages postés3Date d'inscriptionvendredi 1 février 2008StatutMembreDernière intervention25 février 2008
-
25 févr. 2008 à 02:37
Bonjour tt le monde!
Je débute avec VB, et pour une ptite application de gestion de clients, j'aurais voulu un pti coup de pouce afin de pouvoir archiver dans de bonnes conditions. J'ai essayé plusieurs manières, mais j'arrive pas ecrire la condition qui permet de vérifier avant de copier coller les informations dans la feuille "Archive" que la date de la tournée (valeure unique qui diférencie chaque enregirstrement) n'existe pas dans un colonne de dates.
J'ai juste réussi à tester cette condition pour la dernière ligne du tableau.
Voici le code (qui vérifié juste la dernière ligne du tableau)
Dim K As Long
Sub archiver()
'Trouver la dernière ligne de la feuille source
K = 7
Do While Worksheets("Fiche de suivi").Cells(K, 1) <> ""
K = K + 1
Loop
Range("A" & 7 & ":G" & K).Select 'selection des cellules
Selection.Copy 'copier la selection
Sheets("Archive").Activate ' feuille de destination
'Trouver la dernière ligne de la feuille de destination
M = 2
Do While Worksheets("Archive").Cells(M, 1) <> ""
M = M + 1
Loop
Range("A" & M).Select 'selectionner la cellule de destination
N = M
If Worksheets("Fiche de suivi").Cells(4, "B").Value <> Range("C" & N - 1).Value Then 'Test sur la dernière date du tableau
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
For i = N To N + (K - 8)
Worksheets("Archive").Cells(i, "C").Value = Worksheets("Fiche de suivi").Cells(4, "B").Value 'copie de la date
Next
Else 'si la date de la dernière cellule archivée au correspond à la date de la trournée afficher le message
MsgBox ("La date de la tournée est déjà archivée !")
End If
End Sub
Si quelqu'un peut me permettre d'avancer
Je suis coincé à cette etape depuis un bon moment
J'ai aussi pu trouver la fonction concaténer mais pas déconcatener ! (ca peut aussi m'aider)
Merci à plus
A voir également:
Archivage d'une feuille excel selon paramètre de date
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 25 févr. 2008 à 00:08
Salut,
ce qui suit suppose que les dates sont en colonne B en feuille de suivi et en feuille d'archive.
Sub archiver()
Dim DerniereValFicheSuivi As Long, DerniereValArchive As Long, DateSuivi As Date, DateArchive As Date
Dim i As Long
DerniereValFicheSuivi = Worksheets("Fiche de suivi").Range("A:A").Find("*", [A1], , , xlByRows, xlPrevious).Row
DerniereValArchive = Worksheets("Archive").Range("A:A").Find("*", [A1], , , xlByRows, xlPrevious).Row
DateSuivi = Worksheets("Fiche de suivi").Cells(DerniereValFicheSuivi, 2).Value
DateArchive = Worksheets("Archive").Cells(DerniereValFicheSuivi, 2).Value
For i = 1 To DerniereValArchive
DateArchive = Worksheets("Archive").Cells(i, 2).Value
If DateSuivi = DateArchive Then
MsgBox ("La date de la tournée est déjà archivée !")
Exit Sub
End
End If
Next
DerniereValFicheSuivi = DerniereValFicheSuivi
DerniereValArchive = DerniereValArchive + 1
Worksheets("Archive").Range("A" & DerniereValArchive & ":G" & DerniereValArchive).Value = Worksheets("Fiche de suivi").Range("A" & DerniereValFicheSuivi & ":G" & DerniereValFicheSuivi).Value
MsgBox ("Derniere tournée archivée avec succée !")
End Sub
skan09
Messages postés3Date d'inscriptionvendredi 1 février 2008StatutMembreDernière intervention25 février 2008 25 févr. 2008 à 02:37
Merci pour ton coup de main, mais mon probleme n'est pas résolu, ca ne tourne pas comme je veux. Je voudrais en fait éviter de faire deux fois le meme enregistrement, et ton code ne prends pas le nom des clients qui doivent etre copiés en archive depuis la dernière ligne, a condition que la date n'a pas été retrouvé dans colonne date d'archive.
J'y suis presque!!
Si tu pouvais adapter un peu plus ton code par rapport a ce que je voudrais faire, je serais comblé!
J'ai voulu t'nevoyer une capture d'ecran mais peu pas!
En gros y une liste des clients sur la fiche de suivi et une cellule ou il y 'a la date, il faut verifier avant de copier les clients en archive que la date n'a pas dejà été archivée.
A+