Bonjour à tous !
j'ai développé la macro ci-dessous qui permet d'archiver les données d'une feuille "Suivi" vers une feuille "Archive", néanmoins je rencontre un problème lorsque je relance la macro car mes données s'insèrent sous celles déjà enregistrés. J'aimerai pouvoir insérer les données nouvelles à la suite des anciennes (ex : anciennes données dans colonne A-B-C, nouvelles données dans colonne D-E-F etc). Je ne peux malheureusement pas faire partager le fichier source pour des questions de confidentialité mais voici le bout de mon code.
Merci de votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 Sub Archivage_test3() Application.ScreenUpdating = False jour_mois_annee = Range("M12") 'on enregistre le code de la semaine que l'on veut archiver Sheets("Archive").Select 'on va sur la feuille Archive der_lig = Range("N" & Rows.Count).End(xlUp).Row 'on regarde jusqu'à où cette feuille est remplie trouve = "non" 'on initialise la variable de recherche For i = 15 To der_lig 'on parcourt toutes les lignes If Range("N" & i) = jour_mois_annee Then 'si on trouve le code trouve = "oui" 'on enregistre le fait qu'on l'a trouvé Exit For 'on arrête de chercher End If Next i If trouve = "non" Then 'si on ne l'a pas trouvé Sheets("Suivi").Select 'on retourne dans la feuille Suivi Range("M12").Select 'On sélectionne ce qu'on veut archiver Selection.Copy 'on y copie Sheets("Archive").Select 'on retourne dans la feuille Archive Range("A1").Select 'On va à la fin de la feuille ActiveSheet.Paste 'et on colle Sheets("Suivi").Select Range("N13:N140").Select Selection.Copy Sheets("Archive").Select 'on retourne dans la feuille Archive Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select 'On va à la fin de la feuille ActiveSheet.Paste 'et on colle Sheets("Suivi").Select Range("P13:P140").Select Selection.Copy Sheets("Archive").Select 'on retourne dans la feuille Archive Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Select 'On va à la fin de la feuille ActiveSheet.Paste 'et on colle Sheets("Suivi").Select Range("R13:R140").Select Selection.Copy Sheets("Archive").Select 'on retourne dans la feuille Archive Range("C" & Rows.Count).End(xlUp).Offset(1, 0).Select 'On va à la fin de la feuille ActiveSheet.Paste 'et on colle







Répondre avec citation
Partager