USF remplir list ou combo Box

C@thy

XLDnaute Barbatruc
Bonjour,;)

j'ai un petit souci et je tourne en rond depuis un moment, mais je suis sûre que la solution est toute simple!!!:D

Je saisis des agents : leur nom, direction ou service, grade, catégorie, téléphone, adresse e-mail.
Les infos saisies viennent ensuite alimenter les feuilles "Incidents" ou "Demandes" selon l'option button coché.
Mes nouveaux agents viennent s'ajouter à la liste des agents sur la feuille "Tables".
Lorsque je saisis le nom d'un agent qui est déjà dans ma liste, je voudrais qu'une fois le nom saisi (c'est là mon problème) les autres informations (direction ou service, grade, catégorie, téléphone, adresse e-mail) s'affichent automatiquement dans les list ou combobox adéquates...
si je fais combobox change, à chaque caractère que je saisis, le traitement s'exécute. J'ai essayé enter ou exit mais sans grand succès, rien ne s'exécute :confused: :confused:

Comment remplir mes zones???

Merci à vous.

Je joins le fichier... je sais, le code est pas optimisé...:p
en plus j'ai une erreur sur la date qui se met dans l'autre sens...(mois et jour inversés) dans les feuilles "Incidents" ou "Demandes", or je dois faire des calculs sur ces dates (différence entre la date de saisie et la date de clôture pour trouver le temps de traitement de l'incident ou de la demande, compte tenu des horaires d'ouverture du service (jours ouvrés de 9h à 18h), mais ça, c'est un autre problème...

Bises et bonne journée :cool:

C@thy
 

Pièces jointes

  • Agents.zip
    52.7 KB · Affichages: 78
  • Agents.zip
    52.7 KB · Affichages: 70
  • Agents.zip
    52.7 KB · Affichages: 66
G

Guest

Guest
Re : USF remplir list ou combo Box

Bonjour C@thy,

Je ne comprends pas bien ce que tu cherches à faire:

Dans combobox9 tu as les noms des agents
Dans Exit tu cherche a trouver le nom choisit à une liste d'Abrégés (Tables!A1:An)
Ce n'est pas cohérent. Ce ne serait pas sur la feuille 'Demandes' colonne b ou la feuille 'Incidents' qu'il faut chercher?
Dans cette dernière tu as des dates à la place des noms (colonne B)

Sinon pour le moment j'ai compacté UserForm Initialize:

Code:
[COLOR=blue]Private[/COLOR] [COLOR=blue]Sub[/COLOR] UserForm_initialize()
    [COLOR=blue]Dim[/COLOR] D [COLOR=blue]As[/COLOR] [COLOR=blue]String[/COLOR], I [COLOR=blue]As[/COLOR] [COLOR=blue]String[/COLOR]
    [COLOR=blue]Dim[/COLOR] c
    [COLOR=blue]Dim[/COLOR] J
    [COLOR=blue]Dim[/COLOR] MonDico
    [COLOR=blue]Dim[/COLOR] Ag [COLOR=blue]As[/COLOR] [COLOR=blue]Integer[/COLOR]
    [COLOR=green]'[COLOR=blue]Me[/COLOR].ComboBox5.Clear[/COLOR]
    D = ThisWorkbook.Sheets([I]"Demandes"[/I]).Range([I]"A65536"[/I]).[COLOR=blue]End[/COLOR](xlUp).Row
    I = ThisWorkbook.Sheets([I]"Incidents"[/I]).Range([I]"A65536"[/I]).[COLOR=blue]End[/COLOR](xlUp).Row
    [COLOR=green]'Noms Agents[/COLOR]
    TextBox1.Value = Format(Now, [I]"D/MM/YYYY H:MM"[/I])
    [COLOR=blue]With[/COLOR] ThisWorkbook.Sheets([I]"Tables"[/I])
        Ag = .Range([I]"R65536"[/I]).[COLOR=blue]End[/COLOR](xlUp).Row
        ActiveWorkbook.Names.Add Name:=[I]"Agents"[/I], RefersToR1C1:=[I]"=Tables!R2C18:R"[/I] & Ag & [I]"C18"[/I]
        [COLOR=green]'Tri liste agents[/COLOR]
        [COLOR=blue]With[/COLOR] .Range([I]"R2:V"[/I] & Ag)
            .Sort Key1:=.Cells(1, 1), Order1:=xlAscending, Header:=xlGuess, _
                  OrderCustom:=1, MatchCase:=[COLOR=blue]False[/COLOR], Orientation:=xlTopToBottom, _
                  DataOption1:=xlSortNormal
        [COLOR=blue]End[/COLOR] [COLOR=blue]With[/COLOR]
        ComboBox9.List = .Range([I]"Agents"[/I]).Value
        ComboBox8.List = .Range([I]"Agents"[/I]).Value
        ComboBox1.List = .Range([I]"grades"[/I]).Value
        ComboBox2.List = .Range([I]"Categorie"[/I]).Value
        ComboBox3.List = .Range([I]"Urgence"[/I]).Value
        ComboBox4.List = .Range([I]"Priorite"[/I]).Value
        [COLOR=green]'Impact[/COLOR]
        [COLOR=green]'Application.[COLOR=blue]Goto[/COLOR] Reference:=[I]"Impact"[/I][/COLOR]
        [COLOR=green]'[COLOR=blue]For[/COLOR] [COLOR=blue]Each[/COLOR] c [COLOR=blue]In[/COLOR] Selection.Cells[/COLOR]
        [COLOR=green]'ComboBox5.AddItem c.Value[/COLOR]
        [COLOR=green]'[COLOR=blue]Next[/COLOR][/COLOR]
        ComboBox6.List = .Range([I]"Transfert"[/I]).Value
        ComboBox7.List = .Range([I]"Direction"[/I]).Value
        ComboBox10.List = .Range([I]"Catégorie"[/I]).Value
        ComboBox5.List = .Range([I]"Sujet"[/I]).Value
    [COLOR=blue]End[/COLOR] [COLOR=blue]With[/COLOR]
    [COLOR=green]'TextBox2 = [I]""[/I][/COLOR]
    [COLOR=green]'TextBox2.SetFocus[/COLOR]
[COLOR=blue]End[/COLOR] [COLOR=blue]Sub[/COLOR]



A+
 
Dernière modification par un modérateur:

C@thy

XLDnaute Barbatruc
Re : USF remplir list ou combo Box

Merci Hasco. Pour les abrégés des grades, on a abandonné car ce n'est pas assez parlant...
ERREUR!!! Dans Exit, c'est pas A2, c'est R2, je suis confuse!!!:eek:

Merci à toi, je regarde et je te dis.

Bisous

C@thy
 
G

Guest

Guest
Re : USF remplir list ou combo Box

Re,
Encore une question.
Dans la Plage Tables!R2:Rn tu as des noms en double (AERTY) comment choisir lequel affiché?

Voici combobo9_Exit modifié:

Code:
[COLOR=BLUE]Private[/COLOR] [COLOR=BLUE]Sub[/COLOR] ComboBox9_Exit([COLOR=BLUE]ByVal[/COLOR] Cancel [COLOR=BLUE]As[/COLOR] MSForms.ReturnBoolean)
    [COLOR=BLUE]Dim[/COLOR] Plage [COLOR=BLUE]As[/COLOR] Range
    [COLOR=BLUE]Dim[/COLOR] idx [COLOR=BLUE]As[/COLOR] [COLOR=BLUE]Variant[/COLOR]
    [COLOR=BLUE]Set[/COLOR] Plage = ThisWorkbook.Sheets([i]"Tables"[/i]).Range([R2], [R65000].[COLOR=BLUE]End[/COLOR](xlUp))
    idx = Application.Match(ComboBox9.Value, Plage, 0)
    [COLOR=BLUE]If[/COLOR] [COLOR=BLUE]Not[/COLOR] IsError(idx) [COLOR=BLUE]Then[/COLOR]
        [COLOR=BLUE]With[/COLOR] Plage
            ComboBox7 = .Cells(idx, 2).Value    [COLOR=GREEN]'direction[/COLOR]
            ComboBox10 = .Cells(idx, 3).Value    [COLOR=GREEN]'catégorie[/COLOR]
            TextBox11 = .Cells(idx, 4).Value    [COLOR=GREEN]'téléphone[/COLOR]
            ComboBox1 = .Cells(idx, 5).Value    [COLOR=GREEN]' grade[/COLOR]
        [COLOR=BLUE]End[/COLOR] [COLOR=BLUE]With[/COLOR]
    [COLOR=BLUE]End[/COLOR] [COLOR=BLUE]If[/COLOR]
[COLOR=BLUE]End[/COLOR] [COLOR=BLUE]Sub[/COLOR]



A+
 
Dernière modification par un modérateur:

C@thy

XLDnaute Barbatruc
Re : USF remplir list ou combo Box

Bien vu, Hasco, tu as mis le doigt sur un autre de mes problèmes : je rajoute des doublons dans la liste, or parmi mes 20000 agents je n'ai pas d'homonymes (à ce qu'on m'a dit), donc j'essaie de remplir ma combo avec les noms sans doublons.
Si jamais j'avais des homonymes, il faudra que je gère le cas et ne pas pré-remplir les list et comboBox. (Arf!)

En tout cas tu m'as été très utile, car tu as vu que j'avais mis A au lieu de R, j'ai recommencé 20 fois ma macro sans le voir! :eek:

Pour la date c'est réglé, c'est moi qui ai fait un format, qui ne sert à rien.

Et oilà! 2 problèmes de réglés d'un coup!!!:)

Un super grand MERCI à toi.

Bibises

C@thy
 
G

Guest

Guest
Re : USF remplir list ou combo Box

re, Cathy,

Tu sais que c'est toujours un plaisir que de répondre à tes demandes, elles sont claires, et tu participes grandement.

Peut-être qu'en associant un identifiant unique aux Noms, même si cela complexifie un peu la programmation, cela résoudrait le problème. Ta comboBox9 pourrait avoir une colonne cachée contenant cet identifiant, sur lequel on pourrait faire les recherches.
Identifiant qu'il faudrait rajouter également dans tes tables demandes et incidents.

A+
 
Dernière modification par un modérateur:

C@thy

XLDnaute Barbatruc
Re : USF remplir list ou combo Box

Le plaisir est partagé, Hasco!!! Pour l'instant je n'ai pas connaissance de doublons, donc je fais le mort... en attendant qu'on men parle!!! (et je ferai semblant de le découvrir avec stupeur: Ah bon, il y a des doublons, mince alors, on m'l'avait pas dit!!!:D), mais je vais quand même effectivement réfléchir à la chose...

Bibises et bonne journée

C@thy
 

Discussions similaires

Réponses
4
Affichages
467