Chercher le numéro de la ligne correspondant au textbox [Résolu/Fermé]

Signaler
Messages postés
47
Date d'inscription
vendredi 4 avril 2014
Statut
Membre
Dernière intervention
23 décembre 2018
-
Messages postés
47
Date d'inscription
vendredi 4 avril 2014
Statut
Membre
Dernière intervention
23 décembre 2018
-
Bonjour,
J'ai vraiment besoin de votre aide.
déjà formuler le titre n'était pas évident.

J'ai une base de données de participants (Feuil2)
Avec un No dossier (Colonne A)
Le Nom (Colonne B)
Le Prénom (Colonne C)

Sur la Feuil1 j'ai mis un Bouton "Cliquer ici"
Celui-ci ouvre un UserForm (UserForm1):
Dans TextBox1 on inscrit le no dossier du participant
Puis en Cliquant sur Rechercher les infos
Avec méthode Find
si no dossier n'a aucune correspondance dans la Colonne A de la Feuil2;
MsgBox "Aucune Correspondance...."

Else;

UserForm2.Show

Nom :
Me.TextBox2 = Sheets("Feuil2").Range("B" & ?)

Prénom :
Me.TextBox3 = Sheets("Feuil2").Range("C" & ?)

??? C'est ici que ça se complique je veux rappeler les infos inscrite dans Feuil2 du no dossier inscrit

Pas facile à expliquer,
j'espère que je suis claire!

Voici le fichier (pour le test No Dossier = 1234)

http://www.cjoint.com/c/FCFeKbcLqQl

Merci d'avance de votre attention,
Et si vous pouvez m'aider, j'apprécierais énormément.
Mes cheveux aussi, car je suis sur le point de me les arracher !!!

4 réponses

Messages postés
16209
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
17 septembre 2020
3 031
Bonjour

modifs apportés:
dans module1
Public Lig As Integer
Sub Inscription()
UserForm1.Show
End Sub


dans l'userform1
Private Sub CommandButton1_Click()
'déclaration des variables :
Dim Valeur_Cherchee As String, Rep As Byte

'on cherche le No Dossier
Valeur_Cherchee = TextBox1.Value

'traitement de l'erreur possible : Si on ne trouve rien :
On Error GoTo faux

'méthode find, ici on cherche la ligne de valeur exacte (LookAt:=xlWhole)
With Sheets(2)
Lig = .Columns("A").Find(What:=Valeur_Cherchee, after:=.Range("A1"), LookAt:=xlWhole).Row
End With
Unload UserForm1
UserForm2.Show
Exit Sub

'gestionnaire erreur
faux:
Rep = MsgBox(Valeur_cherchée & " n'existe pas dans les numéros de dossier !, recommencer ?", vbYesNo)
Unload UserForm1
If Rep = vbYes Then UserForm1.Show
End Sub


Pas de modifs dans Usf2 :o)

le classeur
http://www.cjoint.com/c/FCFgR5TaATt

 Michel
Messages postés
16209
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
17 septembre 2020
3 031
Messages postés
47
Date d'inscription
vendredi 4 avril 2014
Statut
Membre
Dernière intervention
23 décembre 2018
1
Un gros gros merci,

Tu peux pas savoir l'énorme poids que tu viens de m'enlever.

Si tu veux encore discuté, j'aimerais savoir si j'ai bien compris le principe?

La méthode Find par défaut nous donne la valeur cherchée mais en ajoutant .Row

c'est ça qui nous donne le no ligne?

En plus ton ajout au niveau du 'gestionnaire erreur
me plaît énormément c'est super

Encore merci et encore désolé pour le malentendu
Messages postés
16209
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
17 septembre 2020
3 031
Bonjour,

La méthode Find par défaut nous donne la valeur cherchée mais en ajoutant .Row

Oui
il y a aussi Column pour la colonne ; Address pour l'adresse...

ton ajout au niveau du 'gestionnaire erreur

ce n'est pas "mon" ajout,c'est une règle classique en VBA , il est vrai, peu utilisée
Messages postés
47
Date d'inscription
vendredi 4 avril 2014
Statut
Membre
Dernière intervention
23 décembre 2018
1
Merci pour l'info.

Merci pour tout!