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

Macros et VBA Excel Discussion :

Mises à jour d'un textBox via un combobox [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Scoubi7
    Profil pro
    Inscrit en
    Août 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 172
    Par défaut Mises à jour d'un textBox via un combobox
    Bonsoir,

    Je cherche des solutions depuis 2 jours, mais tout ce que j'ai pu testé ne fonctionne pas...

    Lorsque je choisie une société dans la liste d'un combobox : ComboBoxSté, cela modifie :
    ● la valeur d'un textbox : TextBoxEtage en indiquant l'étage correspondant
    ● et la valeur d'un autre combobox : (ComboBoxComp) en indiquant sa localisation (compartiment)

    Certaines sociétés ont plusieurs localisations, je fais donc une boucle sur toutes ces localisations

    Tout fonctionne bien, cependant la mise à jour de l'affichage du TextBoxEtage et du ComboBoxComp ne se fait que lorsque la procédure s'arrête

    Avez-vous une solution pour que le TextBoxEtage et le ComboBoxComp affichent leur valeur successives pendant l'exécution de la macro ?


    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
    Sub ComboBoxSté_LostFocus()
        Application.ScreenUpdating = True
        If Len(ComboBoxSté) > 2 Then
            With Worksheets("Sociétés").Range("B3:B300")
             Set F = .Find(ComboBoxSté, LookIn:=xlValues)
             If Not F Is Nothing Then
                'FirstAddress = F.Address                        ' pour ne boucler qu'une fois
                FirstName = ComboBoxSté
                Do
                    ThisWorkbook.Adresse = F.Address
                    TextBoxEtage = Worksheets("Sociétés").Range(F.Address).Offset(0, 2)
                    ComboBoxComp = Worksheets("Sociétés").Range(F.Address).Offset(0, 3)
                    ComboBoxSté = Worksheets("Sociétés").Range(F.Address)
                    Set F = .FindNext(F)
                    If F Is Nothing Then
                        GoTo Fini
                    Else:  'If F.Address <> FirstAddress Then    ' pour ne boucler qu'une fois
                        Situation = MsgBox("Localisation suivante ?", vbYesNo)
                        If Situation = vbNo Then
                            GoTo Fini
                        Else: ComboBoxSté = FirstName
                            TextBoxEtage = ""
                            ComboBoxComp = ""
                        End If
                    End If
                Loop        'While F.Address <> FirstAddress     ' pour ne boucler qu'une fois
              End If
    Fini:    End With
        End If
    End Sub

  2. #2
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour Scoubi, bonjour le forum,

    Je remplacerais tes deux contrôles par des Listboxes. Ainsi elles afficheraient non plus un seul résultat mais laisseraient le choix à l'utilisateur en affichant toutes les possibilités...

  3. #3
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Re,

    Non mais à la fin, su tu as plusieurs étages possibles, la ListBox affichera les différentes possibilités et l'utilisateur pourra faire son choix...

  4. #4
    Membre confirmé Avatar de Scoubi7
    Profil pro
    Inscrit en
    Août 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 172
    Par défaut
    Je viens de tester et ça ne va pas avec mon cas de figure car :

    Une Société X peut être au 2ème A, au 2ème B et au 9ème A
    Et donc dans la ListBox1, j'ai donc : 2, 2, 9 et dans la ListBox2, j'ai donc : A, A, B
    Alors il faut que lui dise d'afficher l'item 1 de la ListeBox1 avec l'item 2 de la ListeBox2

    Ça complique quand même pas mal mon truc...
    Merci tout de même pour ta réponse

    Quelqu'un a-t-il une idée ?

  5. #5
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Re,

    Ce qu'il faudrait c'est alimenter les Listboxes sans doublons puis en fonction du choix de la première, filtrer la seconde. C'est pas très difficile à coder mais sans fichier je ne m'y risquerai pas...

  6. #6
    Membre confirmé Avatar de Scoubi7
    Profil pro
    Inscrit en
    Août 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 172
    Par défaut
    Au contraire je masque la liste et en fonction de leur position dans la liste, je sais qu'ils vont ensemble (mais comme je l'ai dit c'est redondant...)

    (Et en réponse à une question précédente : je ne veux pas que l'utilisateur choisisse)

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

Discussions similaires

  1. [XL-2010] Problème de mise à jour d'une textbox en fonction de la valeur d'une combobox
    Par benadry dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/06/2014, 10h22
  2. [C# 2.0] Mise à jour d'un DataGridView via le binding
    Par oodini dans le forum Windows Forms
    Réponses: 5
    Dernier message: 01/07/2006, 22h08
  3. Mise à jour d'une controle via une classe.
    Par Andry dans le forum Delphi
    Réponses: 4
    Dernier message: 23/06/2006, 15h00
  4. Réponses: 3
    Dernier message: 02/01/2006, 11h53
  5. [Debutant(e)]mise à jour de mon formulaire via JSP
    Par kouadjalain dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 11/08/2004, 15h43

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