• Initiateur de la discussion Initiateur de la discussion Maverick
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Maverick

Guest
Bonsoir à tous, j'ai un problème sur excell.
Je crée un petit programme de gestion.
Dans un formulaire, il faut mettre dans une textbox un nom de client.
(jusque là tous va bien).
Dans une feuille nommé N_client j'ai crée la liste de mes clients dans la colonne A (elle va de A2 à A100)
Le problème et le suivant:
Lors que je valide la donnée saisie dans mon formulaire (ex: TOTO),je veux créer un système me permettant de rechercher la donnée (TOTO) dans le formulaire N_Client.

Si le client existe, je renvois un message A (OK....) si il n'existe pas un message B (Inexistant....)


Or je n'arrive pas à faire la recherche rapidement, en evitant de comparer mon contenu au 99 cellules contenant les noms de clients.



Pouvez vous m'aider Merci =🙂
 
Bonjour Maverick,

Une solution pourrait être la suivante:
tu réserves les celleule B1 et C1 (si elle sont déjà occupées tu en choisis d'autres et tu adaptes le code ci-après). dans la cellule C1 tu mets la formule "=RECHERCHEV(B1;A2:B5;2;0)"

Sub essai()
Range("b1").Value = textbox1.value
If IsError(Range("c1").Value) Then GoTo ligneerreur
x = MsgBox("message A", vbOKOnly, "titre de la boîte de message")
Exit Sub
ligneerreur:
x = MsgBox("message B", vbOKOnly, "titre de la boîte de message")
End Sub

essaie et dis moi si ça marche

Bonne journée
 
Bonjour Maverick et tous les amis du FORUM
une solution à ton PB

*******************************************************

Private Sub CommandButton1_Click()
Dim transfert As String
Dim c As Range
Dim autre


transfert = UserForm1.TextBox1
If UserForm1.TextBox1 = "" Then
MsgBox "VEUILLEZ INDIQUER UN NOM!.", vbCritical, Title:="ERREUR DE SAISIE"
Exit Sub
End If
On Error GoTo autre
Set c = Sheets("Feuil1").Range("A2:A100").Find(What:=transfert, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
c.Select


MsgBox "LE NOM : " & transfert & " A ETE TROUVE"

Exit Sub
Autre:
MsgBox "LE NOM: " & transfert & " N'A PAS ETE TROUVE"


Unload UserForm1

End Sub

***********************************************

J'espère que celà t'aidera.

Amitiés à tous

Jacques de ryes
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
389
Retour