Vider les textbox ComboBox

Fermé
Ofeu Messages postés 26 Date d'inscription mardi 21 août 2018 Statut Membre Dernière intervention 11 septembre 2018 - 24 août 2018 à 21:22
 archer - 27 août 2018 à 12:48
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
A voir également:

5 réponses

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
25 août 2018 à 09:32
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
Ofeu Messages postés 26 Date d'inscription mardi 21 août 2018 Statut Membre Dernière intervention 11 septembre 2018
25 août 2018 à 09:47
Bonjour,

Voici une nouvelle version du fichier.
https://www.cjoint.com/c/HHzhURRdmNh

MErci d'avance !!!
Lucas
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
25 août 2018 à 09:55
Re,

Toujours pas ok
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié le 25 août 2018 à 10:48
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
Ofeu Messages postés 26 Date d'inscription mardi 21 août 2018 Statut Membre Dernière intervention 11 septembre 2018
25 août 2018 à 16:07
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
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
Modifié le 25 août 2018 à 17:03
Bonjour,

Pour poster ton code, voir cette procédure.
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

il faut choisir la 1ére option basic

Voilà

@+ Le Pivert
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
25 août 2018 à 17:00
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
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
25 août 2018 à 17:22
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
Ofeu Messages postés 26 Date d'inscription mardi 21 août 2018 Statut Membre Dernière intervention 11 septembre 2018
25 août 2018 à 17:23
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
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
Modifié le 25 août 2018 à 17:32
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
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
25 août 2018 à 17:30
Re,

Quand vous avez l'erreur, clic sur debugage et passez le curseur souris TextBox18 pour voir son contenu
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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