Copier coller lignes à un endroit précis [Résolu/Fermé]

Signaler
-
Messages postés
154
Date d'inscription
jeudi 4 août 2016
Statut
Membre
Dernière intervention
9 septembre 2016
-
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

Mon problème est sur la 4eme feuille, faute de frappe pardon.
Messages postés
154
Date d'inscription
jeudi 4 août 2016
Statut
Membre
Dernière intervention
9 septembre 2016
21
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
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 ?
Messages postés
154
Date d'inscription
jeudi 4 août 2016
Statut
Membre
Dernière intervention
9 septembre 2016
21
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
Toujours pas, si je t'envoie le fichier tu peux me dire si mon adaptation est bonne ?
Messages postés
154
Date d'inscription
jeudi 4 août 2016
Statut
Membre
Dernière intervention
9 septembre 2016
21
Oui
>
Messages postés
154
Date d'inscription
jeudi 4 août 2016
Statut
Membre
Dernière intervention
9 septembre 2016

Aprés une dernière modif de ma part ... tout a planté, je relance est t'envoie le fichier
Messages postés
12
Date d'inscription
vendredi 5 août 2016
Statut
Membre
Dernière intervention
12 avril 2017

Je me suis créer un compte.
Je n'arrive pas à ajouter une pièce-jointe à mon message.
Messages postés
154
Date d'inscription
jeudi 4 août 2016
Statut
Membre
Dernière intervention
9 septembre 2016
21
Va sur cjoint.com
Messages postés
12
Date d'inscription
vendredi 5 août 2016
Statut
Membre
Dernière intervention
12 avril 2017

Merci, voici donc le liens:
http://www.cjoint.com/c/FHihUtDmUJo
Messages postés
154
Date d'inscription
jeudi 4 août 2016
Statut
Membre
Dernière intervention
9 septembre 2016
21
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.
Messages postés
12
Date d'inscription
vendredi 5 août 2016
Statut
Membre
Dernière intervention
12 avril 2017

d'accord merci beaucoup de ton aide.
Messages postés
154
Date d'inscription
jeudi 4 août 2016
Statut
Membre
Dernière intervention
9 septembre 2016
21
Si cela fonctionne lorsque les noms sont mis partout, merci de mettre résolu à ce topic.

Bonne continuation