Macro
wikika
Messages postés
58
Statut
Membre
-
melanie1324 Messages postés 1561 Statut Membre -
melanie1324 Messages postés 1561 Statut Membre -
Bonjour,
J'aimerais réaliser une macro sur une liste de personnel:
Chaque salarié est attaché à un pays (colonne E)
Je voudrais que chaque pays soit spliter sur des onglets différents avec la liste des salariés attachés au pays en question.
La liste commence en A3 jusque R3 (A2:R2 =entête avec en E2 le pays), il y a en tout 2396 lignes.
Merci d'avance à tous pour votre aide.
Cordialement
J'aimerais réaliser une macro sur une liste de personnel:
Chaque salarié est attaché à un pays (colonne E)
Je voudrais que chaque pays soit spliter sur des onglets différents avec la liste des salariés attachés au pays en question.
La liste commence en A3 jusque R3 (A2:R2 =entête avec en E2 le pays), il y a en tout 2396 lignes.
Merci d'avance à tous pour votre aide.
Cordialement
A voir également:
- Macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro maker - Télécharger - Divers Utilitaires
- Actiona macro - Télécharger - Divers Utilitaires
3 réponses
Bonjour,
Voici la macro écrite.
Là ou il y a écrit feuil1 remplace par le nom de ta feuille où sont situés les salariés sinon la macro buggera.
Sub Macro1()
'compte nombre de lignes
nb_lignes = Sheets("Feuil1").Cells(3, 5).End(xlDown).Row
'de la ligne 3 jusqu'au bout
For i = 3 To nb_lignes
feuille = Sheets(1).Range("E2")
On Error GoTo suite
Sheets(feuille).Select
GoTo fin
Next
'si la feuille pays n'est pas créé, on la crée
suite:
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = feuille
For j = 1 To 23
Sheets(feuille).Cells(2, j) = Sheets("Feuil1").Cells(2, j)
Next
GoTo fin
'une fois la feuille créée ou non créée, on copie le personnel lié
fin:
nb_ligne = Sheets(feuille).Cells(2, 5).End(xlDown).Row
For j = 1 To 23
Sheets(feuille).Cells(nb_ligne, j) = Sheets("Feuil1").Cells(i, j)
Next
End Sub
Voici la macro écrite.
Là ou il y a écrit feuil1 remplace par le nom de ta feuille où sont situés les salariés sinon la macro buggera.
Sub Macro1()
'compte nombre de lignes
nb_lignes = Sheets("Feuil1").Cells(3, 5).End(xlDown).Row
'de la ligne 3 jusqu'au bout
For i = 3 To nb_lignes
feuille = Sheets(1).Range("E2")
On Error GoTo suite
Sheets(feuille).Select
GoTo fin
Next
'si la feuille pays n'est pas créé, on la crée
suite:
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = feuille
For j = 1 To 23
Sheets(feuille).Cells(2, j) = Sheets("Feuil1").Cells(2, j)
Next
GoTo fin
'une fois la feuille créée ou non créée, on copie le personnel lié
fin:
nb_ligne = Sheets(feuille).Cells(2, 5).End(xlDown).Row
For j = 1 To 23
Sheets(feuille).Cells(nb_ligne, j) = Sheets("Feuil1").Cells(i, j)
Next
End Sub
Merci pour votre retour
Pour tout dire je ne me suis pas encore penché dessus, je sais que la manipulation est possible mais je n'ai pas encore eu le temps de chercher...
Si quelqu'un aurait une base que je pourrai adapter je suis preneur.
Cordialement
Walou