[VBA] Combobox en cascades

Le
Jacques Gronier
Bonjour,
Dans le cadre d'un suivi de stock, j'ai fait un petit fichier permettant de
créer des entrées et des sorties, à l'aide d'un Userform.
Le premier combobox, permet grâce à une liste déroulante, dont la source est
une plage dite "Catalogue", de lire, référence et libellé, j'en enregistre
la Référence, je souhaiterai pourvoir mettre à disposition sur le Userform,
le stock correspondant à la référence choisie ( la cellule se trouve en
colonne C du " Catalogue".
Soit en affichant les colonnes 1 et 3 dans le Combobox1, ou par tout autre
moyen.

Merci d'avance
Bien cordialement
Jacques
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #20103901
Bonjour,

http://boisgontierjacques.free.fr/pages_site/formulairecascade.htm

JB
On 9 sep, 17:17, "Jacques Gronier"
Bonjour,
Dans le cadre d'un suivi de stock, j'ai fait un petit fichier permettant de
créer des entrées  et des sorties, à l'aide d'un Userform.
Le premier combobox, permet grâce à une liste déroulante, dont la s ource est
une plage dite "Catalogue", de lire, référence et libellé, j'en enr egistre
la Référence, je souhaiterai pourvoir mettre à disposition sur le U serform,
le stock correspondant à la référence choisie ( la cellule se trouv e en
colonne C du " Catalogue".
Soit en affichant les colonnes 1 et 3 dans le Combobox1, ou par tout autr e
moyen.

Merci d'avance
Bien cordialement
Jacques


Jacques Gronier
Le #20104081
Merci Beaucoup,
Voilà de la saine lecture !!!
Bien Cordialement
Jacques

"JB"
Bonjour,

http://boisgontierjacques.free.fr/pages_site/formulairecascade.htm

JB
On 9 sep, 17:17, "Jacques Gronier"
Bonjour,
Dans le cadre d'un suivi de stock, j'ai fait un petit fichier permettant
de
créer des entrées et des sorties, à l'aide d'un Userform.
Le premier combobox, permet grâce à une liste déroulante, dont la source
est
une plage dite "Catalogue", de lire, référence et libellé, j'en enregistre
la Référence, je souhaiterai pourvoir mettre à disposition sur le
Userform,
le stock correspondant à la référence choisie ( la cellule se trouve en
colonne C du " Catalogue".
Soit en affichant les colonnes 1 et 3 dans le Combobox1, ou par tout autre
moyen.

Merci d'avance
Bien cordialement
Jacques


Jacques Gronier
Le #20193371
Bonjour,
J'ai trouvé une solution qui correspondait mieux à mon besoin avec la mise
en place de ListBox selon la Méthode d'Alain Vallon décrite dans le fichier
sur Excelabo.
Dans mon Userform, j'avais laissé la possibilité de faire plusieurs
mouvements de stocks " à la file", sans avoir à reprendre la procédure
complète.
Malheureusement depuis que j'ai ajouté la procédure pour les affichages
Libellé et Quantité, j'ai un bug dans le valider et suite ( le focus reste
sur le formulaire)

Private Sub CboComptes_Change()
TextBoxlibelle.Text = Application.Index(Range("Libellé"),
cboComptes.ListIndex + 1)
TextBoxqtestock.Text = Application.Index(Range("STOCK"),
cboComptes.ListIndex + 1)
End Sub



Private Sub cmdEnregistrerEtFin_Click()
TextBoxlibelle.Text = ""
TextBoxqtestock.Text = ""
If (cboComptes.Value = "" Or IsNull(cboComptes.Value)) Then
MsgBox ("Erreur vous devez choisir une Référence.")
cboComptes.SetFocus
ElseIf (cboMouvements.Value = "" Or IsNull(cboMouvements.Value)) Then
MsgBox ("Erreur vous devez choisir un mouvement.")
cboMouvements.SetFocus
ElseIf (TextLot.Value = "" Or IsNull(TextLot.Value)) Then
MsgBox ("Erreur vous devez choisir un Numéro de LOT.")
txtLot.SelStart = 0
txtLot.SelLength = Len(txtMontant.Text)
txtLot.SetFocus
ElseIf (cboCategories.Value = "" Or IsNull(cboCategories.Value)) Then
MsgBox ("Erreur vous devez choisir une catégorie.")
cboCategories.SetFocus
ElseIf (txtMontant.Text = "" Or IsNull(txtMontant.Text)) Then
MsgBox ("Erreur vous devez entrer une Quantité.")
txtMontant.SetFocus
ElseIf Not (IsNumeric(txtMontant.Text)) Then
MsgBox ("Erreur le montant doit être numérique.")
txtMontant.SelStart = 0
txtMontant.SelLength = Len(txtMontant.Text)
txtMontant.SetFocus
Else
Call Enregistrer
ActiveWorkbook.Worksheets("Journal").Activate
End
End If
End Sub

Private Sub cmdEnregistrerEtSuite_Click()
TextBoxlibelle.Text = ""
TextBoxqtestock.Text = ""
If (cboComptes.Value = "" Or IsNull(cboComptes.Value)) Then
MsgBox ("Erreur vous devez choisir une Référence.")
cboComptes.SetFocus
ElseIf (cboMouvements.Value = "" Or IsNull(cboMouvements.Value)) Then
MsgBox ("Erreur vous devez choisir un mouvement.")
cboMouvements.SetFocus
ElseIf (TextLot.Value = "" Or IsNull(TextLot.Value)) Then
MsgBox ("Erreur vous devez choisir un Numéro de LOT.")
txtLot.SelStart = 0
txtLot.SelLength = Len(txtMontant.Text)
txtLot.SetFocus
ElseIf (cboCategories.Value = "" Or IsNull(cboCategories.Value)) Then
MsgBox ("Erreur vous devez choisir une catégorie.")
cboCategories.SetFocus
ElseIf (txtMontant.Text = "" Or IsNull(txtMontant.Text)) Then
MsgBox ("Erreur vous devez entrer une Quantité.")
txtMontant.SetFocus
ElseIf Not (IsNumeric(txtMontant.Text)) Then
MsgBox ("Erreur le montant doit être numérique.")
txtMontant.SelStart = 0
txtMontant.SelLength = Len(txtMontant.Text)
txtMontant.SetFocus
Else

Call Enregistrer
cboComptes.Value = ""
cboCompetitions.Value = ""
cboMouvements.Value = ""
cboCategories.Value = ""
txtMontant.Text = ""
End If
End Sub

D'avance, je vous remercie du coup de main

Bien Cordialement

Jacques Gronier



"Jacques Gronier" 4aa7cb09$0$12630$


Merci Beaucoup,
Voilà de la saine lecture !!!
Bien Cordialement
Jacques

"JB"
Bonjour,

http://boisgontierjacques.free.fr/pages_site/formulairecascade.htm

JB
On 9 sep, 17:17, "Jacques Gronier"
Bonjour,
Dans le cadre d'un suivi de stock, j'ai fait un petit fichier permettant
de
créer des entrées et des sorties, à l'aide d'un Userform.
Le premier combobox, permet grâce à une liste déroulante, dont la source
est
une plage dite "Catalogue", de lire, référence et libellé, j'en
enregistre
la Référence, je souhaiterai pourvoir mettre à disposition sur le
Userform,
le stock correspondant à la référence choisie ( la cellule se trouve en
colonne C du " Catalogue".
Soit en affichant les colonnes 1 et 3 dans le Combobox1, ou par tout
autre
moyen.

Merci d'avance
Bien cordialement
Jacques






LE TROLL
Le #20193751
Bonjour,

Juste un truc : quand il y a une grande quantité de tests (if), le
"select case" est plus indiqué, plus clair et plus rapide...

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Jacques Gronier" news:4ab75550$0$12640$
Bonjour,
J'ai trouvé une solution qui correspondait mieux à mon besoin avec la mise
en place de ListBox selon la Méthode d'Alain Vallon décrite dans le
fichier sur Excelabo.
Dans mon Userform, j'avais laissé la possibilité de faire plusieurs
mouvements de stocks " à la file", sans avoir à reprendre la procédure
complète.
Malheureusement depuis que j'ai ajouté la procédure pour les affichages
Libellé et Quantité, j'ai un bug dans le valider et suite ( le focus reste
sur le formulaire)

Private Sub CboComptes_Change()
TextBoxlibelle.Text = Application.Index(Range("Libellé"),
cboComptes.ListIndex + 1)
TextBoxqtestock.Text = Application.Index(Range("STOCK"),
cboComptes.ListIndex + 1)
End Sub



Private Sub cmdEnregistrerEtFin_Click()
TextBoxlibelle.Text = ""
TextBoxqtestock.Text = ""
If (cboComptes.Value = "" Or IsNull(cboComptes.Value)) Then
MsgBox ("Erreur vous devez choisir une Référence.")
cboComptes.SetFocus
ElseIf (cboMouvements.Value = "" Or IsNull(cboMouvements.Value)) Then
MsgBox ("Erreur vous devez choisir un mouvement.")
cboMouvements.SetFocus
ElseIf (TextLot.Value = "" Or IsNull(TextLot.Value)) Then
MsgBox ("Erreur vous devez choisir un Numéro de LOT.")
txtLot.SelStart = 0
txtLot.SelLength = Len(txtMontant.Text)
txtLot.SetFocus
ElseIf (cboCategories.Value = "" Or IsNull(cboCategories.Value)) Then
MsgBox ("Erreur vous devez choisir une catégorie.")
cboCategories.SetFocus
ElseIf (txtMontant.Text = "" Or IsNull(txtMontant.Text)) Then
MsgBox ("Erreur vous devez entrer une Quantité.")
txtMontant.SetFocus
ElseIf Not (IsNumeric(txtMontant.Text)) Then
MsgBox ("Erreur le montant doit être numérique.")
txtMontant.SelStart = 0
txtMontant.SelLength = Len(txtMontant.Text)
txtMontant.SetFocus
Else
Call Enregistrer
ActiveWorkbook.Worksheets("Journal").Activate
End
End If
End Sub

Private Sub cmdEnregistrerEtSuite_Click()
TextBoxlibelle.Text = ""
TextBoxqtestock.Text = ""
If (cboComptes.Value = "" Or IsNull(cboComptes.Value)) Then
MsgBox ("Erreur vous devez choisir une Référence.")
cboComptes.SetFocus
ElseIf (cboMouvements.Value = "" Or IsNull(cboMouvements.Value)) Then
MsgBox ("Erreur vous devez choisir un mouvement.")
cboMouvements.SetFocus
ElseIf (TextLot.Value = "" Or IsNull(TextLot.Value)) Then
MsgBox ("Erreur vous devez choisir un Numéro de LOT.")
txtLot.SelStart = 0
txtLot.SelLength = Len(txtMontant.Text)
txtLot.SetFocus
ElseIf (cboCategories.Value = "" Or IsNull(cboCategories.Value)) Then
MsgBox ("Erreur vous devez choisir une catégorie.")
cboCategories.SetFocus
ElseIf (txtMontant.Text = "" Or IsNull(txtMontant.Text)) Then
MsgBox ("Erreur vous devez entrer une Quantité.")
txtMontant.SetFocus
ElseIf Not (IsNumeric(txtMontant.Text)) Then
MsgBox ("Erreur le montant doit être numérique.")
txtMontant.SelStart = 0
txtMontant.SelLength = Len(txtMontant.Text)
txtMontant.SetFocus
Else

Call Enregistrer
cboComptes.Value = ""
cboCompetitions.Value = ""
cboMouvements.Value = ""
cboCategories.Value = ""
txtMontant.Text = ""
End If
End Sub

D'avance, je vous remercie du coup de main

Bien Cordialement

Jacques Gronier



"Jacques Gronier" 4aa7cb09$0$12630$


Merci Beaucoup,
Voilà de la saine lecture !!!
Bien Cordialement
Jacques

"JB"
Bonjour,

http://boisgontierjacques.free.fr/pages_site/formulairecascade.htm

JB
On 9 sep, 17:17, "Jacques Gronier"
Bonjour,
Dans le cadre d'un suivi de stock, j'ai fait un petit fichier permettant
de
créer des entrées et des sorties, à l'aide d'un Userform.
Le premier combobox, permet grâce à une liste déroulante, dont la source
est
une plage dite "Catalogue", de lire, référence et libellé, j'en
enregistre
la Référence, je souhaiterai pourvoir mettre à disposition sur le
Userform,
le stock correspondant à la référence choisie ( la cellule se trouve en
colonne C du " Catalogue".
Soit en affichant les colonnes 1 et 3 dans le Combobox1, ou par tout
autre
moyen.

Merci d'avance
Bien cordialement
Jacques










Jacques Gronier
Le #20194051
Merci,
En fait chaque "IF" correspond à une zone à renseigner
Référence
Type de mouvement
N° Lot
Type de produit ( fini, semi fini)
et enfin quantité...
Je vais regarder pour la mise en place de select ( que je ne connais pas
!!), mais la boucle fonctionnait avant, je ne suis pas sûr que cette mise en
forme "sauvage" soit responsable du "Bug"
En tout cas merci d'avoir pris le temps de regarder

--
Bien Cordialement

Jacques Gronier


"LE TROLL"
Bonjour,

Juste un truc : quand il y a une grande quantité de tests (if), le
"select case" est plus indiqué, plus clair et plus rapide...

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Jacques Gronier" news:4ab75550$0$12640$
Bonjour,
J'ai trouvé une solution qui correspondait mieux à mon besoin avec la
mise en place de ListBox selon la Méthode d'Alain Vallon décrite dans le
fichier sur Excelabo.
Dans mon Userform, j'avais laissé la possibilité de faire plusieurs
mouvements de stocks " à la file", sans avoir à reprendre la procédure
complète.
Malheureusement depuis que j'ai ajouté la procédure pour les affichages
Libellé et Quantité, j'ai un bug dans le valider et suite ( le focus
reste sur le formulaire)

Private Sub CboComptes_Change()
TextBoxlibelle.Text = Application.Index(Range("Libellé"),
cboComptes.ListIndex + 1)
TextBoxqtestock.Text = Application.Index(Range("STOCK"),
cboComptes.ListIndex + 1)
End Sub



Private Sub cmdEnregistrerEtFin_Click()
TextBoxlibelle.Text = ""
TextBoxqtestock.Text = ""
If (cboComptes.Value = "" Or IsNull(cboComptes.Value)) Then
MsgBox ("Erreur vous devez choisir une Référence.")
cboComptes.SetFocus
ElseIf (cboMouvements.Value = "" Or IsNull(cboMouvements.Value)) Then
MsgBox ("Erreur vous devez choisir un mouvement.")
cboMouvements.SetFocus
ElseIf (TextLot.Value = "" Or IsNull(TextLot.Value)) Then
MsgBox ("Erreur vous devez choisir un Numéro de LOT.")
txtLot.SelStart = 0
txtLot.SelLength = Len(txtMontant.Text)
txtLot.SetFocus
ElseIf (cboCategories.Value = "" Or IsNull(cboCategories.Value)) Then
MsgBox ("Erreur vous devez choisir une catégorie.")
cboCategories.SetFocus
ElseIf (txtMontant.Text = "" Or IsNull(txtMontant.Text)) Then
MsgBox ("Erreur vous devez entrer une Quantité.")
txtMontant.SetFocus
ElseIf Not (IsNumeric(txtMontant.Text)) Then
MsgBox ("Erreur le montant doit être numérique.")
txtMontant.SelStart = 0
txtMontant.SelLength = Len(txtMontant.Text)
txtMontant.SetFocus
Else
Call Enregistrer
ActiveWorkbook.Worksheets("Journal").Activate
End
End If
End Sub

Private Sub cmdEnregistrerEtSuite_Click()
TextBoxlibelle.Text = ""
TextBoxqtestock.Text = ""
If (cboComptes.Value = "" Or IsNull(cboComptes.Value)) Then
MsgBox ("Erreur vous devez choisir une Référence.")
cboComptes.SetFocus
ElseIf (cboMouvements.Value = "" Or IsNull(cboMouvements.Value)) Then
MsgBox ("Erreur vous devez choisir un mouvement.")
cboMouvements.SetFocus
ElseIf (TextLot.Value = "" Or IsNull(TextLot.Value)) Then
MsgBox ("Erreur vous devez choisir un Numéro de LOT.")
txtLot.SelStart = 0
txtLot.SelLength = Len(txtMontant.Text)
txtLot.SetFocus
ElseIf (cboCategories.Value = "" Or IsNull(cboCategories.Value)) Then
MsgBox ("Erreur vous devez choisir une catégorie.")
cboCategories.SetFocus
ElseIf (txtMontant.Text = "" Or IsNull(txtMontant.Text)) Then
MsgBox ("Erreur vous devez entrer une Quantité.")
txtMontant.SetFocus
ElseIf Not (IsNumeric(txtMontant.Text)) Then
MsgBox ("Erreur le montant doit être numérique.")
txtMontant.SelStart = 0
txtMontant.SelLength = Len(txtMontant.Text)
txtMontant.SetFocus
Else

Call Enregistrer
cboComptes.Value = ""
cboCompetitions.Value = ""
cboMouvements.Value = ""
cboCategories.Value = ""
txtMontant.Text = ""
End If
End Sub

D'avance, je vous remercie du coup de main

Bien Cordialement

Jacques Gronier



"Jacques Gronier" 4aa7cb09$0$12630$


Merci Beaucoup,
Voilà de la saine lecture !!!
Bien Cordialement
Jacques

"JB"
Bonjour,

http://boisgontierjacques.free.fr/pages_site/formulairecascade.htm

JB
On 9 sep, 17:17, "Jacques Gronier"
Bonjour,
Dans le cadre d'un suivi de stock, j'ai fait un petit fichier
permettant de
créer des entrées et des sorties, à l'aide d'un Userform.
Le premier combobox, permet grâce à une liste déroulante, dont la
source est
une plage dite "Catalogue", de lire, référence et libellé, j'en
enregistre
la Référence, je souhaiterai pourvoir mettre à disposition sur le
Userform,
le stock correspondant à la référence choisie ( la cellule se trouve en
colonne C du " Catalogue".
Soit en affichant les colonnes 1 et 3 dans le Combobox1, ou par tout
autre
moyen.

Merci d'avance
Bien cordialement
Jacques













LE TROLL
Le #20194641
Voici :

dim nomVariable
nomVariable = 1
Select case nomVariable
case 1
fait ceci
case 3
fait autre chose
case else
et pour le reste
end select

case
peut être
= 1, is > 1, is <, <>, nommé 1, 2, 4, 8, 16, texte "leTexte"...
Si une condition est remplie, par exemple nomVariable = 1, et que ton teste
est case 1 (= 1) donc, les seules instructions de cette condition seront
exécutées, ensuite ça sort, ce qui revient à (mais ne pas le mettre)
case 1
condition réalisée, fait ceci puis goto fin
case 2
...
end select
fin:

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Jacques Gronier" news:4ab76fd1$0$12659$
Merci,
En fait chaque "IF" correspond à une zone à renseigner
Référence
Type de mouvement
N° Lot
Type de produit ( fini, semi fini)
et enfin quantité...
Je vais regarder pour la mise en place de select ( que je ne connais pas
!!), mais la boucle fonctionnait avant, je ne suis pas sûr que cette mise
en forme "sauvage" soit responsable du "Bug"
En tout cas merci d'avoir pris le temps de regarder

--
Bien Cordialement

Jacques Gronier


"LE TROLL"
Bonjour,

Juste un truc : quand il y a une grande quantité de tests (if), le
"select case" est plus indiqué, plus clair et plus rapide...

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Jacques Gronier" news:4ab75550$0$12640$
Bonjour,
J'ai trouvé une solution qui correspondait mieux à mon besoin avec la
mise en place de ListBox selon la Méthode d'Alain Vallon décrite dans le
fichier sur Excelabo.
Dans mon Userform, j'avais laissé la possibilité de faire plusieurs
mouvements de stocks " à la file", sans avoir à reprendre la procédure
complète.
Malheureusement depuis que j'ai ajouté la procédure pour les affichages
Libellé et Quantité, j'ai un bug dans le valider et suite ( le focus
reste sur le formulaire)

Private Sub CboComptes_Change()
TextBoxlibelle.Text = Application.Index(Range("Libellé"),
cboComptes.ListIndex + 1)
TextBoxqtestock.Text = Application.Index(Range("STOCK"),
cboComptes.ListIndex + 1)
End Sub



Private Sub cmdEnregistrerEtFin_Click()
TextBoxlibelle.Text = ""
TextBoxqtestock.Text = ""
If (cboComptes.Value = "" Or IsNull(cboComptes.Value)) Then
MsgBox ("Erreur vous devez choisir une Référence.")
cboComptes.SetFocus
ElseIf (cboMouvements.Value = "" Or IsNull(cboMouvements.Value)) Then
MsgBox ("Erreur vous devez choisir un mouvement.")
cboMouvements.SetFocus
ElseIf (TextLot.Value = "" Or IsNull(TextLot.Value)) Then
MsgBox ("Erreur vous devez choisir un Numéro de LOT.")
txtLot.SelStart = 0
txtLot.SelLength = Len(txtMontant.Text)
txtLot.SetFocus
ElseIf (cboCategories.Value = "" Or IsNull(cboCategories.Value)) Then
MsgBox ("Erreur vous devez choisir une catégorie.")
cboCategories.SetFocus
ElseIf (txtMontant.Text = "" Or IsNull(txtMontant.Text)) Then
MsgBox ("Erreur vous devez entrer une Quantité.")
txtMontant.SetFocus
ElseIf Not (IsNumeric(txtMontant.Text)) Then
MsgBox ("Erreur le montant doit être numérique.")
txtMontant.SelStart = 0
txtMontant.SelLength = Len(txtMontant.Text)
txtMontant.SetFocus
Else
Call Enregistrer
ActiveWorkbook.Worksheets("Journal").Activate
End
End If
End Sub

Private Sub cmdEnregistrerEtSuite_Click()
TextBoxlibelle.Text = ""
TextBoxqtestock.Text = ""
If (cboComptes.Value = "" Or IsNull(cboComptes.Value)) Then
MsgBox ("Erreur vous devez choisir une Référence.")
cboComptes.SetFocus
ElseIf (cboMouvements.Value = "" Or IsNull(cboMouvements.Value)) Then
MsgBox ("Erreur vous devez choisir un mouvement.")
cboMouvements.SetFocus
ElseIf (TextLot.Value = "" Or IsNull(TextLot.Value)) Then
MsgBox ("Erreur vous devez choisir un Numéro de LOT.")
txtLot.SelStart = 0
txtLot.SelLength = Len(txtMontant.Text)
txtLot.SetFocus
ElseIf (cboCategories.Value = "" Or IsNull(cboCategories.Value)) Then
MsgBox ("Erreur vous devez choisir une catégorie.")
cboCategories.SetFocus
ElseIf (txtMontant.Text = "" Or IsNull(txtMontant.Text)) Then
MsgBox ("Erreur vous devez entrer une Quantité.")
txtMontant.SetFocus
ElseIf Not (IsNumeric(txtMontant.Text)) Then
MsgBox ("Erreur le montant doit être numérique.")
txtMontant.SelStart = 0
txtMontant.SelLength = Len(txtMontant.Text)
txtMontant.SetFocus
Else

Call Enregistrer
cboComptes.Value = ""
cboCompetitions.Value = ""
cboMouvements.Value = ""
cboCategories.Value = ""
txtMontant.Text = ""
End If
End Sub

D'avance, je vous remercie du coup de main

Bien Cordialement

Jacques Gronier



"Jacques Gronier" 4aa7cb09$0$12630$


Merci Beaucoup,
Voilà de la saine lecture !!!
Bien Cordialement
Jacques

"JB"
Bonjour,

http://boisgontierjacques.free.fr/pages_site/formulairecascade.htm

JB
On 9 sep, 17:17, "Jacques Gronier"
Bonjour,
Dans le cadre d'un suivi de stock, j'ai fait un petit fichier
permettant de
créer des entrées et des sorties, à l'aide d'un Userform.
Le premier combobox, permet grâce à une liste déroulante, dont la
source est
une plage dite "Catalogue", de lire, référence et libellé, j'en
enregistre
la Référence, je souhaiterai pourvoir mettre à disposition sur le
Userform,
le stock correspondant à la référence choisie ( la cellule se trouve
en
colonne C du " Catalogue".
Soit en affichant les colonnes 1 et 3 dans le Combobox1, ou par tout
autre
moyen.

Merci d'avance
Bien cordialement
Jacques

















Jacques Gronier
Le #20195321
Merci d'avoir pris le temps de m'expliquer cette procédure !!!

--
Bien Cordialement

Jacques Gronier


"LE TROLL"
Voici :

dim nomVariable
nomVariable = 1
Select case nomVariable
case 1
fait ceci
case 3
fait autre chose
case else
et pour le reste
end select

case
peut être
= 1, is > 1, is <, <>, nommé 1, 2, 4, 8, 16, texte "leTexte"...
Si une condition est remplie, par exemple nomVariable = 1, et que ton
teste est case 1 (= 1) donc, les seules instructions de cette condition
seront exécutées, ensuite ça sort, ce qui revient à (mais ne pas le
mettre)
case 1
condition réalisée, fait ceci puis goto fin
case 2
...
end select
fin:

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Jacques Gronier" news:4ab76fd1$0$12659$
Merci,
En fait chaque "IF" correspond à une zone à renseigner
Référence
Type de mouvement
N° Lot
Type de produit ( fini, semi fini)
et enfin quantité...
Je vais regarder pour la mise en place de select ( que je ne connais pas
!!), mais la boucle fonctionnait avant, je ne suis pas sûr que cette mise
en forme "sauvage" soit responsable du "Bug"
En tout cas merci d'avoir pris le temps de regarder

--
Bien Cordialement

Jacques Gronier


"LE TROLL"
Bonjour,

Juste un truc : quand il y a une grande quantité de tests (if), le
"select case" est plus indiqué, plus clair et plus rapide...

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Jacques Gronier" news:4ab75550$0$12640$
Bonjour,
J'ai trouvé une solution qui correspondait mieux à mon besoin avec la
mise en place de ListBox selon la Méthode d'Alain Vallon décrite dans
le fichier sur Excelabo.
Dans mon Userform, j'avais laissé la possibilité de faire plusieurs
mouvements de stocks " à la file", sans avoir à reprendre la procédure
complète.
Malheureusement depuis que j'ai ajouté la procédure pour les affichages
Libellé et Quantité, j'ai un bug dans le valider et suite ( le focus
reste sur le formulaire)

Private Sub CboComptes_Change()
TextBoxlibelle.Text = Application.Index(Range("Libellé"),
cboComptes.ListIndex + 1)
TextBoxqtestock.Text = Application.Index(Range("STOCK"),
cboComptes.ListIndex + 1)
End Sub



Private Sub cmdEnregistrerEtFin_Click()
TextBoxlibelle.Text = ""
TextBoxqtestock.Text = ""
If (cboComptes.Value = "" Or IsNull(cboComptes.Value)) Then
MsgBox ("Erreur vous devez choisir une Référence.")
cboComptes.SetFocus
ElseIf (cboMouvements.Value = "" Or IsNull(cboMouvements.Value))
Then
MsgBox ("Erreur vous devez choisir un mouvement.")
cboMouvements.SetFocus
ElseIf (TextLot.Value = "" Or IsNull(TextLot.Value)) Then
MsgBox ("Erreur vous devez choisir un Numéro de LOT.")
txtLot.SelStart = 0
txtLot.SelLength = Len(txtMontant.Text)
txtLot.SetFocus
ElseIf (cboCategories.Value = "" Or IsNull(cboCategories.Value))
Then
MsgBox ("Erreur vous devez choisir une catégorie.")
cboCategories.SetFocus
ElseIf (txtMontant.Text = "" Or IsNull(txtMontant.Text)) Then
MsgBox ("Erreur vous devez entrer une Quantité.")
txtMontant.SetFocus
ElseIf Not (IsNumeric(txtMontant.Text)) Then
MsgBox ("Erreur le montant doit être numérique.")
txtMontant.SelStart = 0
txtMontant.SelLength = Len(txtMontant.Text)
txtMontant.SetFocus
Else
Call Enregistrer
ActiveWorkbook.Worksheets("Journal").Activate
End
End If
End Sub

Private Sub cmdEnregistrerEtSuite_Click()
TextBoxlibelle.Text = ""
TextBoxqtestock.Text = ""
If (cboComptes.Value = "" Or IsNull(cboComptes.Value)) Then
MsgBox ("Erreur vous devez choisir une Référence.")
cboComptes.SetFocus
ElseIf (cboMouvements.Value = "" Or IsNull(cboMouvements.Value))
Then
MsgBox ("Erreur vous devez choisir un mouvement.")
cboMouvements.SetFocus
ElseIf (TextLot.Value = "" Or IsNull(TextLot.Value)) Then
MsgBox ("Erreur vous devez choisir un Numéro de LOT.")
txtLot.SelStart = 0
txtLot.SelLength = Len(txtMontant.Text)
txtLot.SetFocus
ElseIf (cboCategories.Value = "" Or IsNull(cboCategories.Value))
Then
MsgBox ("Erreur vous devez choisir une catégorie.")
cboCategories.SetFocus
ElseIf (txtMontant.Text = "" Or IsNull(txtMontant.Text)) Then
MsgBox ("Erreur vous devez entrer une Quantité.")
txtMontant.SetFocus
ElseIf Not (IsNumeric(txtMontant.Text)) Then
MsgBox ("Erreur le montant doit être numérique.")
txtMontant.SelStart = 0
txtMontant.SelLength = Len(txtMontant.Text)
txtMontant.SetFocus
Else

Call Enregistrer
cboComptes.Value = ""
cboCompetitions.Value = ""
cboMouvements.Value = ""
cboCategories.Value = ""
txtMontant.Text = ""
End If
End Sub

D'avance, je vous remercie du coup de main

Bien Cordialement

Jacques Gronier



"Jacques Gronier" 4aa7cb09$0$12630$


Merci Beaucoup,
Voilà de la saine lecture !!!
Bien Cordialement
Jacques

"JB"
Bonjour,

http://boisgontierjacques.free.fr/pages_site/formulairecascade.htm

JB
On 9 sep, 17:17, "Jacques Gronier"
Bonjour,
Dans le cadre d'un suivi de stock, j'ai fait un petit fichier
permettant de
créer des entrées et des sorties, à l'aide d'un Userform.
Le premier combobox, permet grâce à une liste déroulante, dont la
source est
une plage dite "Catalogue", de lire, référence et libellé, j'en
enregistre
la Référence, je souhaiterai pourvoir mettre à disposition sur le
Userform,
le stock correspondant à la référence choisie ( la cellule se trouve
en
colonne C du " Catalogue".
Soit en affichant les colonnes 1 et 3 dans le Combobox1, ou par tout
autre
moyen.

Merci d'avance
Bien cordialement
Jacques




















Publicité
Poster une réponse
Anonyme