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
A voir également:
- Besoin aide macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
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"):
une autre facon de faire si "y" et "Y" sans modifier la colonne
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 colonne
Sub 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
Bikepro
Messages postés
9
Statut
Membre
Merci je vais essayer et vous revient. Encore merci de votre aide c'est vraiment apprécié. Bonne journée
Bikepro
Messages postés
9
Statut
Membre
Merci cela marche très bien
Bonjour,
Pourquoi dupliquer ta demande ?
https://forums.commentcamarche.net/forum/affich-34278901-macro-excel
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.