Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] Combobox en cascades

7 réponses
Avatar
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

7 réponses

Avatar
JB
Bonjour,

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

JB
On 9 sep, 17:17, "Jacques Gronier" wrote:
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


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

"JB" a écrit dans le message de news:

Bonjour,

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

JB
On 9 sep, 17:17, "Jacques Gronier" wrote:
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


Avatar
Jacques Gronier
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" a écrit dans le message de news:
4aa7cb09$0$12630$


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

"JB" a écrit dans le message de news:

Bonjour,

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

JB
On 9 sep, 17:17, "Jacques Gronier" wrote:
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






Avatar
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" a écrit dans le message de
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" a écrit dans le message de news:
4aa7cb09$0$12630$


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

"JB" a écrit dans le message de news:

Bonjour,

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

JB
On 9 sep, 17:17, "Jacques Gronier" wrote:
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










Avatar
Jacques Gronier
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" <le a écrit dans le message de news:

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" a écrit dans le message de
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" a écrit dans le message de news:
4aa7cb09$0$12630$


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

"JB" a écrit dans le message de news:

Bonjour,

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

JB
On 9 sep, 17:17, "Jacques Gronier" wrote:
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













Avatar
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" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://irolog.free.fr
_______________________
.
.


"Jacques Gronier" a écrit dans le message de
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" <le a écrit dans le message de news:

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" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://irolog.free.fr
_______________________
.
.


"Jacques Gronier" a écrit dans le message de
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" a écrit dans le message de news:
4aa7cb09$0$12630$


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

"JB" a écrit dans le message de news:

Bonjour,

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

JB
On 9 sep, 17:17, "Jacques Gronier" wrote:
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

















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

--
Bien Cordialement

Jacques Gronier


"LE TROLL" <le a écrit dans le message de news:

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" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://irolog.free.fr
_______________________
.
.


"Jacques Gronier" a écrit dans le message de
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" <le a écrit dans le message de news:

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" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://irolog.free.fr
_______________________
.
.


"Jacques Gronier" a écrit dans le message de
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" a écrit dans le message de news:
4aa7cb09$0$12630$


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

"JB" a écrit dans le message de news:

Bonjour,

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

JB
On 9 sep, 17:17, "Jacques Gronier" wrote:
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