....alors j'y vais de ma question mais auparavant un grand bonjour à tout le
monde (y a si longtemps que je n'étais venu)
imaginons une facture :
en D9 une ligne adresse constituée du code postal suivi de la ville ( ex.
69380 Chatillon ou 01000 Bourg)
en G2 une tranche de poids (ex. 9, 19, 29, 39)
dans un autre classeur, un tableau avec :
en ordonnés, les n° des départements de 01 à 95 à partir de la cellule A2
(leur nom figurant à partir de B2)
en abcisses, les tranches 9, 19, 29, 39, etc à partir de la cellule C1 vers
G1 ou plus
des prix enfin, dans les colonnes à partir de C2 vers G2 pour le département
01, C3 vers G3 pour le département 02 et ainsi de suite jusqu'en regard du
dernier département...
ma question : comment en VBA aller chercher le prix correspondant aux infos
en D9 et G2 de la facture dans le classeur à l'intersection, donc, de la
ligne "départements" et de la colonne "tranches", sachant qu'il ne faudra
prendre en compte que les 2 premiers chiffres du code postal, bien sûr...
dois-je ajouter que cela fait trois ans et demi que je suis là-dessus et que
c'est vraiment contraint et forcé que je lance ce mayday....
merci pour votre intérêt qui, dans cette histoire, est terriblement moins
important que le mien...
à +
jps
salut françois-xavier je m'empresse de mettre ta réponse sur disquette pour la tester in my office... juste un mot auparavant : tu as mis en observation :
'col +2 = colonne comprenant les prix 'note : +2 pour débuter en colonne C
est-ce à dire qu'il faut que j'ajoute +2 en bout de la ligne suivante (comme tu as ajouté +1 à celle définissant la "lig" ?
col = Application.WorksheetFunction.Match(PL, .Range("C1:H1"), 0)
je vais faire les essais, oeuf corse, en croisant les doigts pour que la WorksheetFunction Match soit bien connue de XL 97 (c'est Split, je crois, qui ne l'est pas)
je suis bien sûr que tout cela va baigner dans l'huile dont je pourrais me resservir pour t'y faire revenir quelque andouillette lors de ton prochain passage dans le quartier... merci encore françois-xavier and see you soon jps
"FxM" a écrit dans le message de news:eqJ$
re-
En premiere approche, ca pourrait donner des choses comme :
Sub test()
' feuille de facture With Sheets("BL")
'département CP = Left(.Range("D9"), 2) 'plage de poids PL = .Range("G2") End With
'ouvrir le fichier autre Workbooks.Open ("D:inboxtransport_001.xls")
'dont on suppose que la feuille se nomme ... With Sheets("Prix")
'lig +1 = ligne comprenant le département 'note : +1 pour débuter en ligne2 lig = Application.Match(CP, .Range("A2:A96"), 0) +1
'col +2 = colonne comprenant les prix 'note : +2 pour débuter en colonne C col = Application.WorksheetFunction.Match(PL, .Range("C1:H1"), 0)
'extraction du prix souhaité prix = .Cells(lig , col )
End With
'fermer les prix sans sauver ActiveWorkbook.Close False
'noter le prix dans la case qui va bien 'attention au nom de feuille Sheets("BL").Range("A1").Value = prix End Sub
Attention ! Il faut que les départements soient bien 01 au format texte et non 1 avec une mise en forme. Dans le second cas, remplacer lig = Application.Match(CP, .Range("A2:A96"), 0) +1 par lig = cp*1 +1
@+ FxM
.....alors j'y vais de ma question mais auparavant un grand bonjour à tout le monde (y a si longtemps que je n'étais venu) imaginons une facture : en D9 une ligne adresse constituée du code postal suivi de la ville ( ex.
69380 Chatillon ou 01000 Bourg) en G2 une tranche de poids (ex. 9, 19, 29, 39) dans un autre classeur, un tableau avec : en ordonnés, les n° des départements de 01 à 95 à partir de la cellule A2
(leur nom figurant à partir de B2) en abcisses, les tranches 9, 19, 29, 39, etc à partir de la cellule C1 vers G1 ou plus des prix enfin, dans les colonnes à partir de C2 vers G2 pour le département 01, C3 vers G3 pour le département 02 et ainsi de suite jusqu'en regard du dernier département... ma question : comment en VBA aller chercher le prix correspondant aux infos en D9 et G2 de la facture dans le classeur à l'intersection, donc, de la
ligne "départements" et de la colonne "tranches", sachant qu'il ne faudra
prendre en compte que les 2 premiers chiffres du code postal, bien sûr...
dois-je ajouter que cela fait trois ans et demi que je suis là-dessus et que c'est vraiment contraint et forcé que je lance ce mayday.... merci pour votre intérêt qui, dans cette histoire, est terriblement moins
important que le mien... à + jps
salut françois-xavier
je m'empresse de mettre ta réponse sur disquette pour la tester in my
office...
juste un mot auparavant : tu as mis en observation :
'col +2 = colonne comprenant les prix
'note : +2 pour débuter en colonne C
est-ce à dire qu'il faut que j'ajoute +2 en bout de la ligne suivante (comme
tu as ajouté +1 à celle définissant la "lig" ?
col = Application.WorksheetFunction.Match(PL, .Range("C1:H1"), 0)
je vais faire les essais, oeuf corse, en croisant les doigts pour que la
WorksheetFunction Match soit bien connue de XL 97 (c'est Split, je crois,
qui ne l'est pas)
je suis bien sûr que tout cela va baigner dans l'huile dont je pourrais me
resservir pour t'y faire revenir quelque andouillette lors de ton prochain
passage dans le quartier...
merci encore françois-xavier and see you soon
jps
"FxM" <fxmanceaux@chello.fr> a écrit dans le message de
news:eqJ$MArbEHA.2972@TK2MSFTNGP12.phx.gbl...
re-
En premiere approche, ca pourrait donner des choses comme :
Sub test()
' feuille de facture
With Sheets("BL")
'département
CP = Left(.Range("D9"), 2)
'plage de poids
PL = .Range("G2")
End With
'ouvrir le fichier autre
Workbooks.Open ("D:inboxtransport_001.xls")
'dont on suppose que la feuille se nomme ...
With Sheets("Prix")
'lig +1 = ligne comprenant le département
'note : +1 pour débuter en ligne2
lig = Application.Match(CP, .Range("A2:A96"), 0) +1
'col +2 = colonne comprenant les prix
'note : +2 pour débuter en colonne C
col = Application.WorksheetFunction.Match(PL, .Range("C1:H1"), 0)
'extraction du prix souhaité
prix = .Cells(lig , col )
End With
'fermer les prix sans sauver
ActiveWorkbook.Close False
'noter le prix dans la case qui va bien
'attention au nom de feuille
Sheets("BL").Range("A1").Value = prix
End Sub
Attention ! Il faut que les départements soient bien 01 au format texte
et non 1 avec une mise en forme. Dans le second cas, remplacer
lig = Application.Match(CP, .Range("A2:A96"), 0) +1
par
lig = cp*1 +1
@+
FxM
.....alors j'y vais de ma question mais auparavant un grand bonjour à
tout le
monde (y a si longtemps que je n'étais venu)
imaginons une facture :
en D9 une ligne adresse constituée du code postal suivi de la ville (
ex.
69380 Chatillon ou 01000 Bourg)
en G2 une tranche de poids (ex. 9, 19, 29, 39)
dans un autre classeur, un tableau avec :
en ordonnés, les n° des départements de 01 à 95 à partir de la cellule
A2
(leur nom figurant à partir de B2)
en abcisses, les tranches 9, 19, 29, 39, etc à partir de la cellule C1
vers
G1 ou plus
des prix enfin, dans les colonnes à partir de C2 vers G2 pour le
département
01, C3 vers G3 pour le département 02 et ainsi de suite jusqu'en
regard du
dernier département...
ma question : comment en VBA aller chercher le prix correspondant aux
infos
en D9 et G2 de la facture dans le classeur à l'intersection, donc, de
la
ligne "départements" et de la colonne "tranches", sachant qu'il ne
faudra
prendre en compte que les 2 premiers chiffres du code postal, bien
sûr...
dois-je ajouter que cela fait trois ans et demi que je suis là-dessus
et que
c'est vraiment contraint et forcé que je lance ce mayday....
merci pour votre intérêt qui, dans cette histoire, est terriblement
moins
salut françois-xavier je m'empresse de mettre ta réponse sur disquette pour la tester in my office... juste un mot auparavant : tu as mis en observation :
'col +2 = colonne comprenant les prix 'note : +2 pour débuter en colonne C
est-ce à dire qu'il faut que j'ajoute +2 en bout de la ligne suivante (comme tu as ajouté +1 à celle définissant la "lig" ?
col = Application.WorksheetFunction.Match(PL, .Range("C1:H1"), 0)
je vais faire les essais, oeuf corse, en croisant les doigts pour que la WorksheetFunction Match soit bien connue de XL 97 (c'est Split, je crois, qui ne l'est pas)
je suis bien sûr que tout cela va baigner dans l'huile dont je pourrais me resservir pour t'y faire revenir quelque andouillette lors de ton prochain passage dans le quartier... merci encore françois-xavier and see you soon jps
"FxM" a écrit dans le message de news:eqJ$
re-
En premiere approche, ca pourrait donner des choses comme :
Sub test()
' feuille de facture With Sheets("BL")
'département CP = Left(.Range("D9"), 2) 'plage de poids PL = .Range("G2") End With
'ouvrir le fichier autre Workbooks.Open ("D:inboxtransport_001.xls")
'dont on suppose que la feuille se nomme ... With Sheets("Prix")
'lig +1 = ligne comprenant le département 'note : +1 pour débuter en ligne2 lig = Application.Match(CP, .Range("A2:A96"), 0) +1
'col +2 = colonne comprenant les prix 'note : +2 pour débuter en colonne C col = Application.WorksheetFunction.Match(PL, .Range("C1:H1"), 0)
'extraction du prix souhaité prix = .Cells(lig , col )
End With
'fermer les prix sans sauver ActiveWorkbook.Close False
'noter le prix dans la case qui va bien 'attention au nom de feuille Sheets("BL").Range("A1").Value = prix End Sub
Attention ! Il faut que les départements soient bien 01 au format texte et non 1 avec une mise en forme. Dans le second cas, remplacer lig = Application.Match(CP, .Range("A2:A96"), 0) +1 par lig = cp*1 +1
@+ FxM
.....alors j'y vais de ma question mais auparavant un grand bonjour à tout le monde (y a si longtemps que je n'étais venu) imaginons une facture : en D9 une ligne adresse constituée du code postal suivi de la ville ( ex.
69380 Chatillon ou 01000 Bourg) en G2 une tranche de poids (ex. 9, 19, 29, 39) dans un autre classeur, un tableau avec : en ordonnés, les n° des départements de 01 à 95 à partir de la cellule A2
(leur nom figurant à partir de B2) en abcisses, les tranches 9, 19, 29, 39, etc à partir de la cellule C1 vers G1 ou plus des prix enfin, dans les colonnes à partir de C2 vers G2 pour le département 01, C3 vers G3 pour le département 02 et ainsi de suite jusqu'en regard du dernier département... ma question : comment en VBA aller chercher le prix correspondant aux infos en D9 et G2 de la facture dans le classeur à l'intersection, donc, de la
ligne "départements" et de la colonne "tranches", sachant qu'il ne faudra
prendre en compte que les 2 premiers chiffres du code postal, bien sûr...
dois-je ajouter que cela fait trois ans et demi que je suis là-dessus et que c'est vraiment contraint et forcé que je lance ce mayday.... merci pour votre intérêt qui, dans cette histoire, est terriblement moins
important que le mien... à + jps
FxM
Hug Jean-Paul,
Sabatier wrote:
salut françois-xavier je m'empresse de mettre ta réponse sur disquette pour la tester in my office... juste un mot auparavant : tu as mis en observation :
'col +2 = colonne comprenant les prix 'note : +2 pour débuter en colonne C
est-ce à dire qu'il faut que j'ajoute +2 en bout de la ligne suivante (comme tu as ajouté +1 à celle définissant la "lig" ?
col = Application.WorksheetFunction.Match(PL, .Range("C1:H1"), 0)
Voui Chef, modif de dernière minute passée sur une ligne et oubliée sur l'autre.
je vais faire les essais, oeuf corse, en croisant les doigts pour que la WorksheetFunction Match soit bien connue de XL 97 (c'est Split, je crois, qui ne l'est pas)
Si tes tranches sont régulières (9, 19, 29, 39, ....), tu pourrais remplacer par : poids -> resultat cherché 9 -> 3 19 -> 4 29 -> 5 39 -> 6 +10 -> +1 -21 -> 0 col = (PL + 21) /10
je suis bien sûr que tout cela va baigner dans l'huile dont je pourrais me resservir pour t'y faire revenir quelque andouillette lors de ton prochain passage dans le quartier... merci encore françois-xavier and see you soon jps
Si tu me prends par les sentiments ... :o)
@+ FxM
"FxM" a écrit dans le message de news:eqJ$
re-
En premiere approche, ca pourrait donner des choses comme :
Sub test()
' feuille de facture With Sheets("BL")
'département CP = Left(.Range("D9"), 2) 'plage de poids PL = .Range("G2") End With
'ouvrir le fichier autre Workbooks.Open ("D:inboxtransport_001.xls")
'dont on suppose que la feuille se nomme ... With Sheets("Prix")
'lig +1 = ligne comprenant le département 'note : +1 pour débuter en ligne2 lig = Application.Match(CP, .Range("A2:A96"), 0) +1
'col +2 = colonne comprenant les prix 'note : +2 pour débuter en colonne C col = Application.WorksheetFunction.Match(PL, .Range("C1:H1"), 0)
'extraction du prix souhaité prix = .Cells(lig , col )
End With
'fermer les prix sans sauver ActiveWorkbook.Close False
'noter le prix dans la case qui va bien 'attention au nom de feuille Sheets("BL").Range("A1").Value = prix End Sub
Attention ! Il faut que les départements soient bien 01 au format texte et non 1 avec une mise en forme. Dans le second cas, remplacer lig = Application.Match(CP, .Range("A2:A96"), 0) +1 par lig = cp*1 +1
@+ FxM
.....alors j'y vais de ma question mais auparavant un grand bonjour à tout le monde (y a si longtemps que je n'étais venu) imaginons une facture : en D9 une ligne adresse constituée du code postal suivi de la ville (
ex.
69380 Chatillon ou 01000 Bourg) en G2 une tranche de poids (ex. 9, 19, 29, 39) dans un autre classeur, un tableau avec : en ordonnés, les n° des départements de 01 à 95 à partir de la cellule
A2
(leur nom figurant à partir de B2) en abcisses, les tranches 9, 19, 29, 39, etc à partir de la cellule C1 vers G1 ou plus des prix enfin, dans les colonnes à partir de C2 vers G2 pour le département 01, C3 vers G3 pour le département 02 et ainsi de suite jusqu'en regard du dernier département... ma question : comment en VBA aller chercher le prix correspondant aux infos en D9 et G2 de la facture dans le classeur à l'intersection, donc, de
la
ligne "départements" et de la colonne "tranches", sachant qu'il ne
faudra
prendre en compte que les 2 premiers chiffres du code postal, bien
sûr...
dois-je ajouter que cela fait trois ans et demi que je suis là-dessus et que c'est vraiment contraint et forcé que je lance ce mayday.... merci pour votre intérêt qui, dans cette histoire, est terriblement
moins
important que le mien... à + jps
Hug Jean-Paul,
Sabatier wrote:
salut françois-xavier
je m'empresse de mettre ta réponse sur disquette pour la tester in my
office...
juste un mot auparavant : tu as mis en observation :
'col +2 = colonne comprenant les prix
'note : +2 pour débuter en colonne C
est-ce à dire qu'il faut que j'ajoute +2 en bout de la ligne suivante (comme
tu as ajouté +1 à celle définissant la "lig" ?
col = Application.WorksheetFunction.Match(PL, .Range("C1:H1"), 0)
Voui Chef, modif de dernière minute passée sur une ligne et oubliée sur
l'autre.
je vais faire les essais, oeuf corse, en croisant les doigts pour que la
WorksheetFunction Match soit bien connue de XL 97 (c'est Split, je crois,
qui ne l'est pas)
Si tes tranches sont régulières (9, 19, 29, 39, ....), tu pourrais
remplacer par :
poids -> resultat cherché
9 -> 3
19 -> 4
29 -> 5
39 -> 6
+10 -> +1
-21 -> 0
col = (PL + 21) /10
je suis bien sûr que tout cela va baigner dans l'huile dont je pourrais me
resservir pour t'y faire revenir quelque andouillette lors de ton prochain
passage dans le quartier...
merci encore françois-xavier and see you soon
jps
Si tu me prends par les sentiments ... :o)
@+
FxM
"FxM" <fxmanceaux@chello.fr> a écrit dans le message de
news:eqJ$MArbEHA.2972@TK2MSFTNGP12.phx.gbl...
re-
En premiere approche, ca pourrait donner des choses comme :
Sub test()
' feuille de facture
With Sheets("BL")
'département
CP = Left(.Range("D9"), 2)
'plage de poids
PL = .Range("G2")
End With
'ouvrir le fichier autre
Workbooks.Open ("D:inboxtransport_001.xls")
'dont on suppose que la feuille se nomme ...
With Sheets("Prix")
'lig +1 = ligne comprenant le département
'note : +1 pour débuter en ligne2
lig = Application.Match(CP, .Range("A2:A96"), 0) +1
'col +2 = colonne comprenant les prix
'note : +2 pour débuter en colonne C
col = Application.WorksheetFunction.Match(PL, .Range("C1:H1"), 0)
'extraction du prix souhaité
prix = .Cells(lig , col )
End With
'fermer les prix sans sauver
ActiveWorkbook.Close False
'noter le prix dans la case qui va bien
'attention au nom de feuille
Sheets("BL").Range("A1").Value = prix
End Sub
Attention ! Il faut que les départements soient bien 01 au format texte
et non 1 avec une mise en forme. Dans le second cas, remplacer
lig = Application.Match(CP, .Range("A2:A96"), 0) +1
par
lig = cp*1 +1
@+
FxM
.....alors j'y vais de ma question mais auparavant un grand bonjour à
tout le
monde (y a si longtemps que je n'étais venu)
imaginons une facture :
en D9 une ligne adresse constituée du code postal suivi de la ville (
ex.
69380 Chatillon ou 01000 Bourg)
en G2 une tranche de poids (ex. 9, 19, 29, 39)
dans un autre classeur, un tableau avec :
en ordonnés, les n° des départements de 01 à 95 à partir de la cellule
A2
(leur nom figurant à partir de B2)
en abcisses, les tranches 9, 19, 29, 39, etc à partir de la cellule C1
vers
G1 ou plus
des prix enfin, dans les colonnes à partir de C2 vers G2 pour le
département
01, C3 vers G3 pour le département 02 et ainsi de suite jusqu'en
regard du
dernier département...
ma question : comment en VBA aller chercher le prix correspondant aux
infos
en D9 et G2 de la facture dans le classeur à l'intersection, donc, de
la
ligne "départements" et de la colonne "tranches", sachant qu'il ne
faudra
prendre en compte que les 2 premiers chiffres du code postal, bien
sûr...
dois-je ajouter que cela fait trois ans et demi que je suis là-dessus
et que
c'est vraiment contraint et forcé que je lance ce mayday....
merci pour votre intérêt qui, dans cette histoire, est terriblement
salut françois-xavier je m'empresse de mettre ta réponse sur disquette pour la tester in my office... juste un mot auparavant : tu as mis en observation :
'col +2 = colonne comprenant les prix 'note : +2 pour débuter en colonne C
est-ce à dire qu'il faut que j'ajoute +2 en bout de la ligne suivante (comme tu as ajouté +1 à celle définissant la "lig" ?
col = Application.WorksheetFunction.Match(PL, .Range("C1:H1"), 0)
Voui Chef, modif de dernière minute passée sur une ligne et oubliée sur l'autre.
je vais faire les essais, oeuf corse, en croisant les doigts pour que la WorksheetFunction Match soit bien connue de XL 97 (c'est Split, je crois, qui ne l'est pas)
Si tes tranches sont régulières (9, 19, 29, 39, ....), tu pourrais remplacer par : poids -> resultat cherché 9 -> 3 19 -> 4 29 -> 5 39 -> 6 +10 -> +1 -21 -> 0 col = (PL + 21) /10
je suis bien sûr que tout cela va baigner dans l'huile dont je pourrais me resservir pour t'y faire revenir quelque andouillette lors de ton prochain passage dans le quartier... merci encore françois-xavier and see you soon jps
Si tu me prends par les sentiments ... :o)
@+ FxM
"FxM" a écrit dans le message de news:eqJ$
re-
En premiere approche, ca pourrait donner des choses comme :
Sub test()
' feuille de facture With Sheets("BL")
'département CP = Left(.Range("D9"), 2) 'plage de poids PL = .Range("G2") End With
'ouvrir le fichier autre Workbooks.Open ("D:inboxtransport_001.xls")
'dont on suppose que la feuille se nomme ... With Sheets("Prix")
'lig +1 = ligne comprenant le département 'note : +1 pour débuter en ligne2 lig = Application.Match(CP, .Range("A2:A96"), 0) +1
'col +2 = colonne comprenant les prix 'note : +2 pour débuter en colonne C col = Application.WorksheetFunction.Match(PL, .Range("C1:H1"), 0)
'extraction du prix souhaité prix = .Cells(lig , col )
End With
'fermer les prix sans sauver ActiveWorkbook.Close False
'noter le prix dans la case qui va bien 'attention au nom de feuille Sheets("BL").Range("A1").Value = prix End Sub
Attention ! Il faut que les départements soient bien 01 au format texte et non 1 avec une mise en forme. Dans le second cas, remplacer lig = Application.Match(CP, .Range("A2:A96"), 0) +1 par lig = cp*1 +1
@+ FxM
.....alors j'y vais de ma question mais auparavant un grand bonjour à tout le monde (y a si longtemps que je n'étais venu) imaginons une facture : en D9 une ligne adresse constituée du code postal suivi de la ville (
ex.
69380 Chatillon ou 01000 Bourg) en G2 une tranche de poids (ex. 9, 19, 29, 39) dans un autre classeur, un tableau avec : en ordonnés, les n° des départements de 01 à 95 à partir de la cellule
A2
(leur nom figurant à partir de B2) en abcisses, les tranches 9, 19, 29, 39, etc à partir de la cellule C1 vers G1 ou plus des prix enfin, dans les colonnes à partir de C2 vers G2 pour le département 01, C3 vers G3 pour le département 02 et ainsi de suite jusqu'en regard du dernier département... ma question : comment en VBA aller chercher le prix correspondant aux infos en D9 et G2 de la facture dans le classeur à l'intersection, donc, de
la
ligne "départements" et de la colonne "tranches", sachant qu'il ne
faudra
prendre en compte que les 2 premiers chiffres du code postal, bien
sûr...
dois-je ajouter que cela fait trois ans et demi que je suis là-dessus et que c'est vraiment contraint et forcé que je lance ce mayday.... merci pour votre intérêt qui, dans cette histoire, est terriblement