OVH Cloud OVH Cloud

chris a pris la garde...

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

10 réponses

1 2
Avatar
J-Dan
bonjour JPS,

peut-etre pour commencer un :

Application.ScreenUpdating = False

;-))))))))


-----Message d'origine-----
.....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


.



Avatar
sabatier
ah merci J-Dan ; en effet, c'est un excellent début de macro...en plus, je
ne connaissais pas ce truc, préférant me rafraîchir par ces temps de
canicule à grands coups de défilement d'écrans...
mais je te fais grâce du célèbre "c'était avec plaisir"....
jps

"J-Dan" a écrit dans le message de
news:0df501c46ea7$ab24b580$
bonjour JPS,

peut-etre pour commencer un :

Application.ScreenUpdating = False

;-))))))))


-----Message d'origine-----
.....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


.



Avatar
J-Dan
mais je te fais grâce du célèbre "c'était avec
plaisir"....


Je m'en dispenserai donc (j'm'en voudrais de contrarier
tes insomnies !)


-----Message d'origine-----
ah merci J-Dan ; en effet, c'est un excellent début de
macro...en plus, je

ne connaissais pas ce truc, préférant me rafraîchir par
ces temps de

canicule à grands coups de défilement d'écrans...
mais je te fais grâce du célèbre "c'était avec
plaisir"....

jps

"J-Dan" a écrit
dans le message de

news:0df501c46ea7$ab24b580$
bonjour JPS,

peut-etre pour commencer un :

Application.ScreenUpdating = False

;-))))))))


-----Message d'origine-----
.....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


.




.




Avatar
FxM
Bonsoir Jean-Paul,

Pourrait-on recevoir un exemple en BAL ?

@+
FxM


On 20/07/04 23:38, sabatier wrote:
.....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




Avatar
FxM
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






Avatar
ChrisV
Salut JP,

Pourquoi ne pas mettre directement une formule dans le classeur "Facture" ?

Avec par exemple les plages nommées suivantes (situées sur le classeur "Base
de données" nommé ici BdD.xls):
A1:G1 (etQ)
A1:A96 (cP)
A1:G96 (Zn)

Dans le classeur facture:

=INDEX(BdD!Zn;EQUIV(--STXT(D9;1;2);BdD!cP);EQUIV(G2;BdD!etQ))


ChrisV


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




Avatar
ChrisV
Manque juste un p'tit bout...
(si tu désires travailler avc le fichier BdD.xls fermé)

=INDEX('C:le_chemind'accèsfichierBdD.xls'!Zn;EQUIV(--STXT(D9;1;2);
''C:le_chemind'accèsfichierBdD.xls'!cP);EQUIV(G2;'C:le_chemind'accès
fichierBdD.xls'!etQ))


ChrisV


"ChrisV" a écrit dans le message de
news:uOx%
Salut JP,

Pourquoi ne pas mettre directement une formule dans le classeur "Facture"
?


Avec par exemple les plages nommées suivantes (situées sur le classeur
"Base

de données" nommé ici BdD.xls):
A1:G1 (etQ)
A1:A96 (cP)
A1:G96 (Zn)

Dans le classeur facture:

=INDEX(BdD!Zn;EQUIV(--STXT(D9;1;2);BdD!cP);EQUIV(G2;BdD!etQ))


ChrisV


"sabatier" a écrit dans le
message

de news:
....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








Avatar
J
sabatier wrote:

sachant qu'il ne faudra
prendre en compte que les 2 premiers chiffres du code postal,


Scandaleux!!!!
Quand je pense que j'héberge des lyonnaises, auxquelles j'allais servir
un bon plat de mahi mahi et que ni la Polynésie, ni les DOM, ni les TOM,
ni les COM, ni les pauvres POMmes que nous sommes ne pourront être
traitées dans ton ordinateur ?!§<:=]
Aaaaarghhh !
J@@

Avatar
sabatier
hého, le tahitien, ne me crie pas dessus comme un putois d'Iva Oa (les plus
vindicatfs de l'archipel, c'est bien connu)...
pour ne pas troubler la sérénité des gentils contributeurs, j'ai
volontairement limité aux départements de la métropole mais j'aurais pu
ajouter la guyane, la guadeloupe et la martinique où se trouvent quelques
clients mais aucun, pour le moment, en polynésie....je t'envoie un p'tit
stock de départ ou quoi?
bises aux lyonnaises
à +
jps

"J@@" a écrit dans le message de
news:e%
sabatier wrote:

sachant qu'il ne faudra
prendre en compte que les 2 premiers chiffres du code postal,


Scandaleux!!!!
Quand je pense que j'héberge des lyonnaises, auxquelles j'allais servir
un bon plat de mahi mahi et que ni la Polynésie, ni les DOM, ni les TOM,
ni les COM, ni les pauvres POMmes que nous sommes ne pourront être
traitées dans ton ordinateur ?!§<:=]
Aaaaarghhh !
J@@



Avatar
sabatier
bonjour chris
à ton réveil, tu trouveras un grand merci pour ta double réponse qui
m'aurait sûrement convenu si je n'avais pas déjà une formule dans la cellule
où je veux voir figurer le prix du port ; cette formule est, selon le cas,
"surchargée" par la macro et c'est la raison pour laquelle je demandais
quelquechose en VBA....j'étais bien sûr pourtant qu'une formule basée sur
index et equiv pouvait exister mais j'eusse bien été incapable de
l'écrire...maintenant, n'y-t-il pas la possibilité de la coller dans la
cellule par macro au moment M? je pense que oui mais je ne suis pas sûr de
moi pour la traduction mais je vais essayer en me servant de l'enregistreur
de macros, juste pour voir la bobine de la formule...
en tous cas, je mets tes réponses de cousta (comme on dit en patois
auvergnat) et merci encore...
jps

"ChrisV" a écrit dans le message de
news:uOx%
Salut JP,

Pourquoi ne pas mettre directement une formule dans le classeur "Facture"
?


Avec par exemple les plages nommées suivantes (situées sur le classeur
"Base

de données" nommé ici BdD.xls):
A1:G1 (etQ)
A1:A96 (cP)
A1:G96 (Zn)

Dans le classeur facture:

=INDEX(BdD!Zn;EQUIV(--STXT(D9;1;2);BdD!cP);EQUIV(G2;BdD!etQ))


ChrisV


"sabatier" a écrit dans le
message

de news:
....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








1 2