Combobox

Signaler
Messages postés
8
Date d'inscription
lundi 31 octobre 2011
Statut
Membre
Dernière intervention
29 juin 2012
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour à tous,
je débute dans le code VBA et n'arrive pas à faire apparaître la liste des données de ma feuille type de traitement dans le combobox du formulaire Traitement. Pourriez-vous m'aider SVP
le code est le suivant:

Private Sub UserForm_Initialize()
'liste de choix pour indiquer si le traitement apporte un dépôt (OUI/NON)
Me.Combodepot.List = Array("OUI", "NON")
'Liste de choix pour indiquer le type de traitement dans la feuille "traitement"
For a = 3 To 10
Combotypetraitement.AddItem Sheets("type de traitement").Cells(a, 3)

Next

End Sub
Private Sub cmdAjouter_Click()
Dim numLigneVide As Integer
'Activation de la feuille "Traitement"
Worksheets("Traitement").Activate
'Recherche la dernière ligne vide du tableau et enregistre dans la ligne de la variable numLigneVide
numLigneVide = ActiveSheet.Columns(1).Find("").Row
'vérification que les champs obligatoires sont correctement remplis
If txttraitement.Text = "" Then
MsgBox "Veuillez remplir le champs Traitement", vbCritical, "Champs manquant"
txttraitement.SetFocus
ElseIf Txtabreviation.Text = "" Then
MsgBox "Veuillez remplir le champs Abreviation", vbCritical, "Champs manquant"
Txtabreviation.SetFocus
ElseIf Combotypetraitement.Text = "" Then
MsgBox "Veuillez remplir le champs Type de Traitement.Text", vbCritical, "Champs manquant"
Combotypetraitement.SetFocus
ElseIf Combodepot.Text = "" Then
MsgBox "Veuillez remplir le champs Dépôt", vbCritical, "Champs manquant"
Combodepot.SetFocus
ElseIf txtvaleur.Text = "" Then
MsgBox "Veuillez remplir le champs Valeur", vbCritical, "Champs manquant"
txtvaleur.SetFocus
Else
'Données à remplir dans le tableau
ActiveSheet.Cells(numLigneVide, 1) = UCase(txttraitement.Text)
ActiveSheet.Cells(numLigneVide, 2) = Txtabreviation.Text
ActiveSheet.Cells(numLigneVide, 3) = Combotypetraitement.Text
ActiveSheet.Cells(numLigneVide, 4) = Comboparticularité_du_traitement.Text
ActiveSheet.Cells(numLigneVide, 5) = Combodepot.Text
ActiveSheet.Cells(numLigneVide, 6) = txtvaleur.Text
ActiveSheet.Cells(numLigneVide, 7) = txtpropriété.Text

'Effacer le formulaire et replacer le curseur sur le premier champs "Traitement"
txttraitement.Text = ""
Txtabreviation.Text = ""
Combotypetraitement.Text = ""
Comboparticularité_du_traitement.Text = ""
Combodepot.Text = ""
txtvaleur.Text = ""
txtpropriété.Text = ""
txttraitement.SetFocus
End If
End Sub

Private Sub cmdTableau_Click()
'Ouverture de la feuille Traitement
frmTraitement.Hide
Sheets("Traitement").Select

End Sub



Private Sub cmdFermer_Click()
'Fermuture du formulaire Traitement
frmTraitement.Hide
'Ouverture de la feuille Menu
Sheets("Menu").Select
End Sub

10 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Bonjour,
J'attendrai personnellement un code indenté et mis entre balises code (3ème icône en partant de la droite) pour analyser ton code (je tiens à mes cervicales et à garder la tête suffisamment fraîche) !
Je n'ai donc lu que le tout début :
Intéresse-toi à la propriété RowSource d'une combobox (voir cela dans ton aide VBA).

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
8
Date d'inscription
lundi 31 octobre 2011
Statut
Membre
Dernière intervention
29 juin 2012

Merci pour votre réponse mais cela ne fonction toujours pas.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Ah !
Bon !
Et qu'as-tu donc écrit, sur la base de cette réponse ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
8
Date d'inscription
lundi 31 octobre 2011
Statut
Membre
Dernière intervention
29 juin 2012

Simplement: A3:A50
serait-il possible de vous envoyer mon fichier ?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
serait-il possible de vous envoyer mon fichier ?

