Completer une listview

SSI83000

XLDnaute Occasionnel
Bonsoir à tous avant tous merci pour ce super forum qui ma beaucoup aider sur des petit projets et merci d'avance a tous ce qui pencherons sur mon problème.

Ce que j'ai appris en trotte sur ce site quand ont commence un projet avoir de bonne base donc me voila.

Mon projet consiste à faire une recherche par USF en intégrant 3 critère

1) Ligne
2) Zone
3) Adresse

Une ligne peut être composée de plusieurs Zone.
Une Zone peut être composée de plusieurs adresses.
Une adresse est un point unique.

Si je saisie dans la combobox de ligne 1
Je souhaite qu'appariasse toute les zones et adresse présent dans cette ligne puis si je rentre dans la combobox de zone 1
Il apparaîtra toutes les adresses présentes dans cette zone

J’ai essayé un premier jus mais le résulta est peu probant en effet il m'affiche tous.

Quelqu’un pourrais t'il m'aider svp pour m'aiguiller un petit peut svp merci à très bientôt cordialement.
 

Pièces jointes

  • test1.xls
    33 KB · Affichages: 66
  • test1.xls
    33 KB · Affichages: 69
  • test1.xls
    33 KB · Affichages: 68

SSI83000

XLDnaute Occasionnel
Re : Completer une listview

Bonsoir Paritec

Je souhaiterais choisir une seule des trois à la fois.

c'est à dire si je rentre dans ligne "1 " il faudrais que dans la listview apparaise uniquement les lignes correspondant à la "ligne 1"

en revanche dans zone si je rentre "2" il apparaitras unniquement les lignes dont la zone est 2

et dans adresse vue qu'il est unique si je rentre 3 jaurais unique ment la ligne correspondant à 3

jespere avoir été plus claire une sorte de recherche multi critére.

cordialement
 

MuscatMimi

XLDnaute Accro
Re : Completer une listview

Bonsoir Paritec et SSI008

Regarde le bout de fichier que j'avais en stock
ça corresponds a ce que tu désire ,je pense
A toi de l'adapter a tes besois

cordialement
 

Pièces jointes

  • ListView Recherche et Somme Colonnes de ListView.xls
    101.5 KB · Affichages: 92
  • ListView Recherche et Somme Colonnes de ListView.xls
    101.5 KB · Affichages: 95
  • ListView Recherche et Somme Colonnes de ListView.xls
    101.5 KB · Affichages: 89

SSI83000

XLDnaute Occasionnel
Re : Completer une listview

Re au secour je nage lol

j'ai essayer d'adapter ma base de donner en remplacant les donner existant par les mien mais j'ai plein de bug vue que je débute j'ai bien peur que le fichier soit trop complex pour moi je crois qu'il y a un format imposer pour des celulle enfin bref je nage totalement
 

Paritec

XLDnaute Barbatruc
Re : Completer une listview

Bonsoir SSI83000 le forum
voilà ton fichier en retour regardes et dis moi
mais j'ai fais pour que tout soit possible
ou C1 ou C2 ou C3 ou C1+C2 etc
a+
Papou :)

EDIT : Bonjour Vaucluse je tapais la macro
 

Pièces jointes

  • test1V1.zip
    20.7 KB · Affichages: 40
  • test1V1.zip
    20.7 KB · Affichages: 41
  • test1V1.zip
    20.7 KB · Affichages: 37

Paritec

XLDnaute Barbatruc
Re : Completer une listview

Bonsoir SSI83000 le forum,
une petite modification pour éviter un bug en cas de c1 c2 et c3 vide
a+
papou :)
 

Pièces jointes

  • test1V2.zip
    20.8 KB · Affichages: 45
  • test1V2.zip
    20.8 KB · Affichages: 43
  • test1V2.zip
    20.8 KB · Affichages: 44

SSI83000

XLDnaute Occasionnel
Re : Completer une listview

Re bonjour paritec

ta solution me conviens et plus compréhensible pour le débutant que je suis.

néanmoin j'aurais 3 questions.

quand je rentre au clavier une valeur dans la combobox zone j'ai une erreur
incompatibilité de type comment pourais je y remedier stp.

et j'ai remarquer quand je rentre une valeur dans une combobox ex C1 et une autre dans C2 j'ai la même erreur je suis obliger de redemarer pour recherche avec un autre critére

et derniere y aurais t'il une solution pour que dans les combobox n'apparaise qu'une fois une valeur exemple dans la combobox ligne en cliquant dans le menu déroulant j'ai x fois la valeur 1 il y aurais t'il un moyen pour qu'il apparaise qu'une fois svp


autrement c'est génial cela fonctionne parfaitement encore un grand merci.
 

