Private Sub Bok_Click()
Dim Nom$, L%, DateRecente, LigneRef%
DateRecente = -1
Nom = UserForm1.ComboBox1
Application.ScreenUpdating = False
For L = 3 To Range("E65500").End(xlUp).Row
If Cells(L, "E") = Nom And Cells(L, "G") > DateRecente Then
DateRecente = Cells(L, "G")
LigneRef = L
End If
Next L
Range(Cells(LigneRef, "E"), Cells(LigneRef, "H")).Select
Unload UserForm1
End Sub
C'est un euphémisme.je n'ai pas réussi à être suffisamment clair dans mon énoncé...
J'ai opté par sélectionner la ligne concernée, et stocker le résultat dans la feuille Résultat en dernière ligne.ce résultat que j'afficherai dans un autre onglet ( ligne 20 )
et
le résultat aille s'afficher en dernière ligne du tableau (E23;H28) ( ligne 37 )
Private Sub Bok_Click()
Dim Nom$, L%, DateRecente, LigneRef%, Tdate(12), Année, Mois, DatePrévue, DateRetenue
Année = Year(Now)
DateRecente = -1
Nom = UserForm1.ComboBox1
Application.ScreenUpdating = False
For L = 3 To Range("E65500").End(xlUp).Row
If Cells(L, "E") = Nom Then
' Construction de la date prévue avec mois colonne F, année en cours et dernier jour du mois.
Mois = Application.Match(Cells(L, "F"), [TabMois], 0)
DatePrévue = CDate(Application.EDate(CDate("01/" & Mois & "/" & Year(Now)), 1) - 1)
' On retient la date la plus récente entre Prévue et Réalisée
If Cells(L, "G") < DatePrévue Then DateRetenue = DatePrévue Else DateRetenue = Cells(L, "G")
' Si la plus récente, on mémorise
If DateRetenue > DateRecente Then
DateRecente = Cells(L, "G")
LigneRef = L
End If
End If
Next L
Application.ScreenUpdating = False
' On range le résultat dans la feuille Résultat
Range(Cells(LigneRef, "E"), Cells(LigneRef, "H")).Select
With Sheets("Résultat")
DLR = .Range("A65500").End(xlUp).Row + 1
.Range("A" & DLR & ":D" & DLR) = Range("E" & LigneRef & ":H" & LigneRef).Value ' Copier Coller valeurs
End With
Unload UserForm1
End Sub
Sylvanu , |
Tout d'abord chapeau bas pour le dernier envoi qui est top ! |
Correspond à 100% désormais à mon attente. |
Vos explications aussi me servent à mieux comprendre ce qui reste encore pour moi du charabia ! |
Je suis admiratif ! |
Au vu de la complexité, on ne peut que s'en inspirer, pas l'utiliser in extenso.en y rajoutant le précédent codage que vous m'avez envoyé.
Sylvanu,Re,
Qu'en est il de la PJ #7 ?
Fonctionne t-elle ?
Avant d'aller éventuellement plus loin, statuons au moins sur cette PJ.
A partir des listes déroulantes de choix Nom; Mois ; Evaluation , | ||
calculer et afficher pour chaque Titre (Titre1.1, Titre1.2,etc...) , le nombre de Dates Prévues ,Dates réalisées et le % Dates réalisées/Dates Prévues ? Dans la liste déroulante Nom , il faut pouvoir choisir "tous" , idem pour la liste déroulante mois. Pour la liste déroulante Evaluation, seul un choix sera proposé (A ou NA ou ECA)
|
Prévu:
=NB.SI.ENS(Source!A:A;$D$1;Source!D:D;$D$2;Source!C:C;$A5)
Prévu ET réalisé :
=NB.SI.ENS(Source!A:A;$D$1;Source!D:D;$D$2;Source!C:C;$A5;Source!E:E;"<>")
% réalisé :
(Prévu ET réalisé)/Prévu
Nous sommes bénévoles, et XLD a pour vocation d'aider. Là vous me demandez de tout faire.Quand à la synthèse, je vous laisse faire, c'est la même macro que sur la feuille PIAF mais il faut tout reconstruire, et je n'en ai pas le courage.