Grace à vos connaissances, j'ai pu avancer sur une base de donnée avec formulaire de modification/ d'ajout et suppression.
J'ai voulais saisir mes données dans des textbox mais à l'usage je me rends compte que ça n'est pas pratique.
Je m’interroge sur deux possibilités :
- Soit lors de la saisie, ma textbox me propose les données déjà écrites dans ma base de données
- Soit je pars sur un menu déroulant que je vais définir dans un onglet spécifique.
Qu'elle est la solution la plus simple ?
Je vous joins mon fichier pour une meilleur compréhension.
Bonjour ERN
Tu parles d'un ComboBox pour remplacer un TextBox !
mais quel TextBox et Où ?
peux tu être plus explicite .
de plus il y a des erreurs lors de la Sélection d'une ligne de la Listbox ,car tu mets Cdbl() devant des Colonnes qui contiennent du text donc pas bon
Peux tu nous dire quelles sont les colonnes Chiffres je n'en vois qu'une (Prix Unitaire) ??????
tu veux faire référence aux colonne Chiffre de ta ListBox
voir procédure :
VB:
For k = 0 To Ncol - 2
If k + 1 = 8 Or k + 1 = 9 Then 'ici deux Colonnes apparemment ! 8 et 9
Me("TxtB_" & k + 1) = Format(CDbl("0" & Me.ListBox1.Column(k)), "Currency")
Else
dans une ListBox les Numéros de Colonnes vont de 0 à x
donc la Colonne 8 de ta BDD sera la Colonne 7 de ta ListBox
pas besoin de rajouter 1
soit
Code:
If k =7 Or k=8 'mais en 8 c'est les Unités de mesures ??????
Prévois tu une recherche depuis plusieurs ComBobox donc sur plusieurs colonnes(cascades)
Dans l'attente
Bonjour,
une petite erreur dans le code de l'userform corrigée ci-dessous :
VB:
Private Sub ListBox1_Click()
If kit = True Then Exit Sub
For k = 0 To Ncol - 2
Select Case VarType(Me.ListBox1.Column(k))
Case vbCurrency, vbDouble
Me("TxtB_" & k + 1) = Format(CDbl("0" & Me.ListBox1.Column(k)), "Currency")
Case Else
Me("TxtB_" & k + 1) = Me.ListBox1.Column(k)
End Select
Next k
Label6 = Me.ListBox1.Column(11)
End Sub
Dans la mesure où il semblerait que la Bdd soit ce qui est en stock, il vous faudrait d'autres tables sur une feuille différente pour les fournisseurs et le matériel (réf et description ).
Remplacez les textbox de l'userform par des combobox liés à ces tables.
Re
fanch55 , pas de problème Lol
pour imager ce que je disais :
VB:
Private Sub ListBox1_Click()
If kit = True Then Exit Sub
For k = 0 To Ncol - 2
If k = 7 Then
Me("TxtB_" & k + 1) = Format(CDbl("0" & Me.ListBox1.Column(k)), "Currency")
Else
Me("TxtB_" & k + 1) = Me.ListBox1.Column(k)
End If
Next k
Label6 = Me.ListBox1.Column(11)
End Sub
Bonjour ERN
Tu parles d'un ComboBox pour remplacer un TextBox !
mais quel TextBox et Où ?
peux tu être plus explicite .
de plus il y a des erreurs lors de la Sélection d'une ligne de la Listbox ,car tu mets Cdbl() devant des Colonnes qui contiennent du text donc pas bon
Peux tu nous dire quelles sont les colonnes Chiffres je n'en vois qu'une (Prix Unitaire) ??????
tu veux faire référence aux colonne Chiffre de ta ListBox
voir procédure :
VB:
For k = 0 To Ncol - 2
If k + 1 = 8 Or k + 1 = 9 Then 'ici deux Colonnes apparemment ! 8 et 9
Me("TxtB_" & k + 1) = Format(CDbl("0" & Me.ListBox1.Column(k)), "Currency")
Else
dans une ListBox les Numéros de Colonnes vont de 0 à x
donc la Colonne 8 de ta BDD sera la Colonne 7 de ta ListBox
pas besoin de rajouter 1
soit
Code:
If k =7 Or k=8 'mais en 8 c'est les Unités de mesures ??????
Prévois tu une recherche depuis plusieurs ComBobox donc sur plusieurs colonnes(cascades)
Dans l'attente
Effectivement, ma demande est incomplète.
Je souhaite remplacer les Textbox "Secteur d'activité", "Conditionnement" et "unité" respectivement TxtB_2, TxtB_10 et TxtB_11 par des menus déroulants dans mon UserForm. (voir image jointe). Les éléments des futurs menus déroulants se trouvent dans l'onglet list (colonne A = TxtB_2, colonne B = TxtB_10, colonne C = TxtB_11).
Le mieux pour conservé les codes existant sans chamboulement de tout c'est de mettre des combobox pardessus les textbox et faire des liaisons entre les <--> deux comme cela pas de modif du code
Merci pour cette méthode qui me facilite les choses.
J'ai réinséré vos modifications dans une autre fichier, car celui du posté n'était pas le bon. Après renommage des Comobox, je me retrouve avec des erreurs et je ne comprends pas où elles sont.
Si quelqu'un me venir en aide, je vous en serais reconnaissant.
Voici le fichier. Attention le formulaire s'ouvre automatiquement.
Ce n'est pas le fichier que j'ai passé le mien fonctionne ,
J’avoue que je ne comprend pas pourquoi avoir changer les noms des combobox de plus la liste ListDer à changer en list !!! et en plus les listes démarre de la ligne A2,
Pour moi les unités sont bien à droite sous le label (unités) donc pas le même textbox !!!
bonne continuation jcf64