Copier coller lignes à un endroit précis

Résolu
AFN -  
Ant049 Messages postés 157 Statut Membre -
Bonjour,

Je débute sur excel et je n'ai pas trouvé la réponse sur les différent forum, je vous pose donc mon problème.
J'ai 4 feuilles excel: la première précise si les personnes sont en congés ou absent
la seconde renseignent sur les compétences de chaque personnes
la troisième est le planning
la Quatrième sert de filtre pour créer un planning.
Mon problème est sur la 3ème feuille: je souhaite extraire de la feuille 1 les personnes présente chaque jours, et grâce a la feuille 2, coller automatiquement la ligne correspondant a ses compétence a la suite de son nom.
Cependant je ne parvient pas à ce que la ligne copier respect le nom de la personne concerné.
Si besoin de plus d'info, merci de me le dire.
Merci par avance !!

6 réponses

  1. AFN
     
    Mon problème est sur la 4eme feuille, faute de frappe pardon.
    0
  2. Ant049 Messages postés 157 Statut Membre 22
     
    Bonjour AFN,

    Dans le cas ci-dessous, j'ai admis que :
    - Dans ta feuille 1, tu avais dans la colonne A les noms et dans la B le statut.
    - Dans ta feuille 2, tu avais dans la colonne A les noms et dans les autres colonnes les compétences


    Sheets("Feuil1").Activate
    Cells(1, 2).Select
    Do While Not (IsEmpty(ActiveCell))
    If ActiveCell.Value = "présent" Then
    Selection.Offset(0, -1).Select
    a = ActiveCell.Value
    Sheets("Feuil2").Activate
    Cells(1, 1).Select
    Do While Not ActiveCell.Value = a
    Selection.Offset(1, 0).Select
    Loop
    Rows(ActiveCell.Row).Select
    Selection.Copy
    Sheets("Feuil4").Activate
    Rows("2:2").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    ActiveSheet.Paste
    End If
    Sheets("Feuil1").Activate
    Selection.Offset(1, 0).Select
    Loop
    0
  3. AFN
     
    Bonjour Ant049?

    La macro fonctionne bien, mais juste pour le premier nom de ma liste feuille1 (présence). Comment faire pour étendre la macro a chaque nom de ma liste ?
    0
    1. Ant049 Messages postés 157 Statut Membre 22
       
      Autant pour moi, il manquait un tout petit truc :

      Sheets("Feuil1").Activate
      Cells(1, 2).Select
      Do While Not (IsEmpty(ActiveCell))
      If ActiveCell.Value = "présent" Then
      Selection.Offset(0, -1).Select
      a = ActiveCell.Value
      Sheets("Feuil2").Activate
      Cells(1, 1).Select
      Do While Not ActiveCell.Value = a
      Selection.Offset(1, 0).Select
      Loop
      Rows(ActiveCell.Row).Select
      Selection.Copy
      Sheets("Feuil4").Activate
      Rows("2:2").Select
      Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
      ActiveSheet.Paste
      End If
      Sheets("Feuil1").Activate
      Selection.Offset(1, 1).Select
      Loop
      0
  4. AFN
     
    Toujours pas, si je t'envoie le fichier tu peux me dire si mon adaptation est bonne ?
    0
    1. Ant049 Messages postés 157 Statut Membre 22
       
      Oui
      0
      1. AFN > Ant049 Messages postés 157 Statut Membre
         
        Aprés une dernière modif de ma part ... tout a planté, je relance est t'envoie le fichier
        0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Fallona Messages postés 12 Statut Membre
     
    Je me suis créer un compte.
    Je n'arrive pas à ajouter une pièce-jointe à mon message.
    0
    1. Ant049 Messages postés 157 Statut Membre 22
       
      Va sur cjoint.com
      0
  7. Fallona Messages postés 12 Statut Membre
     
    Merci, voici donc le liens:
    http://www.cjoint.com/c/FHihUtDmUJo
    0
    1. Ant049 Messages postés 157 Statut Membre 22
       
      Bonjour,

      Voici le code :

      Sub Macro1()
      Sheets("Planning conges à remplir").Activate
      Cells(10, 2).Select
      Do While Not (IsEmpty(ActiveCell))
      If ActiveCell.Value = "1" Then
      Selection.Offset(0, -1).Select
      a = ActiveCell.Value
      Sheets("Matrice Compétence").Activate
      Cells(3, 1).Select
      Do While Not ActiveCell.Value = a
      Selection.Offset(1, 0).Select
      Loop
      Rows(ActiveCell.Row).Select
      Selection.Copy
      Sheets("Liste Personne dispo").Activate
      Rows("2:2").Select
      Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
      ActiveSheet.Paste
      Else
      Selection.Offset(0, -1).Select
      End If
      Sheets("Planning conges à remplir").Activate
      Selection.Offset(1, 1).Select
      Loop
      End Sub


      Par contre, tu verras qu'il plante mais là je ne peux rien y faire. En effet, des noms présents sur la feuille des disponibilités sont absents de la feuille des compétences. D'où le blocage pour réunir les informations.
      0
    2. Fallona Messages postés 12 Statut Membre
       
      d'accord merci beaucoup de ton aide.
      0
    3. Ant049 Messages postés 157 Statut Membre 22
       
      Si cela fonctionne lorsque les noms sont mis partout, merci de mettre résolu à ce topic.

      Bonne continuation
      0