Renvoi valeur même ligne colonne A si trouve même ligne colo

Bonjour à tous,

Je souhaite bénéficier de vos connaissance

En effet, j'ai un petit fichier ci joint ou je souhaite que lorsque j'ouvre celui-ci, s'il y a un changement dans une quelconque cellule de la colonne D et qu'il trouve la valeur Périmé, qu'il me renvoi dans un bsgbox la valeur trouvé sur la même ligne mais en colonne A

ici exemple :

Dans la colonne D, il trouve Périmé en colonne D et affiche donc dans un msgbox : le contrôle technique du véhicule immatriculé BB562AA est périmé

Je vous remercie d'avance de vos compétences et aides ci précieuses

Cordialement

Bonjour,

Pour ton message de signalisation :

Private Sub Workbook_Open()
    Dim ctp, msg As String, i As Integer
    With Worksheets(1)
        For i = 2 To .Range("A2").End(xlDown).Row
            If .Cells(i, 4) = "Périmé" Then ctp = ctp & ";" & .Cells(i, 1)
        Next i
    End With
    If Not IsEmpty(ctp) Then
        ctp = Split(ctp, ";")
        msg = "Contrôle technique périmé pour "
        msg = msg & IIf(UBound(ctp) > 1, "les véhicules :", "le véhicule :")
        For i = 1 To UBound(ctp)
            msg = msg & Chr(10) & ctp(i)
        Next i
        MsgBox msg, vbInformation, "Signalisation"
    End If
End Sub

A placer dans le module ThisWorkbook.

Il serait bon toutefois aussi de clarifier ton tableau : 4 ans est la date du 1er CT après mise en circulation, les CT sont à opérer ensuite tous les 2 ans...

Et mettre une formule plus adéquate en colonne C :

=MOIS.DECALER(B2;24)-1

ou si calcul de la date de 1er contrôle...

=MOIS.DECALER(B2;48)-1

Ton calcul sur 4 ans n'est juste que par hasard, parce que sur 4 ans il y a une année bissextile de 366 jours, ce qui te retire 1 jour... (attention, 2400 n'est pas bissextile ! )

Et le calcul sur 2 ans serait donc faux une fois sur 2 !

En outre la mention "Ok" ou "Périmé" peut résulter d'une formule !

=SI(AUJOURDHUI()>C2;"Périmé";"Ok")

Cordialement.

Un grand merci à MFerrand

Avec cette macro, mon fichier est complet.

En fait, pour répondre à la question des formules pour afficher « Périmé », j’avais déjà fait ces formules en VBA.

Le fichier que j’avais joint n’était qu'un model pour trouver une solution à ma problématique d’afficher une liste selon une condition trouvée à l’ouverture du Fichier et donc un grand merci à MFerrand.

Le fichier réel n’était donc pas pour des contrôles techniques de véhicules, mais pour une gestion des trousses à pharmacies à bord des véhicules de travail. Je ne voulais pas vous compliquer trop la tâche avec des incompréhensions

J’ai donc maintenant mon fichier complet qui lorsque j’indique la date mise à jour le, indique automatiquement :

La date Échéance arrivant à terme (180 jours) dans la colonne suivante

La date A contrôler avant le : Date échéance arrivant à terme – 7 jours, de façon à ce que ce contrôle soit fait dans cette période

Affiche l’État des trousses selon la formule VBA, soit "A Vérifier", Soit "Périmée", Soit "Ok"

Puis, grâce au code VBA de MFerrand que j’ai modifié, mon fichier affiche à l’ouverture :

La liste des trousses des véhicules qui sont périmées

La liste des trousses des véhicules qui sont à vérifier

Nickel chrome et un grand merci de cette précieuse aide

Je joins mon fichier

Cordialement

Rechercher des sujets similaires à "renvoi valeur meme ligne colonne trouve colo"