Visual basic:recherche valeur dans cellule
bill24
Messages postés
398
Date d'inscription
Statut
Membre
Dernière intervention
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaiterais rechercher par le biais de 4 combobox les valeurs des cellules respectivement en colonne A,puis B ,puis C puis D et reporter la valeur de la cellule en E correspond a cette ligne dans un listbox.
En résumé,si valeurcomboBox1 = valeur trouvé dans la colonne A
et si valeurcomboBox2 = valeur trouvé dans la colonne B
et si valeurcomboBox3 = valeur trouvé dans la colonne C
et si valeurcomboBox4 = valeur trouvé dans la colonne D
alors la valeur en colonne E correspond a cette meme ligne = a stocker dans un listbox
C'est pour éviter d'alourdir le programme,surtout qu'il faut répeter manuellement chaque ligne de chaque colonne!:
If Me.Combobox1 = sheets("feuil4").Range ("A1").Value And If Me.Combobox2 = sheets("feuil4").Range ("B1").Value And If Me.Combobox3 = sheets("feuil4").Range ("C1").Value And If Me.Combobox4 = sheets("feuil4").Range ("D1").Value Then
ListBox1.AddItem Sheets ("Feuil4").Range("E1")
Je pensais a une boucle,mais je bloque pour mon application
merci de votre précieuse aide!
Je souhaiterais rechercher par le biais de 4 combobox les valeurs des cellules respectivement en colonne A,puis B ,puis C puis D et reporter la valeur de la cellule en E correspond a cette ligne dans un listbox.
En résumé,si valeurcomboBox1 = valeur trouvé dans la colonne A
et si valeurcomboBox2 = valeur trouvé dans la colonne B
et si valeurcomboBox3 = valeur trouvé dans la colonne C
et si valeurcomboBox4 = valeur trouvé dans la colonne D
alors la valeur en colonne E correspond a cette meme ligne = a stocker dans un listbox
C'est pour éviter d'alourdir le programme,surtout qu'il faut répeter manuellement chaque ligne de chaque colonne!:
If Me.Combobox1 = sheets("feuil4").Range ("A1").Value And If Me.Combobox2 = sheets("feuil4").Range ("B1").Value And If Me.Combobox3 = sheets("feuil4").Range ("C1").Value And If Me.Combobox4 = sheets("feuil4").Range ("D1").Value Then
ListBox1.AddItem Sheets ("Feuil4").Range("E1")
Je pensais a une boucle,mais je bloque pour mon application
merci de votre précieuse aide!
A voir également:
- Visual basic:recherche valeur dans cellule
- Visual basic - Télécharger - Langages
- Visual basic editor - Télécharger - Langages
- Visual petanque - Télécharger - Sport
- Microsoft 365 basic - Accueil - Microsoft Office
- Visual c++ 2019 - Guide
2 réponses
Quel boucle ? sur les combo ?
tu t''adresses toujours à la ligne 1 (A,B1;;;;) ?
merci d'avance d'être précis dans ta demande
tu t''adresses toujours à la ligne 1 (A,B1;;;;) ?
merci d'avance d'être précis dans ta demande
bonjour Michel et merci pour ta réponse.
En fait,je souhaiterais éviter la longue et fastidieuse programmation dans mon userform
Le code suivant fonctionne bien,mais il est trés lourd a gérer,car il faut que je rentre manuellement chaque numéro de ligne(A1,A1,A1,A1,A1 puis A2,B2,C2,D2,E2 etc).
Pour expliquer un peu plus clairement mon application,j'ai crée 2 userforms(on va dire u1 et u2).
dans u1,j'ai mis 4 combobox et un textbox.
chaque valeur rentré dans un combobox est stocké dans une feuil4(en A1,B1,C1 et D1 puis en suivant,A2,B2,C2,D2 etc) avec le code suivant:
Private Sub ComboBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Set ws1 = Worksheets("Feuil4")
derlig = ws1.[A65536].End(xlUp).Row + 1
If derlig < 1 Then derlig = 1
ws1.Cells(derlig, 1).Value = MAJ.ComboBox3.Text
End Sub
Dans l'userform2,j'ai 4 combobox identique,qui vont chercher dans la feuil4 les données saisie dans l'userform1.
Mon idée est de simplifier le programme pour qu'a la condition remplie en A1,B1,C1,D1 avec les 4 combobox, la valeur stockée en E1 apparaisse dans un listbox. (ListBox1.AddItem Sheets ("Feuil4").Range("E1")
Je suis débutant et la je bloque!
si tu peux juste m'aiguiller,je t'en remercie.
En fait,je souhaiterais éviter la longue et fastidieuse programmation dans mon userform
Le code suivant fonctionne bien,mais il est trés lourd a gérer,car il faut que je rentre manuellement chaque numéro de ligne(A1,A1,A1,A1,A1 puis A2,B2,C2,D2,E2 etc).
Pour expliquer un peu plus clairement mon application,j'ai crée 2 userforms(on va dire u1 et u2).
dans u1,j'ai mis 4 combobox et un textbox.
chaque valeur rentré dans un combobox est stocké dans une feuil4(en A1,B1,C1 et D1 puis en suivant,A2,B2,C2,D2 etc) avec le code suivant:
Private Sub ComboBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Set ws1 = Worksheets("Feuil4")
derlig = ws1.[A65536].End(xlUp).Row + 1
If derlig < 1 Then derlig = 1
ws1.Cells(derlig, 1).Value = MAJ.ComboBox3.Text
End Sub
Dans l'userform2,j'ai 4 combobox identique,qui vont chercher dans la feuil4 les données saisie dans l'userform1.
Mon idée est de simplifier le programme pour qu'a la condition remplie en A1,B1,C1,D1 avec les 4 combobox, la valeur stockée en E1 apparaisse dans un listbox. (ListBox1.AddItem Sheets ("Feuil4").Range("E1")
Je suis débutant et la je bloque!
si tu peux juste m'aiguiller,je t'en remercie.
et en suivant : A2+B2+C2+D2 = valeur E2 dans un listbox.
et ainsi de suite.
pour éviter de fastidieux code:
If Me.Combobox1 = sheets("feuil4").Range ("A1").Value And If Me.Combobox2 = sheets("feuil4").Range ("B1").Value And If Me.Combobox3 = sheets("feuil4").Range ("C1").Value And If Me.Combobox2 = sheets("feuil4").Range ("D1").Value Then
ListBox1.AddItem Sheets ("Feuil4").Range("E1")
If Me.Combobox1 = sheets("feuil4").Range ("A2").Value And If Me.Combobox2 = sheets("feuil4").Range ("B2").Value And If Me.Combobox3 = sheets("feuil4").Range ("C2").Value And If Me.Combobox4 = sheets("feuil4").Range ("D2").Value Then
ListBox1.AddItem Sheets ("Feuil4").Range("E2") ........etc
et ainsi de suite.
pour éviter de fastidieux code:
If Me.Combobox1 = sheets("feuil4").Range ("A1").Value And If Me.Combobox2 = sheets("feuil4").Range ("B1").Value And If Me.Combobox3 = sheets("feuil4").Range ("C1").Value And If Me.Combobox2 = sheets("feuil4").Range ("D1").Value Then
ListBox1.AddItem Sheets ("Feuil4").Range("E1")
If Me.Combobox1 = sheets("feuil4").Range ("A2").Value And If Me.Combobox2 = sheets("feuil4").Range ("B2").Value And If Me.Combobox3 = sheets("feuil4").Range ("C2").Value And If Me.Combobox4 = sheets("feuil4").Range ("D2").Value Then
ListBox1.AddItem Sheets ("Feuil4").Range("E2") ........etc
rien-com-pris
Prend du recul avec ton pb, repose le dans ta t^te comme si tu le découvrais puis rédige le en ayant comme principe que ton lecteur n'a que ton texte pour essayer de t'épauler...
(d'ailleurs suivant le vieux proverbe ringard "un pb bien posé est à moitié résolu" tu trouveras a lors peut-être toi-m^me la solution.)
a+
Prend du recul avec ton pb, repose le dans ta t^te comme si tu le découvrais puis rédige le en ayant comme principe que ton lecteur n'a que ton texte pour essayer de t'épauler...
(d'ailleurs suivant le vieux proverbe ringard "un pb bien posé est à moitié résolu" tu trouveras a lors peut-être toi-m^me la solution.)
a+