formulaire de modification avec Combobox et texbox pre-rempli

bibbip35

XLDnaute Occasionnel
Bonsoir à tous

Je suis a la recherche d'une solution pour creer 1 formulaire de modification

J'ai aujourd'hui 1 userform me permettant d'inserer 1 ligne en remplissant des champs ( Combobox + Tex box )

Ce que je voudrais faire, c'est qu'en selectionnant la 1er combobox ; la deuxieme soit filtrée par rapport
a la 1ER ; la 3ème filtrée en focntion de la 2ème ; puis que les texbox se remplisse ensuite...

Puis que je modifie donc la textbox au choix

J'ai trouvée des exemple sur internet , mais je n'arrive pas à les adapter surement du a mon niveau débutant en VBA

Est que qq aurrait 1 solution simple? Ou est ce compliquée a mettre en oeuvre

Merci a tous

Bonne soirée

A+

Bibbip35
 

Pièces jointes

  • TEST CAPA.xlsm
    246.6 KB · Affichages: 170
  • TEST CAPA.xlsm
    246.6 KB · Affichages: 169
  • TEST CAPA.xlsm
    246.6 KB · Affichages: 170

Dranreb

XLDnaute Barbatruc
Re : formulaire de modification avec Combobox et texbox pre-rempli

Nous devons donc nous résigner à ce que vous ne comprendrez jamais. Eh bien tant pis. Je joins quand même le classeur ou le dispositif a été mis en œuvre dans l'Userform FORM_AJOUTER. Contemplez simplement la chose toute faites, cet imbattable caractère microscopique dans l'Userfom du code spécifique traitant les ComboBox, à tout jamais incompréhensible pour vous comme pour bien d'autres puisque vous n'avez absolument pas cherché à en assembler vous même les morceaux…

Merci à Misange d'avoir essayé de faire avancer la discussion en me faisant fournir des réponses analogues à celles des questions que vous auriez du me poser, et tournez vous, comme elle l'a suggéré, vers une autre usine à gaz plus classique mais pas du tout facile à mettre au point, ni indépendante du contexte de l'application, et que toute évolution remettra chaque fois en question.
 

Pièces jointes

  • CbxLiésBibbip35.xls
    881.5 KB · Affichages: 130
Dernière édition:

bibbip35

XLDnaute Occasionnel
Re : formulaire de modification avec Combobox et texbox pre-rempli

Merci

En effet je n ais pas compris
Mais ca ne veux pas dire que je ne veux pas comprendre. !
Loin de la.!
Je vais regarder et essayer
Est ce que je peux revenir vers vous en suite

Mon objectif etant de progresser et pas de reprendre brut de fondri le exemple tous fait

Pour information ca ne fait que 1 mois que je me suis mis au vba

Bonne journée
 

Misange

XLDnaute Barbatruc
Re : formulaire de modification avec Combobox et texbox pre-rempli

Bonjour
Je comprends ta frustration Bernard d'avoir créé un outil puissant et de ne pas réussir à faire partager son intérêt.

Cependant dans le cas présent, je ne trouve pas que ce soit très compliqué de rajouter 3 ou 4 listes dans excel et de coder la mise à jour des listes en fonction du choix fait dans une autre. Ont est loin d'une usine à gaz ! (il y a un exemple de liste dépendante d'une autre dans le formulaire de démo associé aux pages de tuto sur les formulaires que je t'ai indiquées BipBip).

Ajouter 3 modules de classe, lire et surtout comprendre comment les utiliser, ou ajouter les lignes de code et quelles lignes pour les utiliser me parait tout aussi complexe quand on n'est pas le créateur du code et qu'on ne prévois pas de les utiliser régulièrement.

Bibip, si tu débutes sur les formulaires, certes je prêche comme Bernard pour ce que j'ai pondu, mais les pages de tutos que j'ai rédigées portent sur les outils de base dispos dans excel, et te seront utiles pour comprendre ces bases justement :) Mais si tu choisis ,l'approche de Bernard et que tu décortiques son code, je n'ai aucun doute que tu vas faire de gros progrès en VBA !
 

Dranreb

XLDnaute Barbatruc
Re : formulaire de modification avec Combobox et texbox pre-rempli

