1. #1
    Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    juin 2017
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : juin 2017
    Messages : 109
    Points : 46
    Points
    46

    Par défaut Décalage entre Combobox et Textbox

    Bonjour à tous,

    Je rencontre une problématique de décalage entre une Textbox (alimentée par un CommandButton) et une Combobox associée:

    Le fonctionnement:

    j'ai créé un formulaire "A" regroupant 18 CommandButton - 1 par secteur d'activités [1].

    Nom : doc1.jpg
Affichages : 47
Taille : 399,1 Ko

    En cliquant sur l'un de ces CommandButton, j'ouvre un second formulaire "B" contenant (entre autres) :
    - une Textbox1 contenant le nom du secteur d'activité (rempli au clic du CommandButton du formulaire A) [2];
    - une ComboBox1 listant des situations de danger relatives au secteur d'activité concerné [3].
    Nom : doc2.jpg
Affichages : 47
Taille : 273,8 Ko



    L'objectif

    Une fois le secteur d'activité sélectionné, je souhaite que la liste des situations dangereuses de ce secteur apparaisse dans la Combobox pour pouvoir les modifier, actualiser, voire supprimer.

    Une fois validées ou modifiées [4], les informations contenues dans les Textbox (es) sont transférées dans le fichier Excel à la PAGE (secteur d'activité) et la LINE (n° de situation dangereuse) attendues [5].

    Nom : Sans titre.jpg
Affichages : 44
Taille : 296,6 Ko

    Le problème:

    Lorsque je change de secteur d'activité, la Combobox garde en mémoire la liste des situations dangereuses du secteurs précédemment sélectionné! Je suis forcé de retourner à la sélection des secteurs, de re-sélectionnner le secteur souhaité pour que la liste s'actualise!

    Ma question :

    Ou est ce que le bât blesse?

    Comment remédier à ce soucis?

  2. #2
    Membre émérite
    Femme Profil pro
    Étudiant
    Inscrit en
    octobre 2016
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 22
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2016
    Messages : 1 478
    Points : 2 426
    Points
    2 426

    Par défaut

    Bonjour,
    Difficile de t'aider sans le code ...
    Quand est-ce que la combobox est alimentée dans ton code actuel ? Quel evenement (clic, changement d'une textbox/combobox...) devrait entraîner sa modification ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2017
    Messages : 10
    Points : 9
    Points
    9

    Par défaut

    copie colle les macros des commandbouton (lors de l'évènement clic) dans ta textbox (lors de l'évènement changement de texte) en vérifiant de quel secteur il s'agit puis la macro concernée se lancera remplissant ainsi ta combobox comme si tu venais de cliquer sur un commandbouton.

    Ex : tu écris "sanitaires" dans ta textbox et il ira chercher la macro qui correspond à cela comme si tu venais de cliquer sur le commandbouton "sanitaires".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If textbox="sanitaires" then 
    'macro du commandbouton sanitaires
    ElseIf texbox="vitrerie" then ......

  4. #4
    Membre éprouvé Avatar de mjpmjp
    Homme Profil pro
    Chôme Dur des Ambulances
    Inscrit en
    avril 2012
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chôme Dur des Ambulances
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 599
    Points : 944
    Points
    944

    Par défaut

    bonjour,
    Lorsque je change de secteur d'activité, la Combobox garde en mémoire la liste des situations dangereuses du secteurs précédemment sélectionné!
    combobox.clear

    @+JP
    Mes contributions
    Form GRAPHIQUE, Gestion des boutons
    Form GRAPHIQUE, Liste Onglet dynamique
    Form GRAPHIQUE, Liste Multi-Colonne et ScrollBar Externe

    Les Gens "Instruit" ont passé leur temps à apprendre ce que les Gens "Intelligent" ont passé leur temps à trouver...(JP)

  5. #5
    Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    juin 2017
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : juin 2017
    Messages : 109
    Points : 46
    Points
    46

    Par défaut

    Bonjour à tous les 3, merci de vos réponses.

    @ riaolle: ci joint les codes des différentes étapes:

    1) ouverture du formulaire B par clic sur CommandButton du secteur concerné + affichage du nom de ce secteur en TextBox1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub CVitrerie_Click()
    FIDENTIFICATION.Show
    FSECTORISATION.Hide
    FIDENTIFICATION.TextBox1 = "VITRERIE"
    Sheets("VITRERIE").Activate
    End Sub
    2) La Combobox1 s'alimente depuis la propriété RowSource, dépendant de la page de référence du secteur choisi

    S9:S1000

    3) alimentation des TextBoxes du formulaire B selon le n° d'identification de la situation dangereuse listé dans la Textbox.

    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
    Private Sub ComboBox1_Click()
       Set f = Sheets(Me.TextBox1.Text)
       ligne = Me.ComboBox1.ListIndex + 9
        Me.TextBox4 = f.Cells(ligne, 4)
        Me.TextBox5 = f.Cells(ligne, 5)
        Me.TextBox6 = f.Cells(ligne, 6)
        Me.TextBox7 = f.Cells(ligne, 7)
        Me.TextBox8 = f.Cells(ligne, 8)
        Me.TextBox9 = f.Cells(ligne, 9)
        Me.TextBox10 = f.Cells(ligne, 10)
        Me.TextBox11 = f.Cells(ligne, 11)
        Me.TextBox12 = f.Cells(ligne, 12)
        Me.TextBox14 = f.Cells(ligne, 14)
        Me.TextBox15 = f.Cells(ligne, 15)
        Me.TextBox16 = f.Cells(ligne, 16)
        Me.TextBox17 = f.Cells(ligne, 17)
     End Sub
    @ paul_thms: en gros tu me suggère de "doubler" la consigne pour qu'en 1 clic, l'action soit répétée automatiquement?

    @ mjpmjp: j'ai essayé de l'intégrer (combobox.clear) à l'ouverture du UserForm, mais sans effet, je ne sais pas où placer pour que cela fonctionne?

  6. #6
    Membre éprouvé Avatar de mjpmjp
    Homme Profil pro
    Chôme Dur des Ambulances
    Inscrit en
    avril 2012
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chôme Dur des Ambulances
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 599
    Points : 944
    Points
    944

    Par défaut

    bonjour,
    à l'ouverture / activation du form ou juste avant d'écrire dans combobox

    @+JP
    Mes contributions
    Form GRAPHIQUE, Gestion des boutons
    Form GRAPHIQUE, Liste Onglet dynamique
    Form GRAPHIQUE, Liste Multi-Colonne et ScrollBar Externe

    Les Gens "Instruit" ont passé leur temps à apprendre ce que les Gens "Intelligent" ont passé leur temps à trouver...(JP)

  7. #7
    Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    juin 2017
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : juin 2017
    Messages : 109
    Points : 46
    Points
    46

    Par défaut

    @ mjpmjp

    plusieurs tentatives, aucune ne fonctionne, parfois message d'erreur "non répertoriée".

    Je pense que c'est à cause de la propriété RowSource qui est renseignée (S9:S1000), je ne sais pas encore comment incrémenter une RowSource "manuellement".

    Je cherche dans ce sens et reviens vers vous!

    merci

  8. #8
    Membre éprouvé Avatar de mjpmjp
    Homme Profil pro
    Chôme Dur des Ambulances
    Inscrit en
    avril 2012
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chôme Dur des Ambulances
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 599
    Points : 944
    Points
    944

    Par défaut

    bonjour,

    Nom : video11.gif