Il te faudrait :
- 1) le déposer sur un site de dépôt
- 2) espérer qu'un imprudent (en aucun cas moi) accepte d'ouvrir un classeur dont il n'est pas le créateur.
Lorsqu'une difficulté technique est isolable et que les choses sont claires, rien n'est plus facile que d'exposer clairement la difficulté et le code qui la concerne. Si tu as des difficultés à le faire ==>> une seule explication ===>> les choses ne sont alors pas claires pour toi-même !

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
8
Date d'inscription
lundi 31 octobre 2011
Statut
Membre
Dernière intervention
29 juin 2012

Oui, effectivement les choses ne sont pas claires pour moi d'un point de vue programmation car je début et essais de comprendre le langage VBA. Je me sers uniquement des informations que je trouve sur le net. Donc pas facile quand t'on n'a pas appris le langage VBA pour essais de réaliser un programme personnel pour se simplifier la vie de tous les jours.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
1)
Je me sers uniquement des informations que je trouve sur le net.


Très mauvaise démarche, selon ce que je pense. Et si tu commençais plutôt par la lecture (si si ! de ton aide VBA ? ). Pour ton info : je n'ai jamais cherché à commencer à développer sans avoir "bûché" cette aide !
2)
Donc pas facile quand t'on n'a pas appris le langage VBA pour essais de réaliser un programme personnel pour se simplifier la vie de tous les jours

Ben ... le choix est alors vite "vu" :
- ou tu apprends (et voir le point 1)) dans le but de devenir un développeur
- ou tu veux simplement "te simplifier la vie" et il te reviendra beaucoup moins cher (le temps, c'est de l'argent) de louer les services de quelqu'un qui, lui, a appris. Pour ton info : n'importe quelle tâche (y compris d'aide ménagère) accomplie pendant tout le temps que te fait perdre ta "démarche" de type : faire (plutôt "faire faire", d'ailleurs, apparemment) sans savoir et à travers des exemples recherchés (combien de temps) partout ... te rapportera beaucoup plus d'argent que celui que tu dépenserais pour louer les services d'un développeur (surtout pour des choses simples !). Et il les fera mille fois mieux que toi.
Voilà ! Un choix réel à faire, ami.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Une chose est certaine : en venant ici, tu viens sur un forum de développeurs.
C'est-à-dire de personnes qui ont choisi de développer. D'apprendre, donc. Et qui sont censées le faire sérieusement (en apprenant leur outil).
Ces développeurs peuvent, ici ou là, être confrontés à une difficulté spécifique particulière, que la simple connaissance de ce qu'expose l'aide en ligne de leur outil ne leur permet pas de résoudre. Ils viennent alors consulter d'autres développeurs, non pour apprendre leur langage, mais pour avoir leur avis, leurs conseils. Pour résumer : échanger entre développeurs.
Cela t'étonnerait-il ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
8
Date d'inscription
lundi 31 octobre 2011
Statut
Membre
Dernière intervention
29 juin 2012

Je suis entièrement d'accord avec toi, cette une chose que j'essaie de faire dès que j'ai un peu de temps libre. le souci et que je ne sais pas trop par où commencer, jus-cou je dois approfondir mes connaissances par rapport à mes besoins et avec quel support je dois le réaliser.
il me semblait plus simple de venir sur un site comme celui-là pour trouvait réponse à mes questions. Je me suis peut-être trompé.
Merci quand même d'avoir apporté une attention à mes questions.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
jus-cou je dois approfondir mes connaissances par rapport à mes besoins et avec quel support je dois le réaliser.

Comme moi, alors :
- en lisant ton aide VBA (elle est sur TA machine).
- En t'imposant des exercices de plus en plus complexes de mise en oeuvre de chaque chose ainsi apprise.
- en t'imposant ensuite de tenter de répondre aux questions des autres (excellent exercice)
il me semblait plus simple de venir sur un site comme celui-là pour trouvait réponse à mes questions.

Voilà une vérité, certes. Mais ce chemin là ne mène jamais loin (c'est tellement évident) !
Je me suis peut-être trompé.

Je te laisse décider de la réponse.
Maintenant : chaque fois que tu viendras ici en montrant (à quelque niveau que ce soit) que la difficulté spécifique rencontrée correspond à peu près au niveau des connaissances de base acquises ===>> tu trouveras mon aide (et même plus) et mon amitié. Mais pas n'importe comment.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