Faire une recherche d'une même valeur dans liste par rapport à un textBox

Signaler
Messages postés
10
Date d'inscription
jeudi 12 mai 2011
Statut
Membre
Dernière intervention
5 juin 2011
-
Messages postés
10
Date d'inscription
jeudi 12 mai 2011
Statut
Membre
Dernière intervention
5 juin 2011
-
Bonjour,

Je recherche comment je peux écrire en VBA Excel 2010 la condition suivante.
Explication, j'ai deux feuilles excel, Sur les feuilles il y a différentes informations sauf une colonne qui est "NOM et PRÉNOM".
J'ai créé des UserForm, pour rentrer les informations sur les deux feuilles, c'est pas là le problème.
En quelque sort sur feuil1 = Numéro contrat date ...etc.
Feuil2 = Information du client donc adresse numéro Tel ...etc.
J'ai commencé à faire un UserForm pour faire une recherche information client donc la feuil2 dans cette UserForm j'ai mis un bouton supprimer un Client, c'est là qui me manque la solution.
Car je veux empêcher la supprimer un contact s'il y a un contrat dans la feuil1.
Soit exemple: Si Mr Dupond Patrick de la feuil2 est dans la liste feuil1, j'ouvre un MsgBox.
Si Mr Dupond Patrick ne figure pas dans la liste feuil1 je peux supprimer le contact.

J'espère que mon explication n'est pas trop dure à comprendre.

Merci d'avance.

3 réponses

Messages postés
10
Date d'inscription
jeudi 12 mai 2011
Statut
Membre
Dernière intervention
5 juin 2011

Voici déjà mon code du bouton Supprimer contact.

Private Sub BT_SUPCONTACT_Click()
Dim Rep As Integer
Dim in_c As Integer

Rep = MsgBox("Etes vous sûre de vouloir supprimer le contact ?", vbYesNo + vbQuestion, "Confirmation de supprimer contact")
If Rep = vbYes Then
' ici le traitement si réponse positive

ind_c = BOITE_RECH.LB_CONTACT.ListIndex + 2
Sheets("INFO CONTACT").Select
Cells(ind_c, 2).Select
Selection.EntireRow.Delete


BOITE_RECH.LB_CONTACT.Clear
BOITE_RECH.TXT_MR.Value = ""
BOITE_RECH.TXT_NOM.Value = ""
BOITE_RECH.TXT_RUE.Value = ""
BOITE_RECH.TXT_VILLE.Value = ""
BOITE_RECH.TXT_TEL.Value = ""
BOITE_RECH.TXT_POR.Value = ""
BOITE_RECH.TXT_FAX.Value = ""
BOITE_RECH.TXT_MAIL.Value = ""

Sheets("INFO CONTACT").Select
IND_CONTACT = 2
Do While (Cells(IND_CONTACT, 2) <> "")
BOITE_RECH.LB_CONTACT.AddItem Cells(IND_CONTACT, 2).Value
IND_CONTACT = IND_CONTACT + 1
Loop

Else
' ici le traitement si réponse négative
End If

BOITE_RECH.BT_SUPCONTACT.Enabled = False

End Sub
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut

Pas clair
"il y a différentes informations sauf une colonne qui est "NOM et PRÉNOM""
Pas facile à comprendre si tu commences par nous dire ce qu'il n'y a pas.

"Si Mr Dupond Patrick de la feuil2 est dans la liste feuil1"
Comment pourrait-il y être puisque tu nous a dit que les infos clients sont sur la feuille 2.

Revois tes explications.
On ne peut pas t'aider si on n'a pas d'information précises et fiables.

Si tu veux vérifier qu'un texte se trouve dans ta feuille 2, suffit de faire une recherche. Le résultat de cette recherche te dira s'il faut que tu fasses apparaitre une MsgBox ou pas.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
10
Date d'inscription
jeudi 12 mai 2011
Statut
Membre
Dernière intervention
5 juin 2011

Je vais essayer d'être plus claire ce n'est pas facile vu qu'on ne peut pas mettre de photo.

1 ouverture UserForm (appelé BOITE_RECH)
2 Chargement Liste de Nom et Prénom de la (feuil2 Appelé INFO CONTACT).
3 La liste de la feuil2 va dans une (ListBox1 appelé LB_CONTACT
Qui devient:
Sheets("INFO CONTACT").Select
BOITE_RECH.LB_CONTACT.AddItem Cells(IND_CONTACT, 2).Value
4 Je choisi un Nom dans la liste du ListBox1 "LB_CONTACT"
5 Après la sélection il va chercher les informations de ce Nom dans la feuil2 "INFO_CONTACT" en plus j'ai remis un (TextBox appelé TXT_NOM) qui rajoute le même Nom/Prénom du ListBox "LB_CONTACT"

J'ai rajouté un bouton Supprimer Contact, vu que j'ai emplacement des données sur la Feuil2 "INFO CONTACT"
Car j'ai l'information LB_CONTACT.ListIndex
Pour supprimer un contact de la feuil2 "INFO CONTACT" OK, mais ce que je veux ajouter c'est Interdire la suppression du contact si il y a le même Nom/Prénom sur l'autre feuille donc fuil1 appelé MAQUETTE

Ce que je n'arrive pas à faire c'est une lecture boucle dans la feuil1 MAQUETTE pour rechercher si il y a le même Nom que le TextBox "TXT_NOM"
Si il trouve le même Nom/Prénom avertir MsgBox un exemple qu'il est dans la feuille MAQUETTE et pas le supprimer.

Je tiens à préciser quand on rentre une nouvelle données, j'envoie le Nom et prénom dans la feuil1 "MAQUETTE" et la feuil2 "INFO CONTACT"

Peut-être plus claire maintenant.