Rechercher des valeurs
hamzy
Messages postés
17
Statut
Membre
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Merci les gars pours vos reponses mais j'ai un autre soucis.
j'ai un userform avec les champs matricule, nom, prenom, date d'embauche, fonction, service, responsable de service et une base de données (feuille excel) qui contient toutes les données saisies à partir du userfom.
les valeurs des champs sont rangés sur la feuille ligne par ligne.
j'aimerais pouvoir rechercher mes données saisies à partir du champ matricule ou nom.
à chaque matricule ou nom entrer, la macro va rechercher sur la feuille excel si le matricule ou le nom existe et renvoi les valeurs trouvées de la ligne correspondante dans les champs du userform nom, prenom, date d'embauche, fonction, service, responsable de service.
lorsque le nom ou le matricule entré n'est pas retrouvé, il affiche une message du genre "recherche infructueuse".
Merci de votre attention.
j'ai un userform avec les champs matricule, nom, prenom, date d'embauche, fonction, service, responsable de service et une base de données (feuille excel) qui contient toutes les données saisies à partir du userfom.
les valeurs des champs sont rangés sur la feuille ligne par ligne.
j'aimerais pouvoir rechercher mes données saisies à partir du champ matricule ou nom.
à chaque matricule ou nom entrer, la macro va rechercher sur la feuille excel si le matricule ou le nom existe et renvoi les valeurs trouvées de la ligne correspondante dans les champs du userform nom, prenom, date d'embauche, fonction, service, responsable de service.
lorsque le nom ou le matricule entré n'est pas retrouvé, il affiche une message du genre "recherche infructueuse".
Merci de votre attention.
A voir également:
- Rechercher des valeurs
- Rechercher ou entrer l'adresse - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Rechercher image - Guide
- Rechercher une chanson - Guide
- Rechercher remplacer word - Guide
7 réponses
Re-
Alors pour chercher, dans la colonne A de la feuille "base", la valeur contenue dans le textbox1 (matricule) voici le code (et mes sources) :
sources, merci une nouvelle fois à Michel_m : https://forums.commentcamarche.net/forum/affich-15642764-programme-parcourir-plusieurs-tableaux-ecel
Bien sur à adapter (modifier les lignes en gras...)
Alors pour chercher, dans la colonne A de la feuille "base", la valeur contenue dans le textbox1 (matricule) voici le code (et mes sources) :
sources, merci une nouvelle fois à Michel_m : https://forums.commentcamarche.net/forum/affich-15642764-programme-parcourir-plusieurs-tableaux-ecel
Private Sub CommandButton1_Click()
Dim lignecherchee As Long
Dim valeur
valeur = TextBox1
If Application.CountIf(Sheets("base").Columns(1), valeur) > 0 Then 'test si le matricule a déjà été saisi
lignecherchee = Sheets("base").Columns(1).Find(valeur, Range("A2"), xlValues).Row 'renvoie la ligne correspondante au matricule
TextBox2.Value = Range("D" & lignecherchee) 'renvoie dans le Textbox2 (nom) la valeur contenue dans la colonne D
TextBox3.Value = Range("E" & lignecherchee)
TextBox4.Value = Range("F" & lignecherchee)
ComboBox1.Value = Range("G" & lignecherchee)
Else
MsgBox ("recherche infructueuse") 'si la valeur cherchée n'existe pas
End If
End Sub
Bien sur à adapter (modifier les lignes en gras...)
Salut,
Mais c'est qu'il réclame en plus?
je plaisante car:
Oups j'avais omis ce détail...
Alors cette macro est à adapter bien sur...
Descriptif en commentaires.
dans cette macro :
TextBox1 = textBox "matricule"
TextBox2 = TextBox "nom"
Combobox1 = rien du tout c'est juste pour te montrer que cela fonctionne identiquement pour tous les contrôles...
Sheets("base") = feuille contenant ta base de données
Columns(1) : le 1 représente le N° de la colonne ou sont "rangés" les N° de matricule
Columns(4) : le 4 représente le N° de la colonne ou sont "rangés" les noms
Mais c'est qu'il réclame en plus?
je plaisante car:
Oups j'avais omis ce détail...
Alors cette macro est à adapter bien sur...
Descriptif en commentaires.
Private Sub CommandButton1_Click()
Dim lignecherchee As Long
Dim valeur
If TextBox1 <> "" Then 'si le matricule est entré dans le 1er TextBox on exécute la recherche du matricule
valeur = TextBox1
If Application.CountIf(Sheets("base").Columns(1), valeur) > 0 Then
lignecherchee = Sheets("base").Columns(1).Find(valeur, Range("A2"), xlValues).Row
TextBox2.Value = Range("D" & lignecherchee)
ComboBox1.Value = Range("F" & lignecherchee)
Else
MsgBox ("l'entrée recherchée n'existe pas")
End If
Elseif TextBox2 <> "" Then 'sinon si le nom est entré et pas le N° de matricule, on cherche par le nom
valeur = UCase(TextBox2)
If Application.CountIf(Sheets("base").Columns(4), valeur) > 0 Then
lignecherchee = Sheets("base").Columns(4).Find(valeur, Range("D2"), xlValues).Row
TextBox1.Value = Range("A" & lignecherchee)
ComboBox1.Value = Range("F" & lignecherchee)
Else
MsgBox ("l'entrée recherchée n'existe pas")
End If
End If
End Sub
dans cette macro :
TextBox1 = textBox "matricule"
TextBox2 = TextBox "nom"
Combobox1 = rien du tout c'est juste pour te montrer que cela fonctionne identiquement pour tous les contrôles...
Sheets("base") = feuille contenant ta base de données
Columns(1) : le 1 représente le N° de la colonne ou sont "rangés" les N° de matricule
Columns(4) : le 4 représente le N° de la colonne ou sont "rangés" les noms
j'ai testé la recherche par le nom (en adaptant le code) mais elle ne me donne aucun resultat même si le nom existe dans la base.
je crois que c'est en rapport avec cette ligne de code :
"If Application.CountIf(Sheets("base").Columns(4), valeur) > 0".
En plus, j'ai un dossier contenant toutes les photos des agents contenus dans ma base de données excel, j'aimerais pouvoir afficher dans un contrôle image la photo de chaque agent trouvée.
Merci d'avance t'es un mec bien.
je crois que c'est en rapport avec cette ligne de code :
"If Application.CountIf(Sheets("base").Columns(4), valeur) > 0".
En plus, j'ai un dossier contenant toutes les photos des agents contenus dans ma base de données excel, j'aimerais pouvoir afficher dans un contrôle image la photo de chaque agent trouvée.
Merci d'avance t'es un mec bien.
Je ne crois pas que cela vienne de cette ligne mais plutôt de celle ci :
UCase mets le nom contenu dans le TextBox en majuscules. Si ta base est bien remplie, les noms devraient être en majuscule...
Pour les images, tu peux toujours tenté de t'inspirer de cela : ici sources: https://silkyroad.developpez.com/VBA/XlOrganigramme/
Mais accroche toi car là c'est de la haute voltige...
valeur = UCase(TextBox2)
UCase mets le nom contenu dans le TextBox en majuscules. Si ta base est bien remplie, les noms devraient être en majuscule...
Pour les images, tu peux toujours tenté de t'inspirer de cela : ici sources: https://silkyroad.developpez.com/VBA/XlOrganigramme/
Mais accroche toi car là c'est de la haute voltige...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
concernant le code pour convertir le nom en majuscule j'ai pas de soucis avec.
le probleme avec ce code c'est que la recherche ne me renvoi aucune valeur, il ne retrouve aucun nom saisie. pourtant ces noms existe vraiment dans ma base.
le probleme avec ce code c'est que la recherche ne me renvoi aucune valeur, il ne retrouve aucun nom saisie. pourtant ces noms existe vraiment dans ma base.
'Lut,
Dans quelle colonne sont tes noms?
Dans l'exemple je suppute qu'ils sont colonne D, à adapter à ton cas :
Dans quelle colonne sont tes noms?
Dans l'exemple je suppute qu'ils sont colonne D, à adapter à ton cas :
Elseif TextBox2 <> "" Then
valeur = UCase(TextBox2)
If Application.CountIf(Sheets("base").Columns(4), valeur) > 0 Then
lignecherchee = Sheets("base").Columns(4).Find(valeur, Range("D2"), xlValues).Row
bonjour
pijaku, concernant ton post 5 sur l'inclusion de photos
c'est hard pour un organigramme mais pour inclure dans un usf c'est facile (il faut que toutes les photos soient du m^me format)
tite demo
https://www.cjoint.com/?mtlt6ANizY
pijaku, concernant ton post 5 sur l'inclusion de photos
c'est hard pour un organigramme mais pour inclure dans un usf c'est facile (il faut que toutes les photos soient du m^me format)
tite demo
https://www.cjoint.com/?mtlt6ANizY