Boujour.
Est ce que je peux revenir vers vous en suite
Mais oui bien sûr, pas de problème.
Mais reconnaissez que le résultat résulte de démarches dont je vous indiquais les 1ères étapes: mettre les modules de service nécessaires (ordinaires et de classe), déclarer un objet ComboBoxLiés avec évènements (pour le faire accepter à la compilation), comme 1ère instruction à l'initialisation de l'Userform, lui donner une instance (pour le rendre utilisable à l'exécution cette fois). La suite, et bien comme ça déjà c'était proche du début du modèle fourni en guise d'exemple dans le module de classe ComboBoxLiés, j'espérai que vous comprendriez que toutes les explication nécessaires y figuraient pour toutes les propriétés, méthodes et évènements, afin de savoir comment continuer, quitte à me demander encore, bien sûr, quelques précisions. Si ce qui vous arrêtait c'était de ne pas comprendre où je voulais en venir par ces directives, pourquoi ne me le demandiez vous pas ? Chaque question de détail aurait été l'occasion de vous inculquer une ou deux notions.
 

bibbip35

XLDnaute Occasionnel
Re : formulaire de modification avec Combobox et texbox pre-rempli

bonjour Dranreb

J'ai tester votre outil et j'ai reussi a l'adapter a mon besoin

Seul 2 souci

Quand j'importe des valeurs en % , ca se transforme en 100% en 1
J'ai également des controls de saisie que j'ai du supprimer..L'idée etant que si dans certaines textbox je mets 1 valeur non
numérique j'ai une msg box qui s'affiche et interdise la saisie

Merci en tous cas
 

Dranreb

XLDnaute Barbatruc
Re : formulaire de modification avec Combobox et texbox pre-rempli

Bonjour.

Mettez pour ces TextBox la valeur multipliée par 100 avec un "%", et au contraire pour ressortir la valeur substituer le "%" en "" et divisez par 100
Pour interdire l'utilisation d'un contrôle vous pouvez mettre sa propriété Enabled à False.
 

bibbip35

XLDnaute Occasionnel
Re : formulaire de modification avec Combobox et texbox pre-rempli

Merci Danreb

Petite question, complémentaire, dans mon classeur , je souhaiterais pouvoir modifier les lignes
mais je ne connaît pas le code a utiliser...tous en sachant que je convertie les valeurs de certaines textbox en numérique
avant insertion

Je sais simplement pour inserer 1 nouvelle ligne mais pas pour la modifier finalement

Sinon , pour mon pb précedents :
"Mettez pour ces TextBox la valeur multipliée par 100 avec un "%", et au contraire pour ressortir la valeur substituer le "%" en "" et divisez par 100"
Je fais cela a quel endroit???

En tous cas , votre outil est GENIAL...Je suis loin d'avoir tous compris , mais je m'accroche
en adaptant sur d'autres userform

1 grand Merci!!!
 

bibbip35

XLDnaute Occasionnel
Re : formulaire de modification avec Combobox et texbox pre-rempli

Re-bonjour

Je viens de tester la propriété enabled a False

mais j'ai toujours le même problème
Private Sub TextBox1_Change()
If Not IsNumeric(TextBox1) Then
Cancel = True
MsgBox "Seules les valeurs numériques sont autorisées ", _
vbInformation + vbOKOnly, "Attention"
Me.TextBox10.SelStart = 0
Me.TextBox10.SelLength = Len(TextBox1)
End If
End Sub

Merci pour toute l'aide apportée
 

Dranreb

XLDnaute Barbatruc
Re : formulaire de modification avec Combobox et texbox pre-rempli

Dans la CL_BingoUn, affectez la valeur du Ligne récupéré à une variable déclarée As Long en tête de l'Userform. Appelez la LCou par exemple (ligne courante). Ainsi vous pourrez affecter un tableau de valeurs renseignées d'après les contrôles à CL.PlgTablo.Rows(LCou).Resize(, 92).Value.
Je fais cela a quel endroit???
Dans la CL_BingoUn pour l'entrée, et là où vous utiliserez le LCou en sortie. Soit vous abandonnez les traitements à la chaîne par boucles exploitant les Tag des contrôles, soit au contraire vous mettez une information supplémentaire dans ces Tag pour distinguer les TextBox où il faut convertir en %

Il n'y a pas de paramètre Cancel à une TextBox_Change. Peut être pouvez vous utiliser l'évènement KeyPress plutôt. Il n'y a pas de Cancel non plus mais un KeyAscii que vous pouvez changer et je crois que 0 annule la frappe.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : formulaire de modification avec Combobox et texbox pre-rempli

Elle est dans le code le l'Userform juste après la UserForm_Initialize
C'est une procédure de prise en charge de l'évènement BingoUn décrété par votre objet CL.
C'est là qu'on garnit les Text des contrôles d'après un tableau d'une ligne reprenant les valeurs de CL.PlgTablo.Rows(Ligne).Resize(, 92).Value
Je pense que vous aurez probablement intérêt à remplacer la boucle par une série d'affectations qui descend tout droit, comme ça vous aurez plus facile à faire les % aux lignes où il le faut.
 
Dernière édition:

bibbip35

XLDnaute Occasionnel
Re : formulaire de modification avec Combobox et texbox pre-rempli

Merci

Il faut que je remplisse a la suite de :
Private Sub UserForm_Initialize()
'Désactive l'évènement
Application.EnableEvents = False


Set CL = New ComboBoxLiés
CL.CouleurSympa
CL.Plage Feuil1.Rows(7)
CL.Add Me.ComboBox1, "A"
CL.Add Me.ComboBox2, "F"
CL.Add Me.ComboBox3, "G"
CL.Actualiser

C'est bien cela?

Mais pouvez me montrer pour 1 textbox? textbox1 par exmple...

Merci encore
 

Dranreb

XLDnaute Barbatruc
Re : formulaire de modification avec Combobox et texbox pre-rempli

Ne retouchez pas la UserForm_Initialize.
Dans la procédure qui suit vous remplacez la boucle For Each Ctrl In Me.Controls par une série d'affectations :
VB:
Private Sub CL_BingoUn(ByVal Ligne As Long)
Dim Ctrl As Control, T(), C As Long
T = CL.PlgTablo.Rows(Ligne).Resize(, 92).Value
Me.TextBox1.Text = T(1, 1)
Me.TextBox2.Text = T(1, 2)
' etc.
Me.TextBoxX.Text = T(1, X) * 100 & "%"
' etc.
End Sub
 
Dernière édition:

bibbip35

XLDnaute Occasionnel
Re : formulaire de modification avec Combobox et texbox pre-rempli

Re bonsoir

J'ai reussi a faire tous ce que je voulais grace a votre AIDE precieuse

Il me reste plus qu'a creer le code pour pouvoir modifier les cellules maintenant ( bouton modifier ligne courante)...Pourriez encore une nouvelle fois m'aider

1 grand merci...J'ai l'impression de progresser ( a petit pas mais bon...)

Bibbip35
 

Discussions similaires

Statistiques des forums

Discussions
311 709
Messages
2 081 754
Membres
101 812
dernier inscrit
trufu