IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Saisie semi-auto sur une liste déroulante [AC-2007]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Géomaticien
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Géomaticien

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 18
    Points
    18
    Par défaut Saisie semi-auto sur une liste déroulante
    Bonjour à tous,

    J'ai un problème avec une liste déroulante où la saisie semi-automatique a disparue...
    Le contenu de cette liste se compose des communes (CODGEO et LIBGEO, order by CODGEO). De plus, afin de ne pas avoir les 36000 communes, j'ai décider de mettre en place un système qui restreint la liste :
    -une première liste où on choisit la région
    -une 2e liste où le choisi le département (choix restreint selon la région)
    -ma liste des communes appartenant au département choisi precedement

    Le problème c'est que même en faisant cela, on a toujours beaucoup de choix pour la plupart des départements... Ainsi, il faudrait avoir la saisie semi-automatique pour éviter de devoir user de la molette!

    Sauf que pour les 3 listes, la saisie semi-auto n'est plus disponible.

    Je joins un screen des listes ainsi que le code VBA qui se trouve derrière les listes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    '######### Action sur les zones de liste #########
     
    Private Sub lst_region_KeyDown(KeyCode As Integer, Shift As Integer)
    KeyCode = 0
    End Sub
     
    Private Sub lst_dep_KeyDown(KeyCode As Integer, Shift As Integer)
    KeyCode = 0
    End Sub
     
    Private Sub lst_commune_KeyDown(KeyCode As Integer, Shift As Integer)
    KeyCode = 0
    End Sub
     
    Private Sub lst_region_Change()
     
    '------------affiche les départements de la région
        Call initia_tout
        Me.Refresh
        Me.lst_dep.Enabled = True
        Me.lst_dep.Requery   'SELECT REG, REG_libelle FROM T_region ORDER BY REG_libelle
        Me.lst_dep.SetFocus
     
    End Sub
     
    Private Sub lst_dep_Change()
     
    '------------affiche les communes du département
        Call rafraichi_lstdep
        Me.Refresh
        Me.lst_commune.Enabled = True
        Me.txt_commune.Enabled = True
        Me.txt_epci.Visible = True
        Me.etiquette_EPCI.Visible = True
        Me.lst_commune.Requery 'SELECT DEP_id, DEP_libelle FROM T_departement WHERE (((DEP_REG_id)=[Forms]![F_EXPORT_EXCEL].[lst_region]));
        Me.lst_commune.SetFocus
     
    End Sub
     
    '######## Une fois le departement choisi, on affiche le nom de ce dept (plutot que code commune) ########
     
    Private Sub lst_dep_AfterUpdate()
    Me.Refresh
    Me.lst_dep = Me.lst_dep.Column(1)
     
    End Sub
     
    Private Sub lst_commune_Change()
     
    Dim w_r As String
     
    '--------- rafraichissement des zones de textes EPCI et Canton -----------
     
    Me.Refresh
    Call rafraichi_lstcom
    Me![txt_commune] = Me.lst_commune.Column(1)
     
    '-------- nom de l'EPCI ---------
    w_epci = DLookup("[nom_complet]", "Epcicom2011", "[insee] = '" & [lst_commune] & "'")
     
    Me![txt_epci] = w_epci
     
    If Me![txt_epci] = "N'appartient à aucun EPCI" Then
     
            Me.chk_commune.Visible = True
            Me.chk_epci.Visible = False
            Me.chk_region.Visible = True
            Me.chk_dept.Visible = True
    Else
            Me.chk_commune.Visible = True
            Me.chk_epci.Visible = True
            Me.chk_region.Visible = True
            Me.chk_dept.Visible = True
     
    End If
     
     
    End Sub
    Merci d'avance!
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour.
    Pourquoi ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub lst_commune_KeyDown(KeyCode As Integer, Shift As Integer)
    KeyCode = 0
    End Sub
    sur chaque "touche appuyée" de tes listes?
    Par définition, KeyCode = 0 annule l'effet d'une touche appuyée. Donc, plus de saisie semi auto!!!
    Cordialement

  3. #3
    Membre à l'essai
    Homme Profil pro
    Géomaticien
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Géomaticien

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    Effectivement! C'est une partie de code que j'avais récuperer d'une ébauche, et j'ai pas trop compris à quoi cela servait... Quand je l'enlève la saisie réapparait mais dès que je tape une lettre ca passe à la liste suivante (parfois sans rien remplir)...

    Et il y a moyen de faire la recherche sur le libgeo plutot que codgeo (sans pour autant cacher le code commune)?

    Et aussi, d'éviter de pouvoir taper autre chose que les valeurs dans la liste (Je peux taper n'importe quoi... Par exemple je peux mettre "azefsdg" dans les régions... J'ai mis un On Error Goto, pour mettre le message comme quoi ça n'existe pas, mais il y a pas moyen d'éviter de pouvoir rentrer que des valeurs existantes? Et uniquement des valeurs numérique (pour les codgeo))

    Et enfin, ne pas prendre en compte les accents? Par exemple si je tape "chom", ca me renvoi "Chômage"

  4. #4
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Une chose à la fois!
    1. Ce n'est pas normal que le focus passe à la liste suivante après avoit tapé une seule lettre dans une liste. J'utilise des événements "Sur changement" sur une série de listes, dans le même genre de circonstance, et je n'ai aucun problème de ce genre. Donc, dans le code que tu n'as pas posté, il y a quelque chose qui déclenche ce comportement. Par exemple, qu'y a-t-il dans la fonction "initia_tout" appelée sur changement de lst_region? Tu peux aussi remplacer le "sur changement" par "Après mise à jour"...
    2. Tu arranges les dépendances de tes listes comme tu veux, le principe étant que la requête source de la liste 2 comporte la condition Where se référant au choix fait dans le formulaire à la liste 1, et que ce choix en liste 1 b provoque la mise à jour de la liste 2 (Me.lst_2.Requery). Et ainsi de suite...
    3. Pour limiter le choix au contenu de la liste, tu affiches le propriétés de la liste, onglet Données et tu mets la propriété Limiter à liste sur Oui.
    4. Pour ta dernière question concernant les caractères accentués, il n'y a pas à ma connaissance de solution native et simple dans Access. J'ai déjà lu des post sur le sujet, mais sans aller très loin. Le plus simple me semble être de remplacer dans les tables concernées les caractères accentués par des caractères majuscules non accentués, ce qui en général convient bien pour des villes, départements, etc, et évite tout souci de ce type!

  5. #5
    Membre à l'essai
    Homme Profil pro
    Géomaticien
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Géomaticien

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    Pour le 1, effectivement j'ai mis plutôt sur "Après la MaJ" et ça marche!

    Pour le 3, justement Limiter à liste est déjà sur Oui mais pourtant je peux écrire ce que je veux (si le choix n'est pas dans la liste, un message s'affiche me le précisant). J'aimerai si c'est possible qu'on puisse écrire uniquement le nom des régions, département, communes. Par exemple, si on tape "Poit" (pour Poitou-Charente) et que derrière on ne puisse pas mettre une lettre qui ne puisse renvoyer de résultat (e, v, x par exemple)
    Mais est-ce possible???

    Et aussi, la saisie semi-auto peut-elle se faire sur 2 champs? (CODGEO ou LIBGEO : par exemple qu'on tape 17300 ou La Rochelle, on tombe sur la bonne valeur). Si pas possible, ce n'est pas grave, j'intervertie juste les box

  6. #6
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    En ce qui concerne ta dernière question, tu peux effectivement faire dépendre les listes l'un de l'autre dans les deux sens. Un requery d'une liste après mise à jour de l'autre liste et idem dans l'autre sens, et une référence Where au choix fait dans l'autre liste dans chaque requête source. Une autre façon de faire est d'attribuer la source au moment du focus sur la liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private sub lst_commun_getfocus
    lst_commun.rowsource= 'la requête qui convient selon le choix  fait dans l'autre liste ou dans plusieurs
    Pour la deuxième question, je ne connais pas de moyen d'empêcher l'utilisateur de saisir quelque chose qui n'existe pas comme tu le voudrais, mais peut-être quelqu'un d'autre a-t-il une solution...
    PS: N'oublie pas le tag si ton problème est résolu!

  7. #7
    Membre à l'essai
    Homme Profil pro
    Géomaticien
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Géomaticien

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    Le problème de base est résolu Merci beaucoup à toi pour ton aide!!!

    Et par contre pour la recherche semi-automatique sur 2 champs, c'est sur la même liste. La liste est faite de 2 colonnes, la première avec le nom de la commune et la seconde avec le code géo. Actuellement la saisie semi-auto se fait via le nom de la commune (parfait!), mais certaines personnes connaissent plus le codgeo. En fait, ce que je veux savoir c'est si la saisie semi-auto peut se faire A LA FOIS sur la colonne 1 ET sur la colonne 2?
    Mais ça c'est du bonus :p


    Enfin, j'ai un autre problème plus esthétique et je ne sais pas du tout d'où cela vient... En fait mes fonds de liste sont "standard" avec couleur de fond blanche. Pourtant, parfois (assez aléatoire) mes fonds des listes communes et département deviennent bleu... Je ne touche pas aux couleurs que ce soit dans les propriétés ou dans le code!!! Bug graphique ou une manip est faisable?

  8. #8
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Je n'avais pas bien compris la question.
    Si, dans une liste tu as deux colonnes qui s'affichent quand tu déroules, la saisie semi-auto ne se fera que sur la première, celle qui reste affichée quand tu quittes la liste.
    Dans ton cas, tu pourrais faire deux listes distinctes : une qui commence par le CP, et l'autre par le nom de la commune...
    A toi de voir
    A+

  9. #9
    Membre à l'essai
    Homme Profil pro
    Géomaticien
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Géomaticien

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    Après un petit échange par MP je retourne ici afin de faire part des problèmes/solutions au sujet!

    Tout fonctionne (en ayant enlevé les Keycode = 0 et mis le code dans AfterUpdate). Toutefois, les zones de textes contenant l'intitulé des EPCI et du code géo ne se remplissent pas lorsque je fais un clic sur une valeur de la liste (alors que cela fonctionne en faisant entrée).

    Voici le code des zones de listes avec l'appel aux fonctions d'ini :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    Dim w_etat As Byte  '1 epci
                        '2 region
                        '3 dept
                        '4 commune
                        '5 France sans IDF
                        '6 France métropolitaine
     
    Option Compare Database
     
    '######## initialisation de l'interface ########
    Private Sub initia_tout()
     
        Me.lst_dep.Value = ""
        Me.lst_dep.Enabled = False
        Me.lst_commune.Value = ""
        Me.lst_commune.Enabled = False
        Me.lst_requete.Value = Null
     
        Me.txt_dep.Value = ""
        Me.txt_commune.Value = ""
        Me.txt_epci.Value = ""
        Me.txt_commune.Enabled = False
        Me.txt_epci.Visible = False
        Me.etiquette_EPCI.Visible = False
     
        Me.chk_commune.Value = False
        Me.chk_epci.Value = False
        Me.chk_region.Value = False
        Me.chk_dept.Value = False
        Me.chk_franceidf.Value = False
        Me.chk_francemetro.Value = False
     
        Me.chk_commune.Enabled = False
        Me.chk_epci.Enabled = False
        Me.chk_region.Enabled = False
        Me.chk_dept.Enabled = False
        Me.chk_franceidf.Enabled = False
        Me.chk_francemetro.Enabled = False
     
        Me.chk_commune.Visible = False
        Me.chk_epci.Visible = False
        Me.chk_region.Visible = False
        Me.chk_dept.Visible = False
     
     
        Me.btn_requete.Enabled = True
     
     
    End Sub
     
    Private Sub rafraichi_lstdep()
     
        Me.lst_commune.Value = ""
        Me.lst_requete.Value = Null
     
        Me.txt_dep.Value = ""
        Me.txt_commune.Value = ""
        Me.txt_epci.Value = ""
     
        Me.chk_commune.Value = False
        Me.chk_epci.Value = False
        Me.chk_region.Value = False
        Me.chk_dept.Value = False
        Me.chk_franceidf.Value = False
        Me.chk_francemetro.Value = False
     
        Me.chk_commune.Enabled = False
        Me.chk_epci.Enabled = False
        Me.chk_region.Enabled = False
        Me.chk_dept.Enabled = False
        Me.chk_franceidf.Enabled = False
        Me.chk_francemetro.Enabled = False
     
        Me.chk_commune.Visible = False
        Me.chk_epci.Visible = False
        Me.chk_region.Visible = False
        Me.chk_dept.Visible = False
     
        Me.btn_requete.Enabled = False
     
    End Sub
     
    Private Sub rafraichi_lstcom()
     
        Me.lst_requete.Value = Null
     
        Me.chk_commune.Value = False
        Me.chk_epci.Value = False
        Me.chk_region.Value = False
        Me.chk_dept.Value = False
        Me.chk_franceidf.Enabled = False
        Me.chk_francemetro.Enabled = False
     
        Me.chk_commune.Enabled = False
        Me.chk_epci.Enabled = False
        Me.chk_region.Enabled = False
        Me.chk_dept.Enabled = False
        Me.chk_franceidf.Value = False
        Me.chk_francemetro.Value = False
     
        Me.chk_commune.Visible = False
        Me.chk_epci.Visible = False
        Me.chk_region.Visible = False
        Me.chk_dept.Visible = False
     
        Me.btn_requete.Enabled = False
     
    End Sub
     
    Private Sub Form_Load()
     
        Me.NavigationButtons = False
        Call initia_tout
     
    End Sub
     
    '####### Actualisation lors des choix dans les zones de liste de l'emprise géo #######
     
    '######### Action sur les zones de liste #########
     
     
    Private Sub lst_region_AfterUpdate()
        Call initia_tout
        Me.Refresh
        Me.lst_dep.Enabled = True
        Me.lst_dep.Requery   'SELECT REG, REG_libelle FROM T_region ORDER BY REG_libelle
        Me.lst_dep.SetFocus
    End Sub
     
    '######## Une fois le departement choisi, on affiche le nom de ce dept (plutot que code commune) ########
     
    Private Sub lst_dep_AfterUpdate()
     
     Call rafraichi_lstdep
        Me.Refresh
     
    If Me.lst_dep.Value = "" Then
        MsgBox "Choisissez un département", vbExclamation, Erreur
    Else
        Me.txt_dep.Value = Me.lst_dep.Column(1)
        Me.lst_commune.Enabled = True
        Me.txt_commune.Enabled = True
        Me.txt_epci.Visible = True
        Me.etiquette_EPCI.Visible = True
        Me.lst_commune.Requery 'SELECT DEP_id, DEP_libelle FROM T_departement WHERE (((DEP_REG_id)=[Forms]![F_EXPORT_EXCEL].[lst_region]));
        Me.lst_commune.SetFocus
        Me.lst_dep = Me.lst_dep.Column(1) & " (" & Me.lst_dep.Column(0) & ")"
    End If
     
    End Sub
     
    Private Sub lst_commune_Change()
     
    Me.txt_commune = ""
    Me.txt_epci = ""
     
    End Sub
     
    Private Sub lst_commune_AfterUpdate()
     
    On Error GoTo Err_lst_commune
     
    '--------- rafraichissement des zones de textes EPCI et Canton -----------
    Call rafraichi_lstcom
        Me.Refresh
        Me![txt_commune] = Me.lst_commune.Column(1)
        Me.lst_requete.SetFocus
    '-------- nom de l'EPCI ---------
    w_epci = DLookup("[nom_complet]", "Epcicom2011", "[insee] = '" & [txt_commune] & "'")
     
    Me![txt_epci] = w_epci
     
    If Me![txt_epci] = "N'appartient à aucun EPCI" Then
     
            Me.chk_commune.Visible = True
            Me.chk_epci.Visible = False
            Me.chk_region.Visible = True
            Me.chk_dept.Visible = True
    Else
            Me.chk_commune.Visible = True
            Me.chk_epci.Visible = True
            Me.chk_region.Visible = True
            Me.chk_dept.Visible = True
     
    End If
     
    Exit Sub
     
    Err_lst_commune:
        MsgBox Err.Description
     
    End Sub
     
    Private Sub lst_commune_Click()
     
    '--------- rafraichissement des zones de textes EPCI et Canton -----------
    Call rafraichi_lstcom
        'Me.Refresh
        Me![txt_commune] = Me.lst_commune.Column(1)
        Me.lst_requete.SetFocus
    '-------- nom de l'EPCI ---------
    w_epci = DLookup("[nom_complet]", "Epcicom2011", "[insee] = '" & [txt_commune] & "'")
     
    Me![txt_epci] = w_epci
     
    If Me![txt_epci] = "N'appartient à aucun EPCI" Then
     
            Me.chk_commune.Visible = True
            Me.chk_epci.Visible = False
            Me.chk_region.Visible = True
            Me.chk_dept.Visible = True
    Else
            Me.chk_commune.Visible = True
            Me.chk_epci.Visible = True
            Me.chk_region.Visible = True
            Me.chk_dept.Visible = True
     
    End If
     
    End Sub
    Et toujours le problème avec le fond des zones de liste qui passent parfois en bleu, alors que je ne touche pas à ces propriétés dans le code...

  10. #10
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Re-bonjour Thomas.

    Pourquoi faire simple quand on peut faire compliqué?

    Tu as un événement "Sur changement" qui me semble interférer avec le remplissage de tes zdt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub lst_commune_Change()
     
    Me.txt_commune = ""
    Me.txt_epci = ""
    Juste après, tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub lst_commune_AfterUpdate()
     
    On Error GoTo Err_lst_commune
     
    '--------- rafraichissement des zones de textes EPCI et Canton -----------
    Call rafraichi_lstcom
        Me.Refresh
        Me![txt_commune] = Me.lst_commune.Column(1)
    Et en plus un "sur clic".
    Commence déjà par supprimer le code "Sur changement". Et le "Sur clic" aussi.
    De plus pas besoin de faire d'abord un ="" avant d'attribuer une valeur à tes zdt.
    Enfin, tu lances un appel à la fonction rafraichi_lstcom avant l'attribution de valeurs à tes zdt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub rafraichi_lstdep()
     
        Me.lst_commune.Value = ""
    ce qui attribue une chaine vide à ta liste.
    Si ça ne suffit pas, désactive dans tes fonctions de rafraichissement tout ce qui peut interférer, puis réactive les lignes une par une afin de trouver ce qui cause tes soucis.
    Pour la couleur de fond des zones de liste, as-tu vérifié si il n'y a pas une mise en forme conditionnelle?

  11. #11
    Membre à l'essai
    Homme Profil pro
    Géomaticien
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Géomaticien

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    Nikel pour le problème d'actualisation!!! J'avais mis les bouts de code "sur clic" et "sur changement" car ça ne fonctionnait pas avant... Enfin! C'est reglé!!

    Pour le changement de couleur, je ne savais pas qu'on pouvait faire de mise en forme conditionnelle sur zone de liste alors :/ (et vous avez tout le code qui correspond aux listes, pour les propriétés, j'ai vérifié et celles des 2 listes concernées sont les mêmes que celle de la région qui n'a pas ce problème...)

    Je joins une petite vidéo pour illustrer le problème
    Fichiers attachés Fichiers attachés

  12. #12
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    C'est pas vilain, la couleur qui change!
    As-tu essayé, dans ces deux zdl, de mettre la propriété Style fond sur "Standard" et la Couleur fond sur #FFFFFF (c'est blanc!).
    Sinon je ne sais pas. Heureusement, ce n'est pas très grave!
    Content que le reste fonctionne!
    A+

  13. #13
    Membre à l'essai
    Homme Profil pro
    Géomaticien
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Géomaticien

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    Oui Oui, le style est bien en standart, blanc!!!

    C'est dommage ça fait toujours du bleu... Un peu de jaune, de rose et de vert aléatoirement et ca serait distrayant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Saisie semi auto zone de liste déroulante
    Par frabeau dans le forum IHM
    Réponses: 0
    Dernier message: 06/09/2011, 17h24
  2. Réponses: 17
    Dernier message: 23/12/2009, 17h12
  3. Controle de saisie sur une liste déroulante
    Par antier dans le forum IHM
    Réponses: 3
    Dernier message: 07/12/2005, 05h42
  4. Réponses: 4
    Dernier message: 16/06/2005, 15h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo