Problème de recherche d'une donnée

Bonjour à tous,

J'ai un petit soucis de recherche d'élément.

Je souhaiterais récupérer le nom d'un élément par rapport à un code si et seulement si dans les lignes précédentes il a été renseigné.

Pour que ce soit plus parlant voici le fichier en pièce jointe :

Je voudrai afficher en C13 le projet correspondant au code projet dans la cellule D13 automatiquement, si bien sûr il a été renseigné dans les lignes précédentes s'il ne le trouve pas il me laisse la cellule vide. L'idéal est de trouver une formule allant chercher l'élément s'il a été renseigné précédemment.

Pour information je ne veux pas utiliser de base de donnée dans un autre onglet qu'il faut remplir au fur et à mesure des nouveaux projets.

Ayant beaucoup de projets le but étant de ne pas perdre de temps à rajouter un projet dans une BDD.

Je n'ai pas trouvé la formule pour ça pouvez vous m'aider please.

Un grand merci d'avance ^^

15fichier-test.xlsx (10.02 Ko)

Bonjour,

Une solution ...

Cdlmnt

9fichier-test.xlsx (12.14 Ko)

Bonjour,

Solution automatique :

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim proj$, i%
    If Target.Column = 4 And Target.Row > 2 Then
        If Target = "" Then Target.Offset(, -1).ClearContents: Exit Sub
        proj = Target.Value
        With Me.Columns("D")
            For i = 2 To Target.Row - 1
                If .Cells(i, 1) = proj Then
                    Target.Offset(, -1) = .Cells(i, 0): Exit For
                End If
            Next i
        End With
    End If
End Sub

Code dans le module de la feuille.

Si le code est trouvé dans la colonne au moment où il est tapé, la colonne C est servie. Si tu effaces le code en D, C sera également effacé.

Cordialement.

Salut Djidji !

Merci Djidji pour ta proposition mais je voudrais faire ça avec une formule excel... le but étant de ne pas avoir de plage de donnée mais juste ce tableau en visuel.

Merci Mferrand pour ta proposition mais je ne veux pas passer par des macros...

Avec une formule Excel serait l'idéal...

Bonjour,

une solution un peu tirée par les cheveux, car tu ne peux pas avoir en même temps une valeur et une formule dans la même cellule.

formule à mettre en C13 et à tirer vers le bas, jusqu'à la dernière ligne estimée de ton tableau final.

=SIERREUR(INDEX($C$2:$C12;EQUIV(D13;$D$2:$D12;0));"")

si tu as introduit un code en colonne D et que la colonne C reste à blanc tu devras écraser la formule en colonne C et la remplacer par la valeur correspondant à ce nouveau code que tu viens d'introduire...

Bonjour h2so4,

Un grand merci c'est exactement ce que je voulais ^^

Rechercher des sujets similaires à "probleme recherche donnee"