Recherche par Macro VBA

Bonjour à vous tous

Je suis en train d'élaborer un programme pour gérer les achats, et je souhaiterais y insérer une macro VBA de recherche vu que j'ai une liste avec plusieurs fournisseurs très longue, ces fournisseurs proposent les mêmes produits mais pas sous la même référence (Exemple fournisseur A = AA / Fournisseur B = BB etc.)

J'ai déjà réalisé un bout de macro, elle fonctionne mais c'est ma toute première et c'est pas joli joli pour un utilisateur non averti , j'aimerais donc ajouter les fonctionnalités suivantes :

- La macro ne doit s'exécuter que dans la Feuil2 et ne pas afficher un résultat d'une autre feuille comme c'est le cas actuellement (au cas ou plusieurs feuilles sont présentes)

- Après la fermeture de la message box, la cellule qui a été cherchée doit être activée pour que l'on puisse consulter le prix

- Que à la toute fin de la macro la cellule D7 soit effacée pour une nouvelle proposition

Je vous ai mis mon exemple en pièce jointe, il y'a une macro donc il faut l'activer pour qu'elle marche

Je vous remercie d'avance pour votre aide et vos conseils !

Bon courage à vous !

11exemple-1.xlsm (110.47 Ko)

Bonjour,

Une proposition

9exemple-1.xlsm (86.90 Ko)

A+

bonjour,

La même avec une suggestion d'amélioration.

A+

7exemple-1-vg.xlsm (87.77 Ko)

Merci pour ta réponse c'est exactement ce qu'il me fallait.

Ta manière de présenter le tableau des références m'a fait réfléchir et j'ai une autre demande à te faire

Je souhaite savoir s'il est possible que le résultat affiché soit mis en couleur juste pour qu'il soit mieux vu (genre 5 sec)

Si tu n'as pas le temps pour ça c'est pas grave ta participation est déjà énorme, un grand merci à toi

Bonne journée à toi

PS : Je te remet le code que tu as écrit pour que tu gagnes du temps

Option Explicit
Sub Recherche()
Dim MaRecherche
Dim Ws As Worksheet
Dim C As Range
    MaRecherche = Range("D7").Value
    With Worksheets("Feuil2")
        Set C = .Columns("A:Z").Find(What:=MaRecherche, LookIn:=xlValues, LookAt:=xlWhole)
        If Not C Is Nothing Then
            MsgBox "La valeur " & MaRecherche & " a été trouvée dans la feuille """ & _
                .Name & """, " & "cellule " & C.Address & Chr(10)
            .Activate
            C.Resize(1, 2).Select
        Else
            MsgBox "La valeur " & MaRecherche & " n'a pas été trouvée."
        End If
        Worksheets("Feuil1").Range("D7").ClearContents
    End With
End Sub

Une proposition pour mettre en évidence la cellule sélectionnée avec une couleur de remplissage.

Le retrait de la couleur se fait lors de la désactivation de la feuille (retour à la feuil1).

A+

9exemple-1.xlsm (87.36 Ko)

Re

Super merci pour ton aide c'est une fois de plus ce qu'il me fallait merci encore à toi Frangy

Bonne journée à toi

Rechercher des sujets similaires à "recherche macro vba"