Trier et copier automatiquement les lignes sur différents onglet

Sandra Marie -  
Sandra-Marie Messages postés 3 Statut Membre -
Bonjour à tous,

J'aurai besoin d'aide avec un classeur de suivi que j'essaie de mettre au point.

J'ai un onglet général avec une cinquantaine de lignes et d'autres onglets: 2010, 2011 etc...
La colonne Q est rempli de dates. Et ce sont ces dates que je voudrais utiliser comme critère pour que les lignes soient automatiquement copié depuis l'onglet général vers les onglets correspondant selon les années.

Est-ce quelqu'un saurait comment faire?

Merci d'avance

2 réponses

  1. Theo.R Messages postés 585 Statut Membre 31
     
    Essayez ce code avec comme prérequis :
    1) votre feuille globale est la première de votre classeur
    2) vous avez bien créé les feuilles pour toutes les années différentes de la colonne Q, ces années en colonne Q sont sous le format "aaaa" -> 2010 par exemple. Si vous avez une date entière (01/01/2010), alors utilisez une autre colonne avec la fonction ANNEE()

    Le code vba à utiliser dans le workbook est le suivant:
    Sub test()

    With Sheets(1)

    Dim DernLigne As Long
    DernLigne = Sheets(1).Cells.SpecialCells(xlCellTypeLastCell).Row

    For i = 2 To DernLigne

    If Len(Sheets(1).Cells(i, 17).Value) = 4 Then
    Dim Nomf As String
    Nomf = Sheets(1).Cells(i, 17).Value
    Dim m As Long
    On Error GoTo PbNomf
    m = Sheets(Nomf).Range("Q" & Rows.Count).End(xlUp).Row + 1
    Sheets(Nomf).Rows(m).Value = Sheets(1).Rows(i).Value
    PbNomf:

    End If
    Next i

    End With
    End Sub
    1
    1. Sandra-Marie Messages postés 3 Statut Membre
       
      super merci,
      je vais essayer dès demain matin!
      0
    2. Sandra-Marie Messages postés 3 Statut Membre
       
      ça a fonctionné, encore merci ^^
      0
  2. Theo.R Messages postés 585 Statut Membre 31
     
    Bjr,

    Il faut passer par une macro (VBA). Quel est votre niveau en la matière ?

    Cdt,
    0
    1. Sandra-Marie Messages postés 3 Statut Membre
       
      Mon niveau..? Tout ce qu'il y a de plus débutant... :-s
      0