Tjs problème VBA : code
Alex
-
maily Messages postés 7560 Statut Contributeur -
maily Messages postés 7560 Statut Contributeur -
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
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
A voir également:
- Tjs problème VBA : code
- Excel compter cellule couleur sans vba - Guide
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Vba range avec variable ✓ - Forum VB / VBA
5 réponses
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 :-))))
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 :-))))
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
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
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 :-))))
Tu mets dans la variable fournisseur la valeur, c'est tout...
Tu utilises un classeur excel comme bd?
Maily :-))))
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 ?
:-))
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 ?
:-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question