Affichages : 31
Taille : 215,9 Ko

    j'ai nommé le combo : "Combo1"
    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 Bouton1_Cliquer()
        Call InitCombo1(1)
    End Sub
     
    Sub Bouton2_Cliquer()
        Call InitCombo1(2)
    End Sub
     
    Private Sub InitCombo1(Secteur As Integer)
        ActiveSheet.Shapes("Combo1").Select
        With Selection
            .LinkedCell = "K11"
            .DropDownLines = 26
            .Display3DShading = False
            Select Case Secteur
                Case 1 'Secteur1
                    .ListFillRange = "$S$9:$S$34"
                Case 2 'Secteur2
                    .ListFillRange = "$T$9:$T$34"
                Case Else
                    .ListFillRange = "$S$8:$T$8"
            End Select
        End With
        Range("k8").Select
    End Sub
     
    Sub Combo1_QuandChangement()
     
    End Sub
    perso , je n'aime pas travaillé avec des controls formulaire,
    je préfère largement les active X

    @+JP
    Mes contributions
    Form GRAPHIQUE, Gestion des boutons
    Form GRAPHIQUE, Liste Onglet dynamique
    Form GRAPHIQUE, Liste Multi-Colonne et ScrollBar Externe

    Les Gens "Instruit" ont passé leur temps à apprendre ce que les Gens "Intelligent" ont passé leur temps à trouver...(JP)

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/09/2011, 19h20
  2. Réponses: 12
    Dernier message: 22/10/2008, 12h59
  3. Liaison entre ComboBox et TextBox
    Par adil54 dans le forum VB.NET
    Réponses: 2
    Dernier message: 27/08/2008, 16h27
  4. [VB]Pb update entre mon group textbox(i) et ma DataSource
    Par MITCH31 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 31/01/2006, 09h23
  5. faire communiquer une combobox et textbox
    Par aliosys dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 27/12/2005, 10h20

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