Tjs problème VBA : code

Fermé
Alex - 29 juil. 2003 à 10:55
maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023 - 29 juil. 2003 à 12:24
Bonjour bonjour !

et oui, je suis de retour, et mon problème n'est pas vraiment résolu (cf. message 25 juillet).
Le code suivant sert d'une part à afficher du texte dans des combobox (le texte venant d'une feuille excel), et d'autre part, à enregistrer des données , une fois les combobox remplies.

Private Sub ListeFournisseur_Click() 'ListeFournisseur est une combobox
Dim tampon As String 'variable pour la lecture d'une case
Dim Nbr As Integer ' Nombre de case lu


'debut liste Fournisseurs
Nbr = 0 'initialistion à 0
For Nbr = 0 To 20 'on se limite à 20 fournisseurs (on peut écrire 1000)
'la variable prend le texte écrit dans la feuille "donnée", case ...:
tampon = Range("A1").Offset(Nbr, 0).Value

If tampon <> "" Then 's'il y a bien du texte
ListeFournisseur.AddItem (tampon) 'on ajoute texte à la liste déroulante
'Remarque :

Else: GoTo Suite1 'si'il n'y à plus de texte dans la case donc c'était
'la dernière, on passe à autre chose
End If
Next Nbr '' incrémentation pour lire la case suivante.
Suite1:

End Sub


j'utilise le même code pour les combobox Marques et Remises.

puis :

Private Sub BtnEnregistrer_Click()
Dim Fournisseur As String
Dim i As Integer


i = ListeFournisseur.ListIndex
Fournisseur = ListeFournisseur.List(i)
Hide


End Sub


et là, ça ne marche pas, alors que ce code était mon grand espoir !
que faire ? merci...

Alex

5 réponses

maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023 453
29 juil. 2003 à 11:05
Bonjour
Tu veux faire quoi exactement et qu'est ce qu'il ne marche pas...
Par exemple, quel message d'erreur tu as??

Des détails quoi!

Maily   :-))))
0
Alors... dans le détail :

mon programme VBA pour Excel est destiné à un magasin d'optique, et sert à "sectorialiser les ventes". (mais pour le moment ça n'a pas d'importance).
L'utilisateur crée des "fiches produits" qui constituent des données stockées dans une feuille Excel (nommée BaseDonnee).
Quand l'utilisateur ouvre le programme, il se retrouve face à une page d'accueil qui lui propose différentes fonctionnalités.
En ce moment, je m'occupe de la fonctionnalité "Créer fiche". En cliquant sur un bouton, une boîte de dialogue apparaît, dans laquelle l'utilisateur peut remplir la fiche produit, avec des combobox entre autres.
Mon problème, c'est que je n'arrive pas à enregistrer la fiche produit dans la base de données.

Cela fait quelques temps que j'y suis, et c'est galère. Au début, j'avais rempli les combobox à partir d'une feuille Excel (feuille DonneesModifiables), à l'aide de la propriété rowsource. Je me suis rendu compte que cela posait des problèmes pour enregistrer les données par la suite.
J'ai donc écrit le code que j'ai cité plus haut, afin de remplir les combobox, et but ultime, d'enregistrer la fiche produit !

Voilà, j'espère que c'est plus clair, merci d'avance.

Alex
0
maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023 453
29 juil. 2003 à 12:07
Euh, la pour moi, dans ton code, tu récupères seulement le fournisseur, tu ne l'enregistre pas dans ta base de données!
Tu mets dans la variable fournisseur la valeur, c'est tout...

Tu utilises un classeur excel comme bd?

Maily   :-))))
0
Euh, oui, tu as raison.
ma bd est une feuille Excel.
en fait, il y a deux choses à effectuer :
- récupérer la liste des fournisseurs (ou des marques, c'est pareil), dans la feuille Excel DonnéesModifiables, et l'afficher dans la combobox correspondante.
- récupérer la valeur de la combobox choisie par l'utilisateur, et la placer dans la base de données (feuille BaseDonnee ).

Que dois-je changer dans mon code ?

:-))
0

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

Posez votre question
maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023 453
29 juil. 2003 à 12:24
Et bien, tu dois rajouter du code!
Pour ajouter le tout dans ta bd...

i = ListeFournisseur.ListIndex 

Fournisseur = ListeFournisseur.List(i)
BaseDonnee.range("la ou tu veux l'inserer").value=fournisseur



Maily   :-))))
0