Macro

wikika Messages postés 58 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

3 réponses

  1. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour.
    Qu'est-ce qui ne fonctionne pas avec votre macro... ?

    0
    1. wikika Messages postés 58 Statut Membre
       
      Bonjour,
      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
      0
    2. melanie1324 Messages postés 1561 Statut Membre 156
       
      je t'ai donné une base si tu ragardais en dessous :
      0
  2. melanie1324 Messages postés 1561 Statut Membre 156
     
    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
    0
    1. wikika Messages postés 58 Statut Membre
       
      Merci Melanie,
      J'ai testé mais j'ai une erreur de compilation
      Je pense que ce la vient de : On Error GoTo suite
      Je peux t'envoyer mon fichier pour que tu jette un oeil?
      Merci
      walou
      0
    2. melanie1324 Messages postés 1561 Statut Membre 156
       
      oui envoie ton fichier, mets le sur cjoint.com
      0
    3. wikika Messages postés 58 Statut Membre
       
      je t'ai mis le lien en privée

      Dis moi si c'est ok pour toi

      merci
      0
    4. melanie1324 Messages postés 1561 Statut Membre 156
       
      j'ai bien eu le fichier. Je vois et je te dis
      0
    5. melanie1324 Messages postés 1561 Statut Membre 156
       
      je te l'envoie par mail
      0
  3. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour,
    Désolé je quitte le poste.

    0
    1. melanie1324 Messages postés 1561 Statut Membre 156
       
      tu n'as pas à être désolé, si tu peux apporter ta contribution reste
      0
    2. wikika Messages postés 58 Statut Membre
       
      Ne sois pas désolé, quoiqu'il arrive je posterai la solution...

      "A quoi sert le savoir, s'il n'est pas partagé!"
      0