Bonjour,
j'ai monté une petite application pour gérer quelque document, elle est
composée de deux feuilles : la "baseDoc" et la feuille "Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre en
rappelant les datas de la ligne sélectionnée; référence, titre de la doc,
Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et Qte
commandée... En validant, les données de la commande : réf., date commande
et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la ligne
ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de nouveau les
datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de commande
(data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent aux
datas de la commande sélectionnées par le Double-click dans la baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2 critères
doivent identifier qu'un seul item ) afin de lire les données souhaitées,
ce qui n'est pas évident pour l'instant je n'ai pas beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver mes
données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
Bonjour,
j'ai monté une petite application pour gérer quelque document, elle est
composée de deux feuilles : la "baseDoc" et la feuille "Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre en
rappelant les datas de la ligne sélectionnée; référence, titre de la doc,
Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et Qte
commandée... En validant, les données de la commande : réf., date commande
et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la ligne
ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de nouveau les
datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de commande
(data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent aux
datas de la commande sélectionnées par le Double-click dans la baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2 critères
doivent identifier qu'un seul item ) afin de lire les données souhaitées,
ce qui n'est pas évident pour l'instant je n'ai pas beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver mes
données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
Bonjour,
j'ai monté une petite application pour gérer quelque document, elle est
composée de deux feuilles : la "baseDoc" et la feuille "Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre en
rappelant les datas de la ligne sélectionnée; référence, titre de la doc,
Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et Qte
commandée... En validant, les données de la commande : réf., date commande
et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la ligne
ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de nouveau les
datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de commande
(data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent aux
datas de la commande sélectionnées par le Double-click dans la baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2 critères
doivent identifier qu'un seul item ) afin de lire les données souhaitées,
ce qui n'est pas évident pour l'instant je n'ai pas beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver mes
données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et txtDate en
col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" a écrit dans le message de
news: dp1iv8$pjo$Bonjour,
j'ai monté une petite application pour gérer quelque document, elle est
composée de deux feuilles : la "baseDoc" et la feuille "Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre en
rappelant les datas de la ligne sélectionnée; référence, titre de la doc,
Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et Qte
commandée... En validant, les données de la commande : réf., date
commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la ligne
ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de nouveau les
datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de commande
(data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent aux
datas de la commande sélectionnées par le Double-click dans la baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2 critères
doivent identifier qu'un seul item ) afin de lire les données souhaitées,
ce qui n'est pas évident pour l'instant je n'ai pas beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver mes
données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et txtDate en
col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" <mark.desnoyer@tiscali.fr> a écrit dans le message de
news: dp1iv8$pjo$1@news.tiscali.fr...
Bonjour,
j'ai monté une petite application pour gérer quelque document, elle est
composée de deux feuilles : la "baseDoc" et la feuille "Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre en
rappelant les datas de la ligne sélectionnée; référence, titre de la doc,
Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et Qte
commandée... En validant, les données de la commande : réf., date
commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la ligne
ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de nouveau les
datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de commande
(data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent aux
datas de la commande sélectionnées par le Double-click dans la baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2 critères
doivent identifier qu'un seul item ) afin de lire les données souhaitées,
ce qui n'est pas évident pour l'instant je n'ai pas beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver mes
données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et txtDate en
col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" a écrit dans le message de
news: dp1iv8$pjo$Bonjour,
j'ai monté une petite application pour gérer quelque document, elle est
composée de deux feuilles : la "baseDoc" et la feuille "Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre en
rappelant les datas de la ligne sélectionnée; référence, titre de la doc,
Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et Qte
commandée... En validant, les données de la commande : réf., date
commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la ligne
ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de nouveau les
datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de commande
(data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent aux
datas de la commande sélectionnées par le Double-click dans la baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2 critères
doivent identifier qu'un seul item ) afin de lire les données souhaitées,
ce qui n'est pas évident pour l'instant je n'ai pas beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver mes
données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
If Sheets("Mouvement").Cells(lig, 4) = txtTitre and
Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
Bonjour Youky,
j'ai testé ton code, il se déroule bien, mais le Msg n'est pas affiché,
d'ailleur la valeur de lig ne se bloc pas sur la ligne répondant aux
critère.
J'ai rajouté à la place de Msg... la ligne de code : txtQte =
Sheets("Mouvement").Range("G" & Lig).Value, mais la fenêtre txtQte reste
vierge.
"Youky" a écrit dans le message de news:
43b45e67$0$19721$Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et txtDate
en col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" a écrit dans le message de
news: dp1iv8$pjo$Bonjour,
j'ai monté une petite application pour gérer quelque document, elle est
composée de deux feuilles : la "baseDoc" et la feuille "Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre en
rappelant les datas de la ligne sélectionnée; référence, titre de la
doc, Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et
Qte commandée... En validant, les données de la commande : réf., date
commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la ligne
ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de nouveau
les datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de
commande (data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent aux
datas de la commande sélectionnées par le Double-click dans la baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2 critères
doivent identifier qu'un seul item ) afin de lire les données
souhaitées, ce qui n'est pas évident pour l'instant je n'ai pas beaucoup
progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver mes
données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
If Sheets("Mouvement").Cells(lig, 4) = txtTitre and
Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
Bonjour Youky,
j'ai testé ton code, il se déroule bien, mais le Msg n'est pas affiché,
d'ailleur la valeur de lig ne se bloc pas sur la ligne répondant aux
critère.
J'ai rajouté à la place de Msg... la ligne de code : txtQte =
Sheets("Mouvement").Range("G" & Lig).Value, mais la fenêtre txtQte reste
vierge.
"Youky" <bruno.jeune@wanadoo.fr> a écrit dans le message de news:
43b45e67$0$19721$8fcfb975@news.wanadoo.fr...
Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et txtDate
en col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" <mark.desnoyer@tiscali.fr> a écrit dans le message de
news: dp1iv8$pjo$1@news.tiscali.fr...
Bonjour,
j'ai monté une petite application pour gérer quelque document, elle est
composée de deux feuilles : la "baseDoc" et la feuille "Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre en
rappelant les datas de la ligne sélectionnée; référence, titre de la
doc, Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et
Qte commandée... En validant, les données de la commande : réf., date
commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la ligne
ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de nouveau
les datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de
commande (data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent aux
datas de la commande sélectionnées par le Double-click dans la baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2 critères
doivent identifier qu'un seul item ) afin de lire les données
souhaitées, ce qui n'est pas évident pour l'instant je n'ai pas beaucoup
progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver mes
données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
If Sheets("Mouvement").Cells(lig, 4) = txtTitre and
Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
Bonjour Youky,
j'ai testé ton code, il se déroule bien, mais le Msg n'est pas affiché,
d'ailleur la valeur de lig ne se bloc pas sur la ligne répondant aux
critère.
J'ai rajouté à la place de Msg... la ligne de code : txtQte =
Sheets("Mouvement").Range("G" & Lig).Value, mais la fenêtre txtQte reste
vierge.
"Youky" a écrit dans le message de news:
43b45e67$0$19721$Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et txtDate
en col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" a écrit dans le message de
news: dp1iv8$pjo$Bonjour,
j'ai monté une petite application pour gérer quelque document, elle est
composée de deux feuilles : la "baseDoc" et la feuille "Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre en
rappelant les datas de la ligne sélectionnée; référence, titre de la
doc, Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et
Qte commandée... En validant, les données de la commande : réf., date
commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la ligne
ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de nouveau
les datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de
commande (data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent aux
datas de la commande sélectionnées par le Double-click dans la baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2 critères
doivent identifier qu'un seul item ) afin de lire les données
souhaitées, ce qui n'est pas évident pour l'instant je n'ai pas beaucoup
progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver mes
données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
j'ai aussi testé :
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).RowIf Sheets("Mouvement").Cells(lig, 4) = txtTitre and
Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
quand pense tu ?
"mark Desnoyer" a écrit dans le message de
news: dp20os$9md$Bonjour Youky,
j'ai testé ton code, il se déroule bien, mais le Msg n'est pas affiché,
d'ailleur la valeur de lig ne se bloc pas sur la ligne répondant aux
critère.
J'ai rajouté à la place de Msg... la ligne de code : txtQte =
Sheets("Mouvement").Range("G" & Lig).Value, mais la fenêtre txtQte reste
vierge.
"Youky" a écrit dans le message de news:
43b45e67$0$19721$Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et txtDate
en col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" a écrit dans le message de
news: dp1iv8$pjo$Bonjour,
j'ai monté une petite application pour gérer quelque document, elle est
composée de deux feuilles : la "baseDoc" et la feuille "Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre en
rappelant les datas de la ligne sélectionnée; référence, titre de la
doc, Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et
Qte commandée... En validant, les données de la commande : réf., date
commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la ligne
ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de nouveau
les datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de
commande (data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent aux
datas de la commande sélectionnées par le Double-click dans la baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2
critères doivent identifier qu'un seul item ) afin de lire les données
souhaitées, ce qui n'est pas évident pour l'instant je n'ai pas
beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver
mes données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
j'ai aussi testé :
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre and
Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
quand pense tu ?
"mark Desnoyer" <mark.desnoyer@tiscali.fr> a écrit dans le message de
news: dp20os$9md$1@news.tiscali.fr...
Bonjour Youky,
j'ai testé ton code, il se déroule bien, mais le Msg n'est pas affiché,
d'ailleur la valeur de lig ne se bloc pas sur la ligne répondant aux
critère.
J'ai rajouté à la place de Msg... la ligne de code : txtQte =
Sheets("Mouvement").Range("G" & Lig).Value, mais la fenêtre txtQte reste
vierge.
"Youky" <bruno.jeune@wanadoo.fr> a écrit dans le message de news:
43b45e67$0$19721$8fcfb975@news.wanadoo.fr...
Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et txtDate
en col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" <mark.desnoyer@tiscali.fr> a écrit dans le message de
news: dp1iv8$pjo$1@news.tiscali.fr...
Bonjour,
j'ai monté une petite application pour gérer quelque document, elle est
composée de deux feuilles : la "baseDoc" et la feuille "Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre en
rappelant les datas de la ligne sélectionnée; référence, titre de la
doc, Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et
Qte commandée... En validant, les données de la commande : réf., date
commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la ligne
ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de nouveau
les datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de
commande (data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent aux
datas de la commande sélectionnées par le Double-click dans la baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2
critères doivent identifier qu'un seul item ) afin de lire les données
souhaitées, ce qui n'est pas évident pour l'instant je n'ai pas
beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver
mes données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
j'ai aussi testé :
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).RowIf Sheets("Mouvement").Cells(lig, 4) = txtTitre and
Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
quand pense tu ?
"mark Desnoyer" a écrit dans le message de
news: dp20os$9md$Bonjour Youky,
j'ai testé ton code, il se déroule bien, mais le Msg n'est pas affiché,
d'ailleur la valeur de lig ne se bloc pas sur la ligne répondant aux
critère.
J'ai rajouté à la place de Msg... la ligne de code : txtQte =
Sheets("Mouvement").Range("G" & Lig).Value, mais la fenêtre txtQte reste
vierge.
"Youky" a écrit dans le message de news:
43b45e67$0$19721$Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et txtDate
en col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" a écrit dans le message de
news: dp1iv8$pjo$Bonjour,
j'ai monté une petite application pour gérer quelque document, elle est
composée de deux feuilles : la "baseDoc" et la feuille "Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre en
rappelant les datas de la ligne sélectionnée; référence, titre de la
doc, Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et
Qte commandée... En validant, les données de la commande : réf., date
commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la ligne
ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de nouveau
les datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de
commande (data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent aux
datas de la commande sélectionnées par le Double-click dans la baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2
critères doivent identifier qu'un seul item ) afin de lire les données
souhaitées, ce qui n'est pas évident pour l'instant je n'ai pas
beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver
mes données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
voici ton code tel que je l'utilise dans la feuille "Documentation"
Sub cmdBoutonTest_Click()
Bonsoir,
ta macro revient au même,
vérifie que les variables txtTitre et txtDateCommande valent qlq chose
Exemple si txtTitre="youky" et txtDateCommande0/12/05
dans la colonne D le mot "youky" est cherché, si s'est trouvé la macro
regarde en col E si la date est bonne
Si la date est bonne le msgbox s'affiche.
Si ca marche pas je pense qu'il faut que tu verifie la variable
txtDateCommande, il est facile de faire des blagues dans les formats de
date et je pense que cela viens de là.
Youky
"mark Desnoyer" a écrit dans le message de
news: dp21kp$a2s$j'ai aussi testé :
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).RowIf Sheets("Mouvement").Cells(lig, 4) = txtTitre and
Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
quand pense tu ?
"mark Desnoyer" a écrit dans le message de
news: dp20os$9md$Bonjour Youky,
j'ai testé ton code, il se déroule bien, mais le Msg n'est pas affiché,
d'ailleur la valeur de lig ne se bloc pas sur la ligne répondant aux
critère.
J'ai rajouté à la place de Msg... la ligne de code : txtQte =
Sheets("Mouvement").Range("G" & Lig).Value, mais la fenêtre txtQte reste
vierge.
"Youky" a écrit dans le message de news:
43b45e67$0$19721$Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et txtDate
en col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" a écrit dans le message de
news: dp1iv8$pjo$Bonjour,
j'ai monté une petite application pour gérer quelque document, elle
est composée de deux feuilles : la "baseDoc" et la feuille "Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre
en rappelant les datas de la ligne sélectionnée; référence, titre de
la doc, Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et
Qte commandée... En validant, les données de la commande : réf., date
commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la ligne
ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de nouveau
les datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de
commande (data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent aux
datas de la commande sélectionnées par le Double-click dans la
baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2
critères doivent identifier qu'un seul item ) afin de lire les données
souhaitées, ce qui n'est pas évident pour l'instant je n'ai pas
beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver
mes données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
voici ton code tel que je l'utilise dans la feuille "Documentation"
Sub cmdBoutonTest_Click()
Bonsoir,
ta macro revient au même,
vérifie que les variables txtTitre et txtDateCommande valent qlq chose
Exemple si txtTitre="youky" et txtDateCommande0/12/05
dans la colonne D le mot "youky" est cherché, si s'est trouvé la macro
regarde en col E si la date est bonne
Si la date est bonne le msgbox s'affiche.
Si ca marche pas je pense qu'il faut que tu verifie la variable
txtDateCommande, il est facile de faire des blagues dans les formats de
date et je pense que cela viens de là.
Youky
"mark Desnoyer" <mark.desnoyer@tiscali.fr> a écrit dans le message de
news: dp21kp$a2s$1@news.tiscali.fr...
j'ai aussi testé :
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre and
Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
quand pense tu ?
"mark Desnoyer" <mark.desnoyer@tiscali.fr> a écrit dans le message de
news: dp20os$9md$1@news.tiscali.fr...
Bonjour Youky,
j'ai testé ton code, il se déroule bien, mais le Msg n'est pas affiché,
d'ailleur la valeur de lig ne se bloc pas sur la ligne répondant aux
critère.
J'ai rajouté à la place de Msg... la ligne de code : txtQte =
Sheets("Mouvement").Range("G" & Lig).Value, mais la fenêtre txtQte reste
vierge.
"Youky" <bruno.jeune@wanadoo.fr> a écrit dans le message de news:
43b45e67$0$19721$8fcfb975@news.wanadoo.fr...
Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et txtDate
en col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" <mark.desnoyer@tiscali.fr> a écrit dans le message de
news: dp1iv8$pjo$1@news.tiscali.fr...
Bonjour,
j'ai monté une petite application pour gérer quelque document, elle
est composée de deux feuilles : la "baseDoc" et la feuille "Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre
en rappelant les datas de la ligne sélectionnée; référence, titre de
la doc, Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et
Qte commandée... En validant, les données de la commande : réf., date
commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la ligne
ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de nouveau
les datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de
commande (data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent aux
datas de la commande sélectionnées par le Double-click dans la
baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2
critères doivent identifier qu'un seul item ) afin de lire les données
souhaitées, ce qui n'est pas évident pour l'instant je n'ai pas
beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver
mes données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
voici ton code tel que je l'utilise dans la feuille "Documentation"
Sub cmdBoutonTest_Click()
Bonsoir,
ta macro revient au même,
vérifie que les variables txtTitre et txtDateCommande valent qlq chose
Exemple si txtTitre="youky" et txtDateCommande0/12/05
dans la colonne D le mot "youky" est cherché, si s'est trouvé la macro
regarde en col E si la date est bonne
Si la date est bonne le msgbox s'affiche.
Si ca marche pas je pense qu'il faut que tu verifie la variable
txtDateCommande, il est facile de faire des blagues dans les formats de
date et je pense que cela viens de là.
Youky
"mark Desnoyer" a écrit dans le message de
news: dp21kp$a2s$j'ai aussi testé :
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).RowIf Sheets("Mouvement").Cells(lig, 4) = txtTitre and
Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
quand pense tu ?
"mark Desnoyer" a écrit dans le message de
news: dp20os$9md$Bonjour Youky,
j'ai testé ton code, il se déroule bien, mais le Msg n'est pas affiché,
d'ailleur la valeur de lig ne se bloc pas sur la ligne répondant aux
critère.
J'ai rajouté à la place de Msg... la ligne de code : txtQte =
Sheets("Mouvement").Range("G" & Lig).Value, mais la fenêtre txtQte reste
vierge.
"Youky" a écrit dans le message de news:
43b45e67$0$19721$Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et txtDate
en col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" a écrit dans le message de
news: dp1iv8$pjo$Bonjour,
j'ai monté une petite application pour gérer quelque document, elle
est composée de deux feuilles : la "baseDoc" et la feuille "Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre
en rappelant les datas de la ligne sélectionnée; référence, titre de
la doc, Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et
Qte commandée... En validant, les données de la commande : réf., date
commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la ligne
ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de nouveau
les datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de
commande (data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent aux
datas de la commande sélectionnées par le Double-click dans la
baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2
critères doivent identifier qu'un seul item ) afin de lire les données
souhaitées, ce qui n'est pas évident pour l'instant je n'ai pas
beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver
mes données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
Bonjour,
Bonne et heureuse année, très bonne santé... pour 2006 à toutes et tous.
Youky, après vérif, ton code fonctionne très bien seul, mais inséré dans
ma macro, cela ne marche pas.
je cherche d'ou peut provenir le pb, aucun message d'erreur, mais le code
ne donne aucun résultat.
même si j'appelle le code seul à partir de ma macro.voici ton code tel que je l'utilise dans la feuille "Documentation"
Sub cmdBoutonTest_Click()
Dim Lig As Integer
LigneSelec = ActiveCell.Row
txtDpt1 = Range("A1").Value 'Variable issue du menu précédent
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4) = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig).Value 'valeur
que je souhaite récupérer
MsgBox "trouvé en ligne " & txtQteCmd
Else
MsgBox "pas de réponse"
End If
End If
Next
End Sub
<< par contre, si je l'imbrique dans ma macro qui récupère un ensemble
d'info sur cette feuille "Documentation",c'est à dire :
lecture des données de la feuille "Documentation", affichage de ces
données dans un userForm tout ce code et avec le Uform, puis récupe de
txtQte via le code ci-dessous, dans le Userform, cette fois plus rien.
Sub UserForm_Initialize()
On Error Resume Next
'1/ INITIALISATION FORMULAIRE
Dim LigneSelec As Long
'txtQte = "0"
LigneSelec = ActiveCell.Row
With ActiveCell
txtDpt1 = Sheets("Documentation").Range("A1").Value
If txtDpt1 = 3 Then Qte = "F"
If txtDpt1 = 4 Then Qte = "G"
If txtDpt1 = 5 Then Qte = "H"
txtType = Sheets("Documentation").Range("E" & LigneSelec).Value
txtFamille = Sheets("Documentation").Range("A" & LigneSelec).Value
txtTheme = Sheets("Documentation").Range("B" & LigneSelec).Value
txtRef = Sheets("Documentation").Range("C" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
txtFournisseur = Sheets("Documentation").Range("I" & LigneSelec).Value
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
txtStockOld = Sheets("Documentation").Range(Qte & LigneSelec).Value
ChercheCommande
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & toto).Value
txtQteReçu = 0
End With
End Sub
Sub ChercheCommande()
Dim Lig, toto As Integer
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4).Value = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5).Value = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig).Value '
End If
Next
End Sub
<<dans ce cas, , les 2 conditions sont bien testé, mais txtQteCmd est
toujours vide, "Lig" prends la valeur de la dernière ligne du fichier ?
est-ce un problème de déclaration de variable... ?
je dois dire que je ne suis pas très au point pour déclarer les variables,
je tatonne toujours.
"Youky" a écrit dans le message de news:
43b5949e$0$20186$Bonsoir,
ta macro revient au même,
vérifie que les variables txtTitre et txtDateCommande valent qlq chose
Exemple si txtTitre="youky" et txtDateCommande0/12/05
dans la colonne D le mot "youky" est cherché, si s'est trouvé la macro
regarde en col E si la date est bonne
Si la date est bonne le msgbox s'affiche.
Si ca marche pas je pense qu'il faut que tu verifie la variable
txtDateCommande, il est facile de faire des blagues dans les formats de
date et je pense que cela viens de là.
Youky
"mark Desnoyer" a écrit dans le message de
news: dp21kp$a2s$j'ai aussi testé :
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).RowIf Sheets("Mouvement").Cells(lig, 4) = txtTitre and
Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
quand pense tu ?
"mark Desnoyer" a écrit dans le message de
news: dp20os$9md$Bonjour Youky,
j'ai testé ton code, il se déroule bien, mais le Msg n'est pas affiché,
d'ailleur la valeur de lig ne se bloc pas sur la ligne répondant aux
critère.
J'ai rajouté à la place de Msg... la ligne de code : txtQte =
Sheets("Mouvement").Range("G" & Lig).Value, mais la fenêtre txtQte
reste vierge.
"Youky" a écrit dans le message de news:
43b45e67$0$19721$Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et
txtDate en col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" a écrit dans le message de
news: dp1iv8$pjo$Bonjour,
j'ai monté une petite application pour gérer quelque document, elle
est composée de deux feuilles : la "baseDoc" et la feuille
"Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre
en rappelant les datas de la ligne sélectionnée; référence, titre de
la doc, Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et
Qte commandée... En validant, les données de la commande : réf., date
commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la
ligne ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de
nouveau les datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de
commande (data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent
aux datas de la commande sélectionnées par le Double-click dans la
baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2
critères doivent identifier qu'un seul item ) afin de lire les
données souhaitées, ce qui n'est pas évident pour l'instant je n'ai
pas beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver
mes données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
Bonjour,
Bonne et heureuse année, très bonne santé... pour 2006 à toutes et tous.
Youky, après vérif, ton code fonctionne très bien seul, mais inséré dans
ma macro, cela ne marche pas.
je cherche d'ou peut provenir le pb, aucun message d'erreur, mais le code
ne donne aucun résultat.
même si j'appelle le code seul à partir de ma macro.
voici ton code tel que je l'utilise dans la feuille "Documentation"
Sub cmdBoutonTest_Click()
Dim Lig As Integer
LigneSelec = ActiveCell.Row
txtDpt1 = Range("A1").Value 'Variable issue du menu précédent
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4) = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig).Value 'valeur
que je souhaite récupérer
MsgBox "trouvé en ligne " & txtQteCmd
Else
MsgBox "pas de réponse"
End If
End If
Next
End Sub
<< par contre, si je l'imbrique dans ma macro qui récupère un ensemble
d'info sur cette feuille "Documentation",c'est à dire :
lecture des données de la feuille "Documentation", affichage de ces
données dans un userForm tout ce code et avec le Uform, puis récupe de
txtQte via le code ci-dessous, dans le Userform, cette fois plus rien.
Sub UserForm_Initialize()
On Error Resume Next
'1/ INITIALISATION FORMULAIRE
Dim LigneSelec As Long
'txtQte = "0"
LigneSelec = ActiveCell.Row
With ActiveCell
txtDpt1 = Sheets("Documentation").Range("A1").Value
If txtDpt1 = 3 Then Qte = "F"
If txtDpt1 = 4 Then Qte = "G"
If txtDpt1 = 5 Then Qte = "H"
txtType = Sheets("Documentation").Range("E" & LigneSelec).Value
txtFamille = Sheets("Documentation").Range("A" & LigneSelec).Value
txtTheme = Sheets("Documentation").Range("B" & LigneSelec).Value
txtRef = Sheets("Documentation").Range("C" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
txtFournisseur = Sheets("Documentation").Range("I" & LigneSelec).Value
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
txtStockOld = Sheets("Documentation").Range(Qte & LigneSelec).Value
ChercheCommande
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & toto).Value
txtQteReçu = 0
End With
End Sub
Sub ChercheCommande()
Dim Lig, toto As Integer
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4).Value = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5).Value = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig).Value '
End If
Next
End Sub
<<dans ce cas, , les 2 conditions sont bien testé, mais txtQteCmd est
toujours vide, "Lig" prends la valeur de la dernière ligne du fichier ?
est-ce un problème de déclaration de variable... ?
je dois dire que je ne suis pas très au point pour déclarer les variables,
je tatonne toujours.
"Youky" <bruno.jeune@wanadoo.fr> a écrit dans le message de news:
43b5949e$0$20186$8fcfb975@news.wanadoo.fr...
Bonsoir,
ta macro revient au même,
vérifie que les variables txtTitre et txtDateCommande valent qlq chose
Exemple si txtTitre="youky" et txtDateCommande0/12/05
dans la colonne D le mot "youky" est cherché, si s'est trouvé la macro
regarde en col E si la date est bonne
Si la date est bonne le msgbox s'affiche.
Si ca marche pas je pense qu'il faut que tu verifie la variable
txtDateCommande, il est facile de faire des blagues dans les formats de
date et je pense que cela viens de là.
Youky
"mark Desnoyer" <mark.desnoyer@tiscali.fr> a écrit dans le message de
news: dp21kp$a2s$1@news.tiscali.fr...
j'ai aussi testé :
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre and
Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
quand pense tu ?
"mark Desnoyer" <mark.desnoyer@tiscali.fr> a écrit dans le message de
news: dp20os$9md$1@news.tiscali.fr...
Bonjour Youky,
j'ai testé ton code, il se déroule bien, mais le Msg n'est pas affiché,
d'ailleur la valeur de lig ne se bloc pas sur la ligne répondant aux
critère.
J'ai rajouté à la place de Msg... la ligne de code : txtQte =
Sheets("Mouvement").Range("G" & Lig).Value, mais la fenêtre txtQte
reste vierge.
"Youky" <bruno.jeune@wanadoo.fr> a écrit dans le message de news:
43b45e67$0$19721$8fcfb975@news.wanadoo.fr...
Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et
txtDate en col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" <mark.desnoyer@tiscali.fr> a écrit dans le message de
news: dp1iv8$pjo$1@news.tiscali.fr...
Bonjour,
j'ai monté une petite application pour gérer quelque document, elle
est composée de deux feuilles : la "baseDoc" et la feuille
"Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre
en rappelant les datas de la ligne sélectionnée; référence, titre de
la doc, Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et
Qte commandée... En validant, les données de la commande : réf., date
commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la
ligne ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de
nouveau les datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de
commande (data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent
aux datas de la commande sélectionnées par le Double-click dans la
baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2
critères doivent identifier qu'un seul item ) afin de lire les
données souhaitées, ce qui n'est pas évident pour l'instant je n'ai
pas beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver
mes données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
Bonjour,
Bonne et heureuse année, très bonne santé... pour 2006 à toutes et tous.
Youky, après vérif, ton code fonctionne très bien seul, mais inséré dans
ma macro, cela ne marche pas.
je cherche d'ou peut provenir le pb, aucun message d'erreur, mais le code
ne donne aucun résultat.
même si j'appelle le code seul à partir de ma macro.voici ton code tel que je l'utilise dans la feuille "Documentation"
Sub cmdBoutonTest_Click()
Dim Lig As Integer
LigneSelec = ActiveCell.Row
txtDpt1 = Range("A1").Value 'Variable issue du menu précédent
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4) = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig).Value 'valeur
que je souhaite récupérer
MsgBox "trouvé en ligne " & txtQteCmd
Else
MsgBox "pas de réponse"
End If
End If
Next
End Sub
<< par contre, si je l'imbrique dans ma macro qui récupère un ensemble
d'info sur cette feuille "Documentation",c'est à dire :
lecture des données de la feuille "Documentation", affichage de ces
données dans un userForm tout ce code et avec le Uform, puis récupe de
txtQte via le code ci-dessous, dans le Userform, cette fois plus rien.
Sub UserForm_Initialize()
On Error Resume Next
'1/ INITIALISATION FORMULAIRE
Dim LigneSelec As Long
'txtQte = "0"
LigneSelec = ActiveCell.Row
With ActiveCell
txtDpt1 = Sheets("Documentation").Range("A1").Value
If txtDpt1 = 3 Then Qte = "F"
If txtDpt1 = 4 Then Qte = "G"
If txtDpt1 = 5 Then Qte = "H"
txtType = Sheets("Documentation").Range("E" & LigneSelec).Value
txtFamille = Sheets("Documentation").Range("A" & LigneSelec).Value
txtTheme = Sheets("Documentation").Range("B" & LigneSelec).Value
txtRef = Sheets("Documentation").Range("C" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
txtFournisseur = Sheets("Documentation").Range("I" & LigneSelec).Value
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
txtStockOld = Sheets("Documentation").Range(Qte & LigneSelec).Value
ChercheCommande
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & toto).Value
txtQteReçu = 0
End With
End Sub
Sub ChercheCommande()
Dim Lig, toto As Integer
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4).Value = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5).Value = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig).Value '
End If
Next
End Sub
<<dans ce cas, , les 2 conditions sont bien testé, mais txtQteCmd est
toujours vide, "Lig" prends la valeur de la dernière ligne du fichier ?
est-ce un problème de déclaration de variable... ?
je dois dire que je ne suis pas très au point pour déclarer les variables,
je tatonne toujours.
"Youky" a écrit dans le message de news:
43b5949e$0$20186$Bonsoir,
ta macro revient au même,
vérifie que les variables txtTitre et txtDateCommande valent qlq chose
Exemple si txtTitre="youky" et txtDateCommande0/12/05
dans la colonne D le mot "youky" est cherché, si s'est trouvé la macro
regarde en col E si la date est bonne
Si la date est bonne le msgbox s'affiche.
Si ca marche pas je pense qu'il faut que tu verifie la variable
txtDateCommande, il est facile de faire des blagues dans les formats de
date et je pense que cela viens de là.
Youky
"mark Desnoyer" a écrit dans le message de
news: dp21kp$a2s$j'ai aussi testé :
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).RowIf Sheets("Mouvement").Cells(lig, 4) = txtTitre and
Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
quand pense tu ?
"mark Desnoyer" a écrit dans le message de
news: dp20os$9md$Bonjour Youky,
j'ai testé ton code, il se déroule bien, mais le Msg n'est pas affiché,
d'ailleur la valeur de lig ne se bloc pas sur la ligne répondant aux
critère.
J'ai rajouté à la place de Msg... la ligne de code : txtQte =
Sheets("Mouvement").Range("G" & Lig).Value, mais la fenêtre txtQte
reste vierge.
"Youky" a écrit dans le message de news:
43b45e67$0$19721$Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et
txtDate en col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" a écrit dans le message de
news: dp1iv8$pjo$Bonjour,
j'ai monté une petite application pour gérer quelque document, elle
est composée de deux feuilles : la "baseDoc" et la feuille
"Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre
en rappelant les datas de la ligne sélectionnée; référence, titre de
la doc, Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande et
Qte commandée... En validant, les données de la commande : réf., date
commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la
ligne ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de
nouveau les datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la feuille
"Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de
commande (data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent
aux datas de la commande sélectionnées par le Double-click dans la
baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2
critères doivent identifier qu'un seul item ) afin de lire les
données souhaitées, ce qui n'est pas évident pour l'instant je n'ai
pas beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver
mes données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
Re bonjour,
Oui c'est bien les déclarations de variables en faute, d'une procédure à
l'autre rien n'est conserver à moins de déclarer tes variables en haut du
module.
Le mot Public déclare la variables pour toutes les macros
Donc au dessus de la 1ere Sub du module tu mets ceci:
Public txtDpt1 as Integer 'varable de chiffres
Public txtTitre as string 'variable de lettres
Public txtDateCommande as Date
Public txtQteCmd as Integer 'si c'est des chiffres
Le plus simple est de tout integrer dans la sub initialize
Youky
"mark Desnoyer" a écrit dans le message de
news: dp9j56$fm6$Bonjour,
Bonne et heureuse année, très bonne santé... pour 2006 à toutes et tous.
Youky, après vérif, ton code fonctionne très bien seul, mais inséré dans
ma macro, cela ne marche pas.
je cherche d'ou peut provenir le pb, aucun message d'erreur, mais le code
ne donne aucun résultat.
même si j'appelle le code seul à partir de ma macro.voici ton code tel que je l'utilise dans la feuille "Documentation"
Sub cmdBoutonTest_Click()
Dim Lig As Integer
LigneSelec = ActiveCell.Row
txtDpt1 = Range("A1").Value 'Variable issue du menu précédent
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4) = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig).Value
'valeur que je souhaite récupérer
MsgBox "trouvé en ligne " & txtQteCmd
Else
MsgBox "pas de réponse"
End If
End If
Next
End Sub
<< par contre, si je l'imbrique dans ma macro qui récupère un ensemble
d'info sur cette feuille "Documentation",c'est à dire :
lecture des données de la feuille "Documentation", affichage de ces
données dans un userForm tout ce code et avec le Uform, puis récupe de
txtQte via le code ci-dessous, dans le Userform, cette fois plus rien.
Sub UserForm_Initialize()
On Error Resume Next
'1/ INITIALISATION FORMULAIRE
Dim LigneSelec As Long
'txtQte = "0"
LigneSelec = ActiveCell.Row
With ActiveCell
txtDpt1 = Sheets("Documentation").Range("A1").Value
If txtDpt1 = 3 Then Qte = "F"
If txtDpt1 = 4 Then Qte = "G"
If txtDpt1 = 5 Then Qte = "H"
txtType = Sheets("Documentation").Range("E" & LigneSelec).Value
txtFamille = Sheets("Documentation").Range("A" & LigneSelec).Value
txtTheme = Sheets("Documentation").Range("B" & LigneSelec).Value
txtRef = Sheets("Documentation").Range("C" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
txtFournisseur = Sheets("Documentation").Range("I" & LigneSelec).Value
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
txtStockOld = Sheets("Documentation").Range(Qte & LigneSelec).Value
ChercheCommande
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & toto).Value
txtQteReçu = 0
End With
End Sub
Sub ChercheCommande()
Dim Lig, toto As Integer
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4).Value = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5).Value = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig).Value '
End If
Next
End Sub
<<dans ce cas, , les 2 conditions sont bien testé, mais txtQteCmd est
toujours vide, "Lig" prends la valeur de la dernière ligne du fichier ?
est-ce un problème de déclaration de variable... ?
je dois dire que je ne suis pas très au point pour déclarer les
variables, je tatonne toujours.
"Youky" a écrit dans le message de news:
43b5949e$0$20186$Bonsoir,
ta macro revient au même,
vérifie que les variables txtTitre et txtDateCommande valent qlq chose
Exemple si txtTitre="youky" et txtDateCommande0/12/05
dans la colonne D le mot "youky" est cherché, si s'est trouvé la macro
regarde en col E si la date est bonne
Si la date est bonne le msgbox s'affiche.
Si ca marche pas je pense qu'il faut que tu verifie la variable
txtDateCommande, il est facile de faire des blagues dans les formats de
date et je pense que cela viens de là.
Youky
"mark Desnoyer" a écrit dans le message de
news: dp21kp$a2s$j'ai aussi testé :
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).RowIf Sheets("Mouvement").Cells(lig, 4) = txtTitre and
Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
quand pense tu ?
"mark Desnoyer" a écrit dans le message de
news: dp20os$9md$Bonjour Youky,
j'ai testé ton code, il se déroule bien, mais le Msg n'est pas
affiché, d'ailleur la valeur de lig ne se bloc pas sur la ligne
répondant aux critère.
J'ai rajouté à la place de Msg... la ligne de code : txtQte =
Sheets("Mouvement").Range("G" & Lig).Value, mais la fenêtre txtQte
reste vierge.
"Youky" a écrit dans le message de news:
43b45e67$0$19721$Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et
txtDate en col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" a écrit dans le message de
news: dp1iv8$pjo$Bonjour,
j'ai monté une petite application pour gérer quelque document, elle
est composée de deux feuilles : la "baseDoc" et la feuille
"Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre
en rappelant les datas de la ligne sélectionnée; référence, titre de
la doc, Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande
et Qte commandée... En validant, les données de la commande : réf.,
date commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la
ligne ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de
nouveau les datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la
feuille "Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de
commande (data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent
aux datas de la commande sélectionnées par le Double-click dans la
baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2
critères doivent identifier qu'un seul item ) afin de lire les
données souhaitées, ce qui n'est pas évident pour l'instant je n'ai
pas beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver
mes données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
Re bonjour,
Oui c'est bien les déclarations de variables en faute, d'une procédure à
l'autre rien n'est conserver à moins de déclarer tes variables en haut du
module.
Le mot Public déclare la variables pour toutes les macros
Donc au dessus de la 1ere Sub du module tu mets ceci:
Public txtDpt1 as Integer 'varable de chiffres
Public txtTitre as string 'variable de lettres
Public txtDateCommande as Date
Public txtQteCmd as Integer 'si c'est des chiffres
Le plus simple est de tout integrer dans la sub initialize
Youky
"mark Desnoyer" <mark.desnoyer@tiscali.fr> a écrit dans le message de
news: dp9j56$fm6$1@news.tiscali.fr...
Bonjour,
Bonne et heureuse année, très bonne santé... pour 2006 à toutes et tous.
Youky, après vérif, ton code fonctionne très bien seul, mais inséré dans
ma macro, cela ne marche pas.
je cherche d'ou peut provenir le pb, aucun message d'erreur, mais le code
ne donne aucun résultat.
même si j'appelle le code seul à partir de ma macro.
voici ton code tel que je l'utilise dans la feuille "Documentation"
Sub cmdBoutonTest_Click()
Dim Lig As Integer
LigneSelec = ActiveCell.Row
txtDpt1 = Range("A1").Value 'Variable issue du menu précédent
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4) = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig).Value
'valeur que je souhaite récupérer
MsgBox "trouvé en ligne " & txtQteCmd
Else
MsgBox "pas de réponse"
End If
End If
Next
End Sub
<< par contre, si je l'imbrique dans ma macro qui récupère un ensemble
d'info sur cette feuille "Documentation",c'est à dire :
lecture des données de la feuille "Documentation", affichage de ces
données dans un userForm tout ce code et avec le Uform, puis récupe de
txtQte via le code ci-dessous, dans le Userform, cette fois plus rien.
Sub UserForm_Initialize()
On Error Resume Next
'1/ INITIALISATION FORMULAIRE
Dim LigneSelec As Long
'txtQte = "0"
LigneSelec = ActiveCell.Row
With ActiveCell
txtDpt1 = Sheets("Documentation").Range("A1").Value
If txtDpt1 = 3 Then Qte = "F"
If txtDpt1 = 4 Then Qte = "G"
If txtDpt1 = 5 Then Qte = "H"
txtType = Sheets("Documentation").Range("E" & LigneSelec).Value
txtFamille = Sheets("Documentation").Range("A" & LigneSelec).Value
txtTheme = Sheets("Documentation").Range("B" & LigneSelec).Value
txtRef = Sheets("Documentation").Range("C" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
txtFournisseur = Sheets("Documentation").Range("I" & LigneSelec).Value
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
txtStockOld = Sheets("Documentation").Range(Qte & LigneSelec).Value
ChercheCommande
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & toto).Value
txtQteReçu = 0
End With
End Sub
Sub ChercheCommande()
Dim Lig, toto As Integer
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4).Value = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5).Value = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig).Value '
End If
Next
End Sub
<<dans ce cas, , les 2 conditions sont bien testé, mais txtQteCmd est
toujours vide, "Lig" prends la valeur de la dernière ligne du fichier ?
est-ce un problème de déclaration de variable... ?
je dois dire que je ne suis pas très au point pour déclarer les
variables, je tatonne toujours.
"Youky" <bruno.jeune@wanadoo.fr> a écrit dans le message de news:
43b5949e$0$20186$8fcfb975@news.wanadoo.fr...
Bonsoir,
ta macro revient au même,
vérifie que les variables txtTitre et txtDateCommande valent qlq chose
Exemple si txtTitre="youky" et txtDateCommande0/12/05
dans la colonne D le mot "youky" est cherché, si s'est trouvé la macro
regarde en col E si la date est bonne
Si la date est bonne le msgbox s'affiche.
Si ca marche pas je pense qu'il faut que tu verifie la variable
txtDateCommande, il est facile de faire des blagues dans les formats de
date et je pense que cela viens de là.
Youky
"mark Desnoyer" <mark.desnoyer@tiscali.fr> a écrit dans le message de
news: dp21kp$a2s$1@news.tiscali.fr...
j'ai aussi testé :
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre and
Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
quand pense tu ?
"mark Desnoyer" <mark.desnoyer@tiscali.fr> a écrit dans le message de
news: dp20os$9md$1@news.tiscali.fr...
Bonjour Youky,
j'ai testé ton code, il se déroule bien, mais le Msg n'est pas
affiché, d'ailleur la valeur de lig ne se bloc pas sur la ligne
répondant aux critère.
J'ai rajouté à la place de Msg... la ligne de code : txtQte =
Sheets("Mouvement").Range("G" & Lig).Value, mais la fenêtre txtQte
reste vierge.
"Youky" <bruno.jeune@wanadoo.fr> a écrit dans le message de news:
43b45e67$0$19721$8fcfb975@news.wanadoo.fr...
Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et
txtDate en col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" <mark.desnoyer@tiscali.fr> a écrit dans le message de
news: dp1iv8$pjo$1@news.tiscali.fr...
Bonjour,
j'ai monté une petite application pour gérer quelque document, elle
est composée de deux feuilles : la "baseDoc" et la feuille
"Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre
en rappelant les datas de la ligne sélectionnée; référence, titre de
la doc, Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande
et Qte commandée... En validant, les données de la commande : réf.,
date commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la
ligne ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de
nouveau les datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la
feuille "Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de
commande (data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent
aux datas de la commande sélectionnées par le Double-click dans la
baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2
critères doivent identifier qu'un seul item ) afin de lire les
données souhaitées, ce qui n'est pas évident pour l'instant je n'ai
pas beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver
mes données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous
Re bonjour,
Oui c'est bien les déclarations de variables en faute, d'une procédure à
l'autre rien n'est conserver à moins de déclarer tes variables en haut du
module.
Le mot Public déclare la variables pour toutes les macros
Donc au dessus de la 1ere Sub du module tu mets ceci:
Public txtDpt1 as Integer 'varable de chiffres
Public txtTitre as string 'variable de lettres
Public txtDateCommande as Date
Public txtQteCmd as Integer 'si c'est des chiffres
Le plus simple est de tout integrer dans la sub initialize
Youky
"mark Desnoyer" a écrit dans le message de
news: dp9j56$fm6$Bonjour,
Bonne et heureuse année, très bonne santé... pour 2006 à toutes et tous.
Youky, après vérif, ton code fonctionne très bien seul, mais inséré dans
ma macro, cela ne marche pas.
je cherche d'ou peut provenir le pb, aucun message d'erreur, mais le code
ne donne aucun résultat.
même si j'appelle le code seul à partir de ma macro.voici ton code tel que je l'utilise dans la feuille "Documentation"
Sub cmdBoutonTest_Click()
Dim Lig As Integer
LigneSelec = ActiveCell.Row
txtDpt1 = Range("A1").Value 'Variable issue du menu précédent
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4) = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig).Value
'valeur que je souhaite récupérer
MsgBox "trouvé en ligne " & txtQteCmd
Else
MsgBox "pas de réponse"
End If
End If
Next
End Sub
<< par contre, si je l'imbrique dans ma macro qui récupère un ensemble
d'info sur cette feuille "Documentation",c'est à dire :
lecture des données de la feuille "Documentation", affichage de ces
données dans un userForm tout ce code et avec le Uform, puis récupe de
txtQte via le code ci-dessous, dans le Userform, cette fois plus rien.
Sub UserForm_Initialize()
On Error Resume Next
'1/ INITIALISATION FORMULAIRE
Dim LigneSelec As Long
'txtQte = "0"
LigneSelec = ActiveCell.Row
With ActiveCell
txtDpt1 = Sheets("Documentation").Range("A1").Value
If txtDpt1 = 3 Then Qte = "F"
If txtDpt1 = 4 Then Qte = "G"
If txtDpt1 = 5 Then Qte = "H"
txtType = Sheets("Documentation").Range("E" & LigneSelec).Value
txtFamille = Sheets("Documentation").Range("A" & LigneSelec).Value
txtTheme = Sheets("Documentation").Range("B" & LigneSelec).Value
txtRef = Sheets("Documentation").Range("C" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
txtFournisseur = Sheets("Documentation").Range("I" & LigneSelec).Value
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
txtStockOld = Sheets("Documentation").Range(Qte & LigneSelec).Value
ChercheCommande
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & toto).Value
txtQteReçu = 0
End With
End Sub
Sub ChercheCommande()
Dim Lig, toto As Integer
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4).Value = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5).Value = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig).Value '
End If
Next
End Sub
<<dans ce cas, , les 2 conditions sont bien testé, mais txtQteCmd est
toujours vide, "Lig" prends la valeur de la dernière ligne du fichier ?
est-ce un problème de déclaration de variable... ?
je dois dire que je ne suis pas très au point pour déclarer les
variables, je tatonne toujours.
"Youky" a écrit dans le message de news:
43b5949e$0$20186$Bonsoir,
ta macro revient au même,
vérifie que les variables txtTitre et txtDateCommande valent qlq chose
Exemple si txtTitre="youky" et txtDateCommande0/12/05
dans la colonne D le mot "youky" est cherché, si s'est trouvé la macro
regarde en col E si la date est bonne
Si la date est bonne le msgbox s'affiche.
Si ca marche pas je pense qu'il faut que tu verifie la variable
txtDateCommande, il est facile de faire des blagues dans les formats de
date et je pense que cela viens de là.
Youky
"mark Desnoyer" a écrit dans le message de
news: dp21kp$a2s$j'ai aussi testé :
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).RowIf Sheets("Mouvement").Cells(lig, 4) = txtTitre and
Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
quand pense tu ?
"mark Desnoyer" a écrit dans le message de
news: dp20os$9md$Bonjour Youky,
j'ai testé ton code, il se déroule bien, mais le Msg n'est pas
affiché, d'ailleur la valeur de lig ne se bloc pas sur la ligne
répondant aux critère.
J'ai rajouté à la place de Msg... la ligne de code : txtQte =
Sheets("Mouvement").Range("G" & Lig).Value, mais la fenêtre txtQte
reste vierge.
"Youky" a écrit dans le message de news:
43b45e67$0$19721$Bonsoir Mark
ceci pour trouver le N° de la ligne si txtTitre est en col D et
txtDate en col E
Youky
For lig = 2 To Sheets("Mouvement").[D65000].End(xlUp).Row
If Sheets("Mouvement").Cells(lig, 4) = txtTitre Then
If Sheets("Mouvement").Cells(lig, 5) = txtDateCommande Then
MsgBox "trouvé en ligne " & lig
'ton bla bla bla
End If
End If
Next
"mark Desnoyer" a écrit dans le message de
news: dp1iv8$pjo$Bonjour,
j'ai monté une petite application pour gérer quelque document, elle
est composée de deux feuilles : la "baseDoc" et la feuille
"Mouvement"
En double cliquant sur une ligne de la "baseDoc" un UserForm s'ouvre
en rappelant les datas de la ligne sélectionnée; référence, titre de
la doc, Qte en stock...
si je commande d'autre documents à mettre en stock, je complète le
UserForm avec les éléments de la commande tel que date de commande
et Qte commandée... En validant, les données de la commande : réf.,
date commande et Qte sont stockées dans "Mouvement"
Lors de la réception de la dite commande, un double-click sur la
ligne ad'hoc de la baseDoc me réaffiche le UserForm, qui affiche de
nouveau les datas de base du document sélectionné.
Tout fonctionne bien pour enregistrer les commandes.
- Mon problème est de faire le lien avec la bonne ligne de la
feuille "Mouvement" pour récupérer les éléments complémentaires :
Qte commandée, date de la commande, voir enregistrer le solde de
commande (data stockées dans des colonnes différentes).
- j'avais imaginé utiliser :
' Selection.AutoFilter Field:=4, Criteria1:=txtTitre
' Selection.AutoFilter Field:=5, Criteria1:=txtDateCommande
où txtTitre et txtDateCommande (champs deu UserForm) correspondent
aux datas de la commande sélectionnées par le Double-click dans la
baseDoc.
Là, je pensait récupérer l'addresse de la ligne (A priori les 2
critères doivent identifier qu'un seul item ) afin de lire les
données souhaitées, ce qui n'est pas évident pour l'instant je n'ai
pas beaucoup progressé.
- Je coince un peu, quel est votre avis sur mon choix pour retrouver
mes données, il y a t-il d'autre instructions plus efficace... ?
Merci, et bonnes fêtes de fin d'année à toutes et tous