Trier et copier automatiquement les lignes sur différents onglet
Fermé
Sandra Marie
-
25 févr. 2016 à 15:55
Sandra-Marie Messages postés 3 Date d'inscription jeudi 25 février 2016 Statut Membre Dernière intervention 1 mars 2016 - 1 mars 2016 à 15:58
Sandra-Marie Messages postés 3 Date d'inscription jeudi 25 février 2016 Statut Membre Dernière intervention 1 mars 2016 - 1 mars 2016 à 15:58
A voir également:
- Trier et copier automatiquement les lignes sur différents onglet
- Excel trier par ordre alphabétique en gardant les lignes - Guide
- Logiciel pour trier les photos automatiquement - Guide
- Rouvrir onglet fermé - Guide
- Copier une vidéo youtube - Guide
- Super copier - Télécharger - Gestion de fichiers
2 réponses
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
25 févr. 2016 à 18:03
25 févr. 2016 à 18:03
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:
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
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
25 févr. 2016 à 17:43
25 févr. 2016 à 17:43
Bjr,
Il faut passer par une macro (VBA). Quel est votre niveau en la matière ?
Cdt,
Il faut passer par une macro (VBA). Quel est votre niveau en la matière ?
Cdt,
Sandra-Marie
Messages postés
3
Date d'inscription
jeudi 25 février 2016
Statut
Membre
Dernière intervention
1 mars 2016
25 févr. 2016 à 17:49
25 févr. 2016 à 17:49
Mon niveau..? Tout ce qu'il y a de plus débutant... :-s
25 févr. 2016 à 18:05
je vais essayer dès demain matin!
1 mars 2016 à 15:58