Besoin aide macro excel
Bikepro
Messages postés
9
Statut
Membre
-
Bikepro Messages postés 9 Statut Membre -
Bikepro Messages postés 9 Statut Membre -
Bonjour, je souhaite utiliser une macro et non un TCD pour faire le travail suivant : je dois faire un statut de projet dont le recap est dans l’onglet 1 et qui va chercher des données des autres onglets selon le sujet traité. Pour la partie livrable, je souhaite faire une macro qui va chercher dans l’onglet Deliverables tous les livrables qui ont Y d’indiqué dans la colonne Critical Path (5ème colonne de l’onglet), qui va afficher le nom du livrable dans mon onglet 1 au niveau de la partie Deliverables qui commence à la ligne 35 de l’onglet 1. La macro doit donc passer au travers du tableau qui est dans l’onglet Deliverables pour que tous les livrables qui ont Y pour Critical Path s’affiche les uns à al suite des autres dans l’onglet 1
4 réponses
-
Bonjour,
Ok. De toute facon la formule, que j'ai donne, ne remplit pas une liste
Une facon de faire si "Y" tous en majuscules(y a moyen de modifier si "Y" et "y"):Sub Copie_Ligne_Infos() Dim derlig As Long, NBY As Long, lig As Long, n As Long, PCV As Long On Error GoTo fin Application.ScreenUpdating = False 'fige ecran With Worksheets("Delivrables") derlig = .Range("A" & Rows.Count).End(xlUp).Row 'derniere cellule non vide colonne A NBY = Application.CountIf(.Range("E2:E" & derlig), "Y") 'nombre de "Y" colonne E If NBY > 0 Then lig = 2 'ligne de depart PCV = Worksheets("feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1 'premiere cellule vide If PCV < 35 Then PCV = 35 'pour la premiere fois 'boucle de balayage colonne E For n = 1 To NBY lig = .Columns(5).Find("Y", .Cells(lig, 5), , xlWhole).Row 'trouve ligne pour "Y" .Rows(lig).Copy Worksheets("feuil1").Range("A" & PCV) 'copy ligne PCV = PCV + 1 'incremente compteur ligne feuil1 Next n End If End With fin: Application.ScreenUpdating = True 'defige ecran End Sub
une autre facon de faire si "y" et "Y" sans modifier la colonneSub Copie_Range_Find() Dim derlig As Long, lig As Long, Critical_Path As Range derlig = Worksheets("Delivrables").Range("A" & Rows.Count).End(xlUp).Row 'derniere cellule non vide colonne A PCV = Worksheets("feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1 'premiere cellule vide If PCV < 35 Then PCV = 35 'pour la premiere fois With Worksheets("Delivrables").Range("E1:E" & derlig) Set Critical_Path = .Find("a", MatchCase:=False, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = Critical_Path.Address Do lig = c.Row Worksheets("Delivrables").Rows(lig).Copy Worksheets("feuil1").Range("A" & PCV) 'copy ligne PCV = PCV + 1 'incremente compteur ligne feuil1 Set c = .FindNext(c) Loop While Not Critical_Path Is Nothing And Critical_Path.Address <> firstAddress End If End With End Sub -
Bonjour,
Pourquoi dupliquer ta demande ?
https://forums.commentcamarche.net/forum/affich-34278901-macro-excel -
Plusieurs colonnes. Ce que je pensais faire était d'abord de pouvoir aller rechercher dans l'onglet deliverables les livrables marqués Y pour remplir la partie concernée dans l'onglet 1, soit le nom du livrable, et ensuite j'aurai ajouté des formules de rechercheV dans l'onglet 1 pour aller rapatrier les autres infos. Tout ce que je souhaite pour le moment est d'avoir une liste des livrables identifiés Y de mon onglet deliverables qui s'affiche dans mon onglet 1. À l'avance merci.
-
Bonjour,
Pour moi, il y a deux sujets:
un statut de projet dont le recap est dans l’onglet 1 et qui va chercher des données des autres onglets
et
tous les livrables qui ont Y pour Critical Path
Ou alors expliquez-vous plus en detail!