Retourner dans une ListBox en fonction recherches cumulatives
Résolu/Fermé
F60lebaladinverni
Messages postés
126
Date d'inscription
samedi 28 janvier 2017
Statut
Membre
Dernière intervention
7 avril 2023
-
9 janv. 2018 à 16:34
F60lebaladinverni Messages postés 126 Date d'inscription samedi 28 janvier 2017 Statut Membre Dernière intervention 7 avril 2023 - 11 janv. 2018 à 06:36
F60lebaladinverni Messages postés 126 Date d'inscription samedi 28 janvier 2017 Statut Membre Dernière intervention 7 avril 2023 - 11 janv. 2018 à 06:36
A voir également:
- Retourner dans une ListBox en fonction recherches cumulatives
- Retourner ecran windows - Guide
- Fonction si et - Guide
- Comment retourner une video - Guide
- Fonction somme excel - Guide
- Fonction moyenne excel - Guide
2 réponses
Passionofdream
Messages postés
820
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
11 mai 2021
302
9 janv. 2018 à 18:44
9 janv. 2018 à 18:44
Bonsoir,
Effectivement un petit fichier serait le bienvenu et l'envoyer sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples du résultat attendu
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse
tu fais "Coller"
Effectivement un petit fichier serait le bienvenu et l'envoyer sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples du résultat attendu
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse
tu fais "Coller"
F60lebaladinverni
Messages postés
126
Date d'inscription
samedi 28 janvier 2017
Statut
Membre
Dernière intervention
7 avril 2023
2
Modifié le 9 janv. 2018 à 22:23
Modifié le 9 janv. 2018 à 22:23
Bonsoir Passionofdream,
Merci pour ta réponse
Ci-joint un fichier pour illustrer mon cas :
https://www.cjoint.com/c/HAjvnYHK6tG
Je peux combiner les recherches avec les combobox, par contre en rajoutant la checkbox j'ai une erreur
Le critère checkbox correspond à : "sélectionner les lignes surlignées en jaune"
L'erreur provient du sub : unserform_initialize
ligne : "call initcheck(RechercheC3, "B")" => En réalité je ne sais pas quoi écrire ...
Sans cette ligne, le code fonctionne correctement, mais uniquement avec les 2 premiers critères
Merci
Merci pour ta réponse
Ci-joint un fichier pour illustrer mon cas :
https://www.cjoint.com/c/HAjvnYHK6tG
Je peux combiner les recherches avec les combobox, par contre en rajoutant la checkbox j'ai une erreur
Le critère checkbox correspond à : "sélectionner les lignes surlignées en jaune"
L'erreur provient du sub : unserform_initialize
ligne : "call initcheck(RechercheC3, "B")" => En réalité je ne sais pas quoi écrire ...
Sans cette ligne, le code fonctionne correctement, mais uniquement avec les 2 premiers critères
Merci
Passionofdream
Messages postés
820
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
11 mai 2021
302
10 janv. 2018 à 11:29
10 janv. 2018 à 11:29
Si j'ai bien compris tu veux quand tu coches checkbox que les résultats des sélections 1 et 2 apparaissent surlignés en jaune sur la feuille de données.
F60lebaladinverni
Messages postés
126
Date d'inscription
samedi 28 janvier 2017
Statut
Membre
Dernière intervention
7 avril 2023
2
Modifié le 10 janv. 2018 à 12:12
Modifié le 10 janv. 2018 à 12:12
Pas tout à fait..
Je veux, en cochant la checkbox avoir en retour dans ma listbox les lignes du tableau qui sont surlignees en jaune
Je veux, en cochant la checkbox avoir en retour dans ma listbox les lignes du tableau qui sont surlignees en jaune
F60lebaladinverni
Messages postés
126
Date d'inscription
samedi 28 janvier 2017
Statut
Membre
Dernière intervention
7 avril 2023
2
10 janv. 2018 à 20:02
10 janv. 2018 à 20:02
J'AI TROUVE !!!!! :) :) :)
Il suffisait d'enlever "Call" devant l'initialisation de ma checkbox et de dire que c'est égal à ma colonne A par exemple.
Voici le code complet :
Private Sub ListBoxLocataire_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
ligSelect = ListBoxLocataire.Column(7, ListBoxLocataire.ListIndex)
usfAffichage.Show
End Sub
Private Sub RechercheC2_Change()
' Rechercher les données en fonction des critères sélectionnés
Call Rechercher
End Sub
Private Sub UserForm_Initialize()
Range("A2").Select
' Initialiser les listes des critères
Call InitCombo(RechercheC1, "A")
Call InitCombo(RechercheC2, "B")
RechercheC3.Value = Range("A:A").Value
' Rechercher les données en fonction des critères sélectionnés
Call Rechercher
End Sub
Private Sub RechercheC1_Change()
' Rechercher les données en fonction des critères sélectionnés
Call Rechercher
End Sub
Private Sub RechercheC3_Change()
' Rechercher les données en fonction des critères sélectionnés
Call Rechercher
End Sub
Private Sub Rechercher()
' Rechercher les données en fonction des critères 1 et 2
Dim rCel As Range
Dim lgLig As Long
Dim lgLigDeb As Long
Dim Critere1 As String
Dim Critere2 As String
Dim Critere3 As String
Critere1 = "*"
If RechercheC1.Value <> "" Then Critere1 = RechercheC1.Value
Critere2 = "*"
If RechercheC2.Value <> "" Then Critere2 = RechercheC2.Value
Critere3 = "*"
If RechercheC3 = True Then Critere3 = 65535
ListBoxLocataire.Clear
' Boucle de la 2me à la dernière ligne de la feuille Feuil1
For lgLigDeb = 2 To Range("A" & Cells.Rows.Count).End(xlUp).Row
If Range("A" & lgLigDeb).Value Like Critere1 And Range("B" & lgLigDeb).Value Like Critere2 And Range("A" & lgLigDeb).Font.Color Like Critere3 Then
With ListBoxLocataire
.AddItem Range("A" & lgLigDeb).Value
.List(.ListCount - 1, 1) = Range("B" & lgLigDeb).Value
.List(.ListCount - 1, 2) = Range("C" & lgLigDeb).Value
.List(.ListCount - 1, 3) = Range("D" & lgLigDeb).Value
.List(.ListCount - 1, 4) = Range("E" & lgLigDeb).Value
.List(.ListCount - 1, 5) = Range("F" & lgLigDeb).Value
.List(.ListCount - 1, 6) = Range("G" & lgLigDeb).Value
.List(.ListCount - 1, 7) = lgLigDeb
lgLig = lgLig + 1
End With
End If
Next lgLigDeb
End Sub
Private Sub InitCombo(LCombo As Object, nomCol As String)
Dim lig As Long
Dim nbElement As Integer
Dim trouveElm As Boolean
LCombo.Clear
' Boucle de la ligne 2 à la dernière ligne dans la colonne nomCol
For lig = 2 To Range(nomCol & Cells.Rows.Count).End(xlUp).Row
trouveElm = False
' Vérifier que l'élément à ajouter dans la liste n'existe pas déjà
For nbElement = 0 To LCombo.ListCount - 1
' L'élément est déjà présent dans la liste, sortie de la boucle
If LCombo.List(nbElement) = Range(nomCol & lig).Value Then
trouveElm = True
Exit For
End If
Next nbElement
' Elément non trouvé dans la liste, l'ajouter
If trouveElm = False Then LCombo.AddItem Range(nomCol & lig).Value
Next lig
End Sub
Il suffisait d'enlever "Call" devant l'initialisation de ma checkbox et de dire que c'est égal à ma colonne A par exemple.
Voici le code complet :
Private Sub ListBoxLocataire_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
ligSelect = ListBoxLocataire.Column(7, ListBoxLocataire.ListIndex)
usfAffichage.Show
End Sub
Private Sub RechercheC2_Change()
' Rechercher les données en fonction des critères sélectionnés
Call Rechercher
End Sub
Private Sub UserForm_Initialize()
Range("A2").Select
' Initialiser les listes des critères
Call InitCombo(RechercheC1, "A")
Call InitCombo(RechercheC2, "B")
RechercheC3.Value = Range("A:A").Value
' Rechercher les données en fonction des critères sélectionnés
Call Rechercher
End Sub
Private Sub RechercheC1_Change()
' Rechercher les données en fonction des critères sélectionnés
Call Rechercher
End Sub
Private Sub RechercheC3_Change()
' Rechercher les données en fonction des critères sélectionnés
Call Rechercher
End Sub
Private Sub Rechercher()
' Rechercher les données en fonction des critères 1 et 2
Dim rCel As Range
Dim lgLig As Long
Dim lgLigDeb As Long
Dim Critere1 As String
Dim Critere2 As String
Dim Critere3 As String
Critere1 = "*"
If RechercheC1.Value <> "" Then Critere1 = RechercheC1.Value
Critere2 = "*"
If RechercheC2.Value <> "" Then Critere2 = RechercheC2.Value
Critere3 = "*"
If RechercheC3 = True Then Critere3 = 65535
ListBoxLocataire.Clear
' Boucle de la 2me à la dernière ligne de la feuille Feuil1
For lgLigDeb = 2 To Range("A" & Cells.Rows.Count).End(xlUp).Row
If Range("A" & lgLigDeb).Value Like Critere1 And Range("B" & lgLigDeb).Value Like Critere2 And Range("A" & lgLigDeb).Font.Color Like Critere3 Then
With ListBoxLocataire
.AddItem Range("A" & lgLigDeb).Value
.List(.ListCount - 1, 1) = Range("B" & lgLigDeb).Value
.List(.ListCount - 1, 2) = Range("C" & lgLigDeb).Value
.List(.ListCount - 1, 3) = Range("D" & lgLigDeb).Value
.List(.ListCount - 1, 4) = Range("E" & lgLigDeb).Value
.List(.ListCount - 1, 5) = Range("F" & lgLigDeb).Value
.List(.ListCount - 1, 6) = Range("G" & lgLigDeb).Value
.List(.ListCount - 1, 7) = lgLigDeb
lgLig = lgLig + 1
End With
End If
Next lgLigDeb
End Sub
Private Sub InitCombo(LCombo As Object, nomCol As String)
Dim lig As Long
Dim nbElement As Integer
Dim trouveElm As Boolean
LCombo.Clear
' Boucle de la ligne 2 à la dernière ligne dans la colonne nomCol
For lig = 2 To Range(nomCol & Cells.Rows.Count).End(xlUp).Row
trouveElm = False
' Vérifier que l'élément à ajouter dans la liste n'existe pas déjà
For nbElement = 0 To LCombo.ListCount - 1
' L'élément est déjà présent dans la liste, sortie de la boucle
If LCombo.List(nbElement) = Range(nomCol & lig).Value Then
trouveElm = True
Exit For
End If
Next nbElement
' Elément non trouvé dans la liste, l'ajouter
If trouveElm = False Then LCombo.AddItem Range(nomCol & lig).Value
Next lig
End Sub
Passionofdream
Messages postés
820
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
11 mai 2021
302
11 janv. 2018 à 01:31
11 janv. 2018 à 01:31
Donc résolu tout seul.
Bravo
Mettre en résolu svp
Cordialement
Bravo
Mettre en résolu svp
Cordialement
F60lebaladinverni
Messages postés
126
Date d'inscription
samedi 28 janvier 2017
Statut
Membre
Dernière intervention
7 avril 2023
2
11 janv. 2018 à 06:36
11 janv. 2018 à 06:36
Oui, merci :)
Je fais ça
Je fais ça