Vider les textbox ComboBox

Ofeu Messages postés 26 Statut Membre -  
 archer -
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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Toujours pas ok
    0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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. Ofeu Messages postés 26 Statut Membre
       
      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
  4. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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. Ofeu Messages postés 26 Statut Membre
       
      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. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      Quand vous avez l'erreur, clic sur debugage et passez le curseur souris TextBox18 pour voir son contenu
      0
    5. Ofeu
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. archer
     
    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