Besoin aide macro excel

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

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    1. 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
      0
    2. Bikepro Messages postés 9 Statut Membre
       
      Merci cela marche très bien
      0
  2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    0
    1. Bikepro Messages postés 9 Statut Membre
       
      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
  3. Bikepro Messages postés 9 Statut Membre
     
    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
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
      1. Bikepro Messages postés 9 Statut Membre > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         
        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
      2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Bikepro Messages postés 9 Statut Membre
         
        Bonjour,

        Ok, je vous fais un exemple. Quel Excel avez-vous ?
        0
  4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    1. Bikepro Messages postés 9 Statut Membre
       
      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
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Bikepro Messages postés 9 Statut Membre
         
        Re,

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