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 :

Vider les textbox ComboBox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chercheur
    Inscrit en
    Août 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2018
    Messages : 4
    Par défaut Vider les textbox ComboBox
    Bonjour,

    Je crée un formulaire mais je trouve certains soucis...

    En effet, j’ai encore quelques obstacles que j’ai essayé d’appliquer sur les commandes, mets j’ai tjrs de débogage.

    Ci-joint le fichier

    1. Je voudrais dans mon fichier excel (feuil « Model »), lorsque je click sur « GO » j’ouvre le formulaire et que automatiquement les cellules (D17 :G20) et (G11 :H13) soient vidés. J’ai bien ma commande pour ouvrir le formulaire avec le bouton « GO », mais avec différents essaies je n’ai pas réussi effacer ces cellules de la feuil « Model »

    2. Dans mon formulaire, j’ai ajouté un bouton « REFRESH ». Avec ce bouton, j’ai reussi effacé les cellules (D17 :G20) et (G11 :H13) de la feuil « Model ». Mais je voudrais aussi vider les combobox (1 et 2), ainsi que le TextBox (6,7,8 et 9). Mais avec les commandes que j’ai essayé de faire, ça ne marche pas…

    3. Je ne sais pas si c’est possible mais, pourrais-je faire apparaître les commandes suivantes qu’à partir du moment que j’ai rempli les combobox1 et Combobox2 (lié à la textBox18).
    -Labels (4 à 12)
    -TextBox (2 à 17)
    -CommandButton (3,4 et 5)

    Je vous remercie déjà de votre aide !

    Lucasformulaire_TEST_24.xlsm

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Tu dis :
    j’ouvre le formulaire et que automatiquement les cellules (D17 :G20) et (G11 :H13) soient vidés J’ai bien ma commande pour ouvrir le formulaire avec le bouton « GO », mais avec différents essaies je n’ai pas réussi effacer ces cellules de la feuil « Model »
    et :
    Dans mon formulaire, j’ai ajouté un bouton « REFRESH ». Avec ce bouton, j’ai reussi effacé les cellules (D17 :G20) et (G11 :H13) de la feuil « Model »
    ce n'est pas un peu contradictoire ça ?

    Mais je voudrais aussi vider les combobox (1 et 2)
    Tu utilises déjà la ligne de code qui le fait :

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Chercheur
    Inscrit en
    Août 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2018
    Messages : 4
    Par défaut
    Citation Envoyé par Theze Voir le message
    Bonjour,

    Tu dis :

    et :

    ce n'est pas un peu contradictoire ça ?
    En faite pour le bouton GO (de ma feuille Excel), je voudrais deux actions :
    1. Ouvrir le formulaire
    2. Effacer les cellules de la feuille Excel (décrites ci-dessous)
    => quand je click sur GO, j'ouvre le formulaire (1), cepandant les cellules ne se vident pas (2).

    Dans le formulaire j'ai également un bouton que j'appelle REFRESH, afin de mettre tout à zero :
    1. Effacer les cellules de la feuille Excel (décrites ci-dessous)
    2. Vider des textbox et ComboBox.
    => Dans ce cas, l'option 1 marche (= les cellules de la feuille Excel sont effacées), cependant le textbox et les combobox du formulaire ne sont pas mis à zero.

    Tu utilises déjà la ligne de code qui le fait :
    Oui, mais cela ne fonctionne pas,

    Merci
    Lucas

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bon, pour le vidage des Ranges à l'ouverture de la Form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub UserForm_Initialize()
     
        'ComboBox1.Clear <--- totalement inutile !
        ComboBox1.List = Application.Transpose(Range("MFA"))
        'ComboBox2.Clear <--- totalement inutile car au lancement de la Form, ils sont vides !
        Sheets("Model").Range("D17:G20", "G11:H13").ClearContents
     
    End Sub
    et le vidage des contrôles sur le bouton Refresh :
    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
     
    Private Sub CommandButton6_Click()
     
        Sheets("Model").Range("D17:G20", "G11:H13").ClearContents
     
        ComboBox1.Clear
        ComboBox2.Clear
     
        TextBox6.Text = ""
        TextBox7.Text = ""
        TextBox8.Text = ""
        TextBox9.Text = ""
     
    'chercher une commande pour effacer les combocox
    End Sub

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Chercheur
    Inscrit en
    Août 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2018
    Messages : 4
    Par défaut
    Citation Envoyé par Theze Voir le message
    Bon, pour le vidage des Ranges à l'ouverture de la Form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub UserForm_Initialize()
     
        'ComboBox1.Clear <--- totalement inutile !
        ComboBox1.List = Application.Transpose(Range("MFA"))
        'ComboBox2.Clear <--- totalement inutile car au lancement de la Form, ils sont vides !
        Sheets("Model").Range("D17:G20", "G11:H13").ClearContents
     
    End Sub
    Effectivement, Merci !!!

    et le vidage des contrôles sur le bouton Refresh :
    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
     
    Private Sub CommandButton6_Click()
     
        Sheets("Model").Range("D17:G20", "G11:H13").ClearContents
     
        ComboBox1.Clear
        ComboBox2.Clear
     
        TextBox6.Text = ""
        TextBox7.Text = ""
        TextBox8.Text = ""
        TextBox9.Text = ""
     
    'chercher une commande pour effacer les combocox
    End Sub
    En effet, j'avais essayé ce codage, cependant j'ai le mmême message d'erreur :
    Erreur d'éxecution '1004'
    Impossible de lire la propriété Vlookup de la classe WorkSheetFunction

    Ensuite il m'envoie à cette partie de mon codage qui va chercher la valeur d'une cellule en fonction de ma textBox18.

    Private Sub TextBox18_Change()
    Dim myRange As Range
    Set myRange = Worksheets("variablesX").Range("A8:I52")
    TextBox2.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 2, False)
    TextBox10.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 3, False)
    TextBox3.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 4, False)
    TextBox11.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 5, False)
    TextBox4.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 6, False)
    TextBox12.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 7, False)
    TextBox5.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 8, False)
    TextBox13.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 9, False)

    Dim myRange2 As Range
    Set myRange2 = Worksheets("Ranges_2").Range("A2:I46")
    TextBox14.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange2, 3, False)
    TextBox15.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange2, 5, False)
    TextBox16.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange2, 7, False)
    TextBox17.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange2, 9, False)


    End Sub


    J'ai essayé d'autres commandes, mais ça devient complexe

    Merci pour la rapidité des réponses !!!
    Lucas

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Evites si possible de répondre en utilisant les balises Quote, elles servent juste pour reprendre les citations des intervenants afin de répondre précisément ou pour mettre en exergue un texte précis car c'est assez pénible à lire !
    Voic un exemple d'utilisation des balises Quote :
    En effet, j'avais essayé ce codage, cependant j'ai le mmême message d'erreur :
    Erreur d'éxecution '1004'
    Impossible de lire la propriété Vlookup de la classe WorkSheetFunction
    C'est normal puisque tu vides les deux ComboBox et que le TextBox18 est une concaténation de leurs valeurs donc, la valeur dans TextBox18 change et par là, la procédure événementielle "TextBox18_Change()" est exécutée mais comme il est vide, la fonction ne trouve rien à retourner. Il te faut gérer ce cas avec un bloc If Then :
    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
     
    Private Sub TextBox18_Change()
     
        Dim myRange As Range
     
        If TextBox18.Text <> "" Then
     
            Set myRange = Worksheets("variablesX").Range("A8:I52")
            TextBox2.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 2, False)
            TextBox10.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 3, False)
            TextBox3.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 4, False)
            TextBox11.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 5, False)
            TextBox4.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 6, False)
            TextBox12.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 7, False)
            TextBox5.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 8, False)
            TextBox13.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange, 9, False)
     
     
            Dim myRange2 As Range
            Set myRange2 = Worksheets("Ranges_2").Range("A2:I46")
            TextBox14.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange2, 3, False)
            TextBox15.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange2, 5, False)
            TextBox16.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange2, 7, False)
            TextBox17.Value = Application.WorksheetFunction.VLookup(TextBox18.Value, myRange2, 9, False)
     
        End If
     
    End Sub

Discussions similaires

  1. [XL-2007] Vider toutes les TextBox et ComboBox
    Par stephadm dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/08/2012, 21h38
  2. [XL-2007] Rendre les combobox visble au même nombre que les textBox
    Par maxval18 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 23/03/2012, 21h00
  3. [E-03] vider des textbox et des combobox
    Par Mapokko dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/03/2009, 19h36
  4. comment vider plusieurs textbox et combobox dans un formilaire et Plus
    Par r.mehdi dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 05/05/2008, 15h52
  5. [VB.net]vider tous les textbox en meme temps
    Par Hatchepsout dans le forum VB.NET
    Réponses: 6
    Dernier message: 29/06/2007, 14h23

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