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.

Voici le fichier :
https://www.cjoint.com/c/HHyttDOtEsh

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 !

Lucas

5 réponses

  1. Bonjour,

    Je ne peux pas modifier votre fichier sous Windows, probleme memoire insuffisant alors que 1/4 de la memoire vive est occupee !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Je vais voir sur MAC, mais j'ai deja eu des soucis pour ouvrir un fichier avec UF apres modif sur Windows .
    Donc ......
    Pouvez-vous le remettre a dispo?
    0
  2. Re,
    chercher une commande pour effacer les combobox
    C'est .Clear pour chaque combo......
    Y a pas de TextBox18!!!!!!!!!!!!!!!! si je l'ai trouvée
    La protection feuille ne sert a rien si pas cellules verrouillees............
    0
    1. Rebonjour,

      Merci, j'avais essayé aussi ces commandes :

      pour le CommandButton1 (dans ma feuille excel) :

      'pour ouvrir le formulaire, et ça marche bien

      Private Sub CommandButton1_Click()
      Application.DisplayAlerts = False
      ActiveSheet.ShowDataForm
      Application.DisplayAlerts = True

      Next

      'pour effacer les cellules de la feuil excel

      Sheets("Model").Range("D17:G20").ClearContents
      Sheets("Model").Range("G11:H13").ClearContents

      'mais cette commande ne fonctionne pas, et j'ai déjà essayé d'autres commandes et rien

      End Sub

      Ensuite, quand le formulaire est ouvert, j'ai la CommandButton6

      Private Sub CommandButton6_Click()

      'pour effacer les cellules de la feuil excel, la même action que pour le CommandButton1 qui est présent dans la feuil Excel et non dans le formulaire. Cette commande fonctionne bien, les cellules se vident dès que je click la CommandButton6.

      Sheets("Model").Range("D17:G20").ClearContents
      Sheets("Model").Range("G11:H13").ClearContents

      'Je voulais en plus avec la CommandButton6, vider des combobox et textBox, ci-dessous mon code. CEpendant, cela ne fonctionne pas.

      ComboBox1.Clear
      ComboBox2.Clear
      TextBox1.Value = ""

      End Sub

      Mercid de votre disponibilité !
      Cdlt
      Lucas
      0
  3. Contributeur
    Bonjour,

    Comme ceci:

    Private Sub CommandButton6_Click()
    Reset
    End Sub
    Private Sub Reset()
    Sheets("Model").Range("D17:G20").ClearContents
    Sheets("Model").Range("G11:H13").ClearContents
    ComboBox1.Clear
    ComboBox2.Clear
    TextBox6.Text = ""
    TextBox7.Text = ""
    TextBox8.Text = ""
    TextBox9.Text = ""
    End Sub
    Private Sub UserForm_Initialize()
    Reset
    ComboBox1.List = Application.Transpose(Range("MFA"))
    End Sub
    


    0
    1. Bonjour cs_LePivert,
      Vous avez pu modifiez le fichier de Ofeu, alors que moi, pas moyen voir image au dessus.
      Pouvez-vous mettre a dispo le fichier que vous avez modifie?
      Je voudrai bien savoir pourquoi ca deraille chez avec le fichier d'origine.
      Sur un MAC, pas de probleme.....
      0
    2. Bonjour Pivert,

      En effet avec les autres commange que j'ai essayé ainsi que celle que vous m'avez proposé, j'obtiens la même msg 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é de checher d'autre solution et poser la question sur d'autres forums, mais ça devient complexe ;-)

      Merci pour la disponibilité !

      Lucas
      0
    3. Contributeur
      Bonjour f894009,

      Voici le fichier

      https://www.cjoint.com/c/HHzpCjKEQUQ

      Ofeu,

      Cela fonctionne très bien aucun message d'erreur chez moi

      Erreur d'éxecution '1004'
      Impossible de lire la propriété Vlookup de la classe WorkSheetFunction


      cela n'a rien a voir avec la demande initiale d'effacement!

      essayer d'utiliser les balises comme je l'ai indiqué, les codes sont beaucoup plus lisibles!

      @+
      0
    4. Re,

      Quand vous avez l'erreur, clic sur debugage et passez le curseur souris TextBox18 pour voir son contenu
      0
    5. J’ai essayé de chercher l’erreur.
      Sur ma
      Private Sub TextBox18_Change (j’ai changé “Change” pour “AfterUpdate”) et ça marche le bouton REFRESH, par contre :

      J’ai mes textBox (2 à 17) qui disparaissent.
      Il faut peut être que je retravaille sur mes fonctions .visible !

      De plus, quand je click REFRESH, mes listes déroulantes n’affichent plus les données.

      J’essaie de trouver une solution !!!

      Merci
      Cdlt
      Lucas
      0
  4. Bonjour
    il faut faire une routine ses plus simple

    Dim Ctrl As Control
    For Each Ctrl In Me.Controls
    Select Case Left(Ctrl.Name, 4)
    Case "Text"
    Ctrl.Value = ""
    Case "Comb"
    Ctrl.ListIndex = -1
    End Select
    Next Ctrl


    A+
    Maurice
    0