Paritec

XLDnaute Barbatruc
Re : Completer une listview

Bonsoir SSI83000,
bon alors tu aimes bien t'emmerder, tu as une combobox, tu cliques à droite et tu as la liste des choix possible, et cela pour les trois combobox
alors pour le bug là ??????????????????????
tu cliques sur la flèche du combo, là tu as une liste qui se déroule et tu choisis avec la sourie la valeur que tu souhaites voir afficher et automatiquement ta liste est mise à jour, ou est le problème?
Pour les valeurs dans les combos en unique soit avoir seulement 1 dans la c1 je te fais cela demain matin
Pour le moment les valeurs étant des chiffres, j'ai mis cdbl mais si tu entres autres cvhoses là c'est sur que ma macro chercher un chiffre pas du texte, est-ce ce que tu fais de chercher un texte? à te relire
a+
papou :)
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : Completer une listview

Bonsoir SSI83000,
voilà la réponse pour deux des sujets
a te relire a+
papou :)
 

Pièces jointes

  • test1V3.zip
    22.9 KB · Affichages: 44
  • test1V3.zip
    22.9 KB · Affichages: 46
  • test1V3.zip
    22.9 KB · Affichages: 50
Dernière édition:

SSI83000

XLDnaute Occasionnel
Re : Completer une listview

Re bonjour Paritec

c'est vrai que je m'embete pour pas grand chose mais comme ma liste il y a environ 1200 ligne en entrant directement sa me fais un gain de temps au lieu de tous défilé mais c'est pas trés grave.
en tous cas merci du fond du coeur de ton aide je continue à avancer grace a toi à bientot bonne soirée
 

SSI83000

XLDnaute Occasionnel
Re : Completer une listview

Bonjour a tous

Suite à mon projet,

paritec ma aimablement programmé un USF me permettant de faire des recherches sur plusieurs critère.

Mon soucis est que dans l’avancement de mon projet il ma fallu ajouter un filtre suplementaire celle de la colonne D nommer « canton » et ajouter à la listview la colonne H nommer detecteur

J’ai en vain tout le weekend essayé de comprendre et ajouter mais je n’ai pas réussi.

Si quelqu’un qui comprend mieux que moi pouvais m’aider ce serait très sympa.


je vous met le code complet + une Pj en état de fonctionnement fais par paritec.

Code:
Dim cell As Range
Option Base 1

Private Sub CommandButton1_Click()
C1 = "": C2 = "": C3 = ""
End Sub



Private Sub UserForm_Initialize()
    Dim aa As Variant, bb As Variant, cc As Variant
    With Sheets("BDD0")
        cc = .Range("C2:C" & .Range("C65536").End(xlUp).Row)
        C3.List = cc
    End With
    With L1
        With .ColumnHeaders
            .Clear
            .Add , , "LIGNE° PI", 60
            .Add , , "ZONE", 60, 2
            .Add , , "ADRESSE", 60, 2
            .Add , , "CANTON", 100, 2
            .Add , , "TYPE", 50, 2
            .Add , , "COORDONNEES", 80, 2
            .Add , , "Localisation", 90, 2
        End With
        .View = lvwReport
        .FullRowSelect = False
    End With
    Call listeA
    Call listeB
    Call listeC
End Sub

Private Sub C3_Change()
    Call MajListe
End Sub

Private Sub C2_Change()
    Call MajListe
End Sub

Private Sub C1_Change()
    Call MajListe
End Sub

Sub MajListe()
    Dim aa As Variant, bb As Variant, i&, fin&
    fin = Feuil1.Range("A65536").End(xlUp).Row
    aa = Feuil1.Range("A2:H" & fin)
    L1.ListItems.Clear
    If C1 = "" And C2 = "" And C3 = "" Then GoTo 9
    If C1 <> "" And C2 = "" And C3 = "" Then GoTo 1
    If C2 <> "" And C1 = "" And C3 = "" Then GoTo 2
    If C3 <> "" And C1 = "" And C2 = "" Then GoTo 3
    If C1 <> "" And C2 <> "" And C3 = "" Then GoTo 4
    If C1 <> "" And C3 <> "" And C2 = "" Then GoTo 5
    If C2 <> "" And C3 <> "" And C1 = "" Then GoTo 6
    If C1 <> "" And C2 <> "" And C3 <> "" Then GoTo 7
1   For i = 1 To UBound(aa)
        If CStr(C1) = aa(i, 1) Then aa(i, 8) = "oui"
    Next i
    GoTo 8
2   For i = 1 To UBound(aa)
        If CStr(C2) = aa(i, 2) Then aa(i, 8) = "oui"
    Next i
    GoTo 8
