Trier et copier des données en fonction du mois
Bonjour à tous.
Je viens soliciter votre aide car je ne m'en sort pas...
Je travaille actuellement sur un fichier Excel comportant des macro. Le but est de recuillir des infos via une interface VBA et de les stocker dans une feuille "Sauvegarde". Jusque là, pas de soucis. Point important, cette interface récupère automatiquement le jour de la saisie avec ce petit bou de code
Me.DateBox.Value = Format(Now, "dd/mm/yyyy") Maintenant, je voudrais pouvoir récupérer les données de la feuille "Sauvegarde" en les triant par mois. C'est à dire, que lorsqu'on va rentrer des données au mois de janvier, elles vont se copier dans "sauvegarde" et dans une nouvelle feuille appelée "janvier". Et ainsi de suite. Je souhaiterai que les données s'accumulent dans la fiche du mois correspondant, sans qu'il y ait de doublons.
J'ai trouvé ce code sur le forum
Dim Fe As Worksheet
Dim I As Integer
'cherche si la feuille a déjà été créée, si oui, fin
For Each Fe In Worksheets
If Fe.Name = Format(Date, "mmmm") Then Exit Sub
Next Fe
'la feuille n'existe pas, on la créée
If Day(Date) >= 1 Then
'en fin de collection
Set Fe = Worksheets.Add(, Sheets(Sheets.Count))
'on lui donne le nom du mois en cours
Fe.Name = Format(Date, "mmmm")
'paramétrage de la feuille...
With Worksheets("Sauvegare")
'copie de la zone utilisée de la feuille "Formulaire" dans la nouvelle feuille
.UsedRange.Copy Fe.Range("A1")
'adapte la largeur des colonnes
For I = 1 To .UsedRange.Columns.Count
Fe.Columns(I).ColumnWidth = .Columns(I).ColumnWidth
Next I
'de même pour les lignes
For I = 1 To .UsedRange.Rows.Count
Fe.Rows(I).RowHeight = .Rows(I).RowHeight
Next I
'défini la zone de travail
Fe.ScrollArea = .ScrollArea
End WithMais je ne parviens pas à l'adapter à ma demande sans créer des erreurs en cascade....
Quelqu'un aurait-il une solution ou une piste pour moi ?
Merci d'avance