Useform fonction Modifier/Recherche avec 2 critères
nolld
-
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 -
Bonjour,
Je travail actuellement sur un fichier Excel qui me permettrait de rentrer les heures postés des salariés d'une entreprise. J'ai donc une base et un formulaire. Cependant je souhaite créer un bouton de modification afin de permettre à l'utilisateur de modifier des données via ce bouton plutôt que d'aller dans la base.
.
Voici mon fichier : http://cjoint.com/?3ADjPabyYV6
Actuellement, j'ai réussi à créer deux userforms, l'un me permettant de rentrer les données que je souhaite rechercher puis lorsque celles-ci sont validée, le deuxième userform affiche les données trouvées dans la base.
.
Pour le moment je n'ai réussi qu'à transférer les deux données de recherche d'un userform à l'autre. Cependant, j'ai eu beau essayer d'intégrer une fonction de recherche, je n'y suis pas arrivée. J'avais utilisée une fonction If sous différents angles néanmoins celle-ci ne marchait pas.
.
Si vous pouviez m'indiquer quel peut être le code adéquat, je vous en remercie d'avance.
Je travail actuellement sur un fichier Excel qui me permettrait de rentrer les heures postés des salariés d'une entreprise. J'ai donc une base et un formulaire. Cependant je souhaite créer un bouton de modification afin de permettre à l'utilisateur de modifier des données via ce bouton plutôt que d'aller dans la base.
.
Voici mon fichier : http://cjoint.com/?3ADjPabyYV6
Actuellement, j'ai réussi à créer deux userforms, l'un me permettant de rentrer les données que je souhaite rechercher puis lorsque celles-ci sont validée, le deuxième userform affiche les données trouvées dans la base.
.
Pour le moment je n'ai réussi qu'à transférer les deux données de recherche d'un userform à l'autre. Cependant, j'ai eu beau essayer d'intégrer une fonction de recherche, je n'y suis pas arrivée. J'avais utilisée une fonction If sous différents angles néanmoins celle-ci ne marchait pas.
.
Si vous pouviez m'indiquer quel peut être le code adéquat, je vous en remercie d'avance.
A voir également:
- Useform fonction Modifier/Recherche avec 2 critères
- Modifier dns - Guide
- Fonction si et - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Modifier liste déroulante excel - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
1 réponse
Pour faire suite à mon message,
J'ai rentré cette formule qui me permet d'afficher les données en fonction du nom.
.
Cependant, j'ai voulu rajouter un second critère en inscrivant ainsi :
Mais les données ne sont plus affichées.
J'ai rentré cette formule qui me permet d'afficher les données en fonction du nom.
For d = 4 To 20000
If ComboBox1 = Sheets("Base de données").Cells(d, 1) Then
TextBox2 = Sheets("Base de données").Cells(d, 3).Value
TextBox3 = Sheets("Base de données").Cells(d, 4).Value
TextBox4 = Sheets("Base de données").Cells(d, 5).Value
TextBox5 = Sheets("Base de données").Cells(d, 6).Value
TextBox6 = Sheets("Base de données").Cells(d, 7).Value
TextBox7 = Sheets("Base de données").Cells(d, 8).Value
ComboBox2 = Sheets("Base de données").Cells(d, 9).Value
ComboBox3 = Sheets("Base de données").Cells(d, 10).Value
End If
Next d
.
Cependant, j'ai voulu rajouter un second critère en inscrivant ainsi :
If ComboBox1 = Sheets("Base de données").Cells(d, 1) And _
TextBox1.Value = Sheets("Base de données").Cells(d, 2) Then
Mais les données ne sont plus affichées.
Un exemple, tiré de l'aide en ligne crocrosoft, qui :
Dans la feuille 1, plage A1:A500
Cherche la valeur 2
Si elle l'a trouve et que la cellule voisine = z
te dis à qu'elle ligne elle le trouve
Sinon, recherche après la valeur 2 en boucle :
'Déclaration des variables Dim Trouve As Range, firstaddress As String 'Dans la feuille 1, plage A1:A500 With Worksheets(1).Range("A1:A500") Set Trouve = .Find(2, LookIn:=xlValues, lookat:=xlWhole) If Not Trouve Is Nothing Then firstaddress = Trouve.Address If Trouve.Offset(0, 1) = "z" Then MsgBox "trouvé à la ligne " & Trouve.Row Else Do Set Trouve = .FindNext(Trouve) If Trouve.Offset(0, 1) = "z" Then MsgBox "trouvé à la ligne " & Trouve.Row Exit Do End If Loop While Not Trouve Is Nothing And Trouve.Address <> firstaddress End If End If End With