3   For i = 1 To UBound(aa)
        If CStr(C3) = aa(i, 3) Then aa(i, 8) = "oui"
    Next i
    GoTo 8
4   For i = 1 To UBound(aa)
        If CStr(C1) = aa(i, 1) And CStr(C2) = aa(i, 2) Then aa(i, 8) = "oui"
    Next i
    GoTo 8
5   For i = 1 To UBound(aa)
        If CStr(C1) = aa(i, 1) And CStr(C3) = aa(i, 3) Then aa(i, 8) = "oui"
    Next i
    GoTo 8
6   For i = 1 To UBound(aa)
        If CStr(C2) = aa(i, 2) And CStr(C3) = aa(i, 3) Then aa(i, 8) = "oui"
    Next i
    GoTo 8
7   For i = 1 To UBound(aa)
        If CStr(C1) = aa(i, 1) And CStr(C2) = aa(i, 2) And CStr(C3) = aa(i, 3) Then aa(i, 8) = "oui"
    Next i
8
    y = 1
   For i = 1 To UBound(aa)
        If aa(i, 8) = "oui" Then y = y + 1
    Next
    If y < 2 Then GoTo 9
    ReDim bb(y - 1, 7)
    y = 1
    For i = 1 To UBound(aa)
        If aa(i, 8) = "oui" Then
            For a = 1 To 7
                bb(y, a) = aa(i, a)
            Next a
           y = y + 1
        End If
    Next i
    With L1
        .ListItems.Clear
        .View = lvwReport
        .FullRowSelect = True
        .Gridlines = True
        For i = 1 To UBound(bb)
            .ListItems.Add , , bb(i, 1)
            For a = 2 To UBound(bb, 2)
                .ListItems(.ListItems.Count).ListSubItems.Add , , bb(i, a)
            Next a
        Next i
    End With
9
End Sub

Sub listeA()
    Dim MonDico As Object, c As Range, f As Worksheet
    Set f = Feuil1
    Set MonDico = CreateObject("Scripting.Dictionary")
    For Each c In f.Range("A2", f.Range("A65000").End(xlUp))
        MonDico(c.Value) = c.Value
    Next c
    C1.List = Application.Transpose(MonDico.keys)
End Sub

Sub listeB()
    Dim MonDico As Object, c As Range, f As Worksheet
    Set f = Feuil1
    Set MonDico = CreateObject("Scripting.Dictionary")
    For Each c In f.Range("B2", f.Range("B65000").End(xlUp))
        MonDico(c.Value) = c.Value
    Next c
    C2.List = Application.Transpose(MonDico.keys)
End Sub

Sub listeC()
    Dim MonDico As Object, c As Range, f As Worksheet
    Set f = Feuil1
    Set MonDico = CreateObject("Scripting.Dictionary")
    For Each c In f.Range("C2", f.Range("C65000").End(xlUp))
        MonDico(c.Value) = c.Value
    Next c
    C3.List = Application.Transpose(MonDico.keys)
End Sub
 

Pièces jointes

  • test1V4.zip
    16.9 KB · Affichages: 59
  • test1V4.zip
    16.9 KB · Affichages: 62
  • test1V4.zip
    16.9 KB · Affichages: 58

Paritec

XLDnaute Barbatruc
Re : Completer une listview

:eek:Bonjour SSI83000,
alors tu veux rajouter une colonne, mais très cher c'est pas un problème, sauf que moi je répond à tes questions et que toi tu n'y réponds pas alors!!!!!!
Je t'ai demandé de me dire si tes recherches étaient faite une par une ou comme je t'en ai donné la possibilité de remplir une ou deux ou trois combos en utilisant ou les listes sans doublons ou le remplissage au clavier???????????????,,
Alors c'est des recherches une par une ou combinée????????????????????????
a+
papou
 

SSI83000

XLDnaute Occasionnel
Re : Completer une listview

Bonjour paritec et merci de ton aide encore alors comme tu ma fais dans la version 4 c'est a dire par la c1 c2 c3 c'est nikel sa me conviens parfaitement en revanche j'ai remarquer quand je remplie C1 dans C2 il me donne la liste complete meme si dans la ligne 1 j'ai pas de zone 4 il va quand meme me le proposer mais sa c'est pas trés grave je regarde ce qui sont dispo dans la listview et c'est bon

la mon soucis est de mettre une C4 avec filtre pour le canton et ajouter une colonne dans ma listview en référence a la colonne H

désolé te ne pas t'avoir répondu plutot j'avais pas vue ta question.

je reste à ta disposition pour te répondre sur tes question.

cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 435
Messages
2 088 396
Membres
103 838
dernier inscrit
noureddine