Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Besoin d'Aide VBA : Message d'alerte (MsgBox) si donnée trouver

Edoliie

XLDnaute Nouveau
Bonjour à tous,
Je chercher depuis un moment de réaliser un code pour avoir un message d'alerte lors d'ajout de nouvelle donnée.

Situation :
Lorsqu'un contrat dépasse une somme, et cette somme doit être celle du vendeur.

Feuille1 / Tableau 1 : Les vendeurs
A
Nom du vendeur
B
Montant Max
VendeurA10 000 €
VendeurB20 000 €

Feuille2 / Tableau 2 : Les contrats
A
N° du contrat (TextBox1)
B
Nom du vendeur (ComboBox2)
C
Montant du contrat (TextBox3)
D
Contre signature
1VendeurA5 000 €Non
2VendeurA15 000 €Oui
3VendeurB15 000 €Non
4VendeurB30 000 €Oui

Lorsque j'ajoute une donnée au Tableau2 un calcul automatique m'informe si oui (le contrat dépasse la somme max, et donc une contre signature du supérieur)

Mais j'aimerai qu'un MsgBox apparaisse lors de l'ajout avec un UserForm

If ( TextBox3 > Recherche ( ComboBox2 ; Feuille1.Tableau1 ; 2 ; Faux) then
MsgBox "Le contrat doit être contre signé"
End If


Soit les codes que j'ai trouvée ne fonctionne pas, soit le message d'affiche tout le temps.
Le but est que le message d'alerte d'affiche si le Montant du contrat est supérieur au Montant Max du vendeur relier au contrat ajouté.
 

Edoliie

XLDnaute Nouveau
Désolé je pensais les avoir ajouter

VB:
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As String, AdresseTrouvee As String

Valeur_Cherchee = TextBox3.Value

Set PlageDeRecherche = Sheets("Feuille1").Range("Tableau1[#all]").Columns(2)
Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)

If Trouve Is Nothing Then
    AdresseTrouvee = Valeur_Cherchee
                                & " n'est pas présent dans "
                                & PlageDeRecherche.Address
Else
    AdresseTrouvee = Trouve.Address
End If
MsgBox "Le contrat doit être contre signé"
 

jmfmarques

XLDnaute Accro
Le code que tu montres ne fait que rechercher la première occurrence de la valeur cherchée.
Alors que tu dis vouloir vérifier que le montant total des sommes/contrats d'un vendeur ne dépasse pas le plafond qui lui est affecté.

L'utilisation de VBA à de telles fins n'est par ailleurs pas nécessaire. une simple formule VBA sur la base de la fonction SOMME.SI de Excel devrait suffire et je t'invite à t'y intéresser.
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…