Recherche plusieurs résultats

Bonsoir à tous,

Pourriez-vous m'aider à améliorer ma macro svp,

je souhaite rechercher la dernière date "case remplie non vide" (en colonne q) de chaque préventifs (en colonne P) de la feuille 1,

et par la suite coller cette date dans la colonne P qui correspond au préventif en colonne L de la feuille 2.

merci d'avance.

PJ mon fichier

7imad-1.xlsm (22.62 Ko)

Bonsoir,

On est 4 à avoir ouvert ton fichier mais comme il n'y a pas eut de réponse avant, je confirme que c'est pas clair.

Pour avoir la dernière case non vide :

Sub exemple()
Dim dern%, ws As Worksheet
Set ws = Sheets("1")
dern = ws.Range("Q1000").End(xlUp).Row
MsgBox dern
End Sub

Cdt

Salut Imad,
Salut Fronck,

double post, Imad !!
Un peu de patience..

Public Function fctDate(ByVal rCel As Range) As String
'
Dim iRow%, iOK%
'
Application.Volatile
Application.ScreenUpdating = False
'
With Worksheets("Feuil1")
    For iRow = .Range("P" & Rows.Count).End(xlUp).Row To 2 Step -1
        If .Range("P" & iRow).Value = rCel.Value And .Range("D" & iRow).Value = "T" And .Range("Q" & iRow) <> "" Then _
            iOK = 1: _
            Exit For
    Next
    fctDate = IIf(iOK = 1, .Range("Q" & iRow).Value, "")
End With
'
Application.ScreenUpdating = True
'
End Function
4imad-1.xlsm (26.60 Ko)


A+

Bsoir Curulis,

Je sais que t'aimes pas répondre à mes questions

mais tu la déclenches comment cette fonction ?

A+

Salut Fronck,

ah, bon ?
C'est une fonction personnalisée, donc, une formule, qui se trouve dans la colonne [P:P] de la 'Feuil2'.
Un changement de valeur quelconque déclenche le recalcul de la fonction.

Formule en 'Feuil2' [P2]

=fctDate($L2)


A+

Re Curulis,

J'ai rien qui change en tapant dans la colonne Q ou il y a T en colonne D.

et cette ligne :

If .Range("P" & iRow).Value = rCel.Value And .Range("D" & iRow).Value = "T" And .Range("Q" & iRow) <> 

rCel.value c'est par rapport à quoi, une fonction ne fonctionne pas seule normalement.

Public Function fctDate(ByVal rCel As Range) As String

Pourquoi on met pas un

Private Sub Worksheet_Change(ByVal Target As Range)

si une explication vocale sur Discord te tente : https://discord.gg/nKBmhRAB

cdt

Bonjour curulis 57,

ça fonctionne à merveille

je te remercie du fond du coeur

passes une excellente journée

A+

Salut Fronck,

- rien ne change ? Enlève "T" dans [D8] ou change la date en [Q8]...
- tu remarques quand même dans l'appel de la fonction qu'il y a une référence entre parenthèse ! =fctDate($L2)
rCel représente la cellule de la colonne [L:L], indispensable au calcul.
- pourquoi une fonction : ben, parce que ça renvoie une valeur comme résultat : ici, une date sous forme de String

Public Function fctDate(ByVal rCel As Range) As String

- tu vois que je te réponds !
- par contre, je ne dispose pas d'un micro sur mon PC...


A+

Salut Curulis,

Merci pour tes réponses.

En fait çà bug à l'entrée sur les liaisons avec un autre fichier que je ne retrouve pas dans vos 2 posts.

2

Même les listes déroulantes en colonne D ne veulent pas s'ouvrir.

Pas grave pour le micro, çà se paye aussi dans l'achat d'un ordi

A+

bonjour Curulis57,

Une petite modification stp,

Je souhaite que cette macro s'exécute avec un bouton et pas après un changement.

est-il possible de m'ajuster cela ?

Rechercher des sujets similaires à "recherche resultats"