Besoin aide macro excel [Fermé]

Signaler
Messages postés
9
Date d'inscription
lundi 16 janvier 2017
Statut
Membre
Dernière intervention
18 janvier 2017
-
Messages postés
9
Date d'inscription
lundi 16 janvier 2017
Statut
Membre
Dernière intervention
18 janvier 2017
-
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

Messages postés
15725
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
11 avril 2021
1 481
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
9
Date d'inscription
lundi 16 janvier 2017
Statut
Membre
Dernière intervention
18 janvier 2017

Merci je vais essayer et vous revient. Encore merci de votre aide c'est vraiment apprécié. Bonne journée
Messages postés
9
Date d'inscription
lundi 16 janvier 2017
Statut
Membre
Dernière intervention
18 janvier 2017

Merci cela marche très bien
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 396
Messages postés
9
Date d'inscription
lundi 16 janvier 2017
Statut
Membre
Dernière intervention
18 janvier 2017

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é
Messages postés
9
Date d'inscription
lundi 16 janvier 2017
Statut
Membre
Dernière intervention
18 janvier 2017

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.
Messages postés
15725
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
11 avril 2021
1 481
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
Messages postés
9
Date d'inscription
lundi 16 janvier 2017
Statut
Membre
Dernière intervention
18 janvier 2017
>
Messages postés
15725
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
11 avril 2021

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
Messages postés
15725
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
11 avril 2021
1 481 >
Messages postés
9
Date d'inscription
lundi 16 janvier 2017
Statut
Membre
Dernière intervention
18 janvier 2017

Bonjour,

Ok, je vous fais un exemple. Quel Excel avez-vous ?
Messages postés
15725
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
11 avril 2021
1 481
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!
Messages postés
9
Date d'inscription
lundi 16 janvier 2017
Statut
Membre
Dernière intervention
18 janvier 2017

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.
Messages postés
15725
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
11 avril 2021
1 481 >
Messages postés
9
Date d'inscription
lundi 16 janvier 2017
Statut
Membre
Dernière intervention
18 janvier 2017

Re,

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