Besoin aide macro excel

Fermé
Bikepro Messages postés 9 Date d'inscription lundi 16 janvier 2017 Statut Membre Dernière intervention 18 janvier 2017 - 16 janv. 2017 à 18:17
Bikepro Messages postés 9 Date d'inscription lundi 16 janvier 2017 Statut Membre Dernière intervention 18 janvier 2017 - 18 janv. 2017 à 19:34
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:

4 réponses

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié par f894009 le 17/01/2017 à 10:05
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 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
1
Bikepro Messages postés 9 Date d'inscription lundi 16 janvier 2017 Statut Membre Dernière intervention 18 janvier 2017
17 janv. 2017 à 14:29
Merci je vais essayer et vous revient. Encore merci de votre aide c'est vraiment apprécié. Bonne journée
0
Bikepro Messages postés 9 Date d'inscription lundi 16 janvier 2017 Statut Membre Dernière intervention 18 janvier 2017
18 janv. 2017 à 19:34
Merci cela marche très bien
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
16 janv. 2017 à 18:36
0
Bikepro Messages postés 9 Date d'inscription lundi 16 janvier 2017 Statut Membre Dernière intervention 18 janvier 2017
16 janv. 2017 à 19:12
Parce que je l'ai postée et me suis enregistrée et qu'ensuite je ne voyais plus ma première demande... donc j'ai recommencé
0
Bikepro Messages postés 9 Date d'inscription lundi 16 janvier 2017 Statut Membre Dernière intervention 18 janvier 2017
16 janv. 2017 à 20:05
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.
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié par f894009 le 16/01/2017 à 20:34
Re,

Alors tout faire avec des formules:
colonne A, pour avoir livrables identifiés Y, adaptez ligne et colonne, ici Deliverables avec Y colonne E(5)
=SIERREUR(INDEX(Deliverables!$A2:$G2;EQUIV("y";Deliverables!$E2;0);1);"")
etirez vers le bas
0
Bikepro Messages postés 9 Date d'inscription lundi 16 janvier 2017 Statut Membre Dernière intervention 18 janvier 2017 > f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024
16 janv. 2017 à 21:16
Merci c'est que j'avais mais étant donné que dans l'onglet 1, cela va être un formulaire type, que les personnes n'auront pas le droit de modifier dans sa forme, je cherchais une macro qui fasse la job toute seule. Merci quand même
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709 > Bikepro Messages postés 9 Date d'inscription lundi 16 janvier 2017 Statut Membre Dernière intervention 18 janvier 2017
17 janv. 2017 à 07:46
Bonjour,

Ok, je vous fais un exemple. Quel Excel avez-vous ?
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
16 janv. 2017 à 18:37
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!
-1
Bikepro Messages postés 9 Date d'inscription lundi 16 janvier 2017 Statut Membre Dernière intervention 18 janvier 2017
16 janv. 2017 à 19:14
En fait il n'y a qu'un seul sujet : aller recherche dans l'onglet deliverables les livrables marqués à Y pour remplir la partir concernée dans l'onglet 1.
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709 > Bikepro Messages postés 9 Date d'inscription lundi 16 janvier 2017 Statut Membre Dernière intervention 18 janvier 2017
16 janv. 2017 à 19:34
Re,

Les livrables, c'est une colonne ou plusieurs colonnes d'Infos
0