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.
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.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.-
Bonjour,
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
-