OVH Cloud OVH Cloud

variable

4 réponses
Avatar
Jean-Marc
Bonjour, j'ai une procedure qui calcule un tarif, je l'avais codé comme cela
:

Select Case ActiveCell.Value

Case 0.1 To 15
tarif = 8.39
Case 15.01 To 20
tarif = 8.9
Case 20.01 To 30
tarif = 10.28
Case 30.01 To 40
tarif = 11.41
Case 40.01 To 50
tarif = 12.5
Case 50.01 To 60
tarif = 13.72
Case 60.01 To 70
tarif = 14.9
Case 70.01 To 80
tarif = 16.03
Case 80.01 To 90

Le probleme c'est que maintenant les lignes augmentent et je voudrait mettre
la valeur "tarif "en variable qui fait réference à des cellules du classeur
ce qui me permetrait lorsqu'il y a une augmentation de modifier ces cellules
sans recoder. avez vous une idée qui pourrait etre interessante ?

Jean-Marc

4 réponses

Avatar
Nicolas B.
Salut,

je voudrait mettre la valeur "tarif "en variable qui fait réference à
des cellules du classeur ce qui me permetrait lorsqu'il y a une
augmentation de modifier ces cellules sans recoder.


Dans ce cas, mieux vaut tout faire par une formule, plutôt qu'une
procédure :

en A1:An les valeurs : 0 ; 15,01 ; 20,01...
en B1:Bn les tarifs : 8,39 ; 8,9...

Avec en D1 le prix en entrée, le prix final est donné par la formule :
=INDEX(B1:Bn;EQUIV(D1;A1:An))


A+
Nicolas B.

Bonjour, j'ai une procedure qui calcule un tarif, je l'avais codé comme cela
:

Select Case ActiveCell.Value

Case 0.1 To 15
tarif = 8.39
Case 15.01 To 20
tarif = 8.9
Case 20.01 To 30
tarif = 10.28
Case 30.01 To 40
tarif = 11.41
Case 40.01 To 50
tarif = 12.5
Case 50.01 To 60
tarif = 13.72
Case 60.01 To 70
tarif = 14.9
Case 70.01 To 80
tarif = 16.03
Case 80.01 To 90

Le probleme c'est que maintenant les lignes augmentent et je voudrait mettre
la valeur "tarif "en variable qui fait réference à des cellules du classeur
ce qui me permetrait lorsqu'il y a une augmentation de modifier ces cellules
sans recoder. avez vous une idée qui pourrait etre interessante ?

Jean-Marc




Avatar
Jean-Marc
Oui mais je commence par calculer un poids avant ( c'est ce qui figure
apres "case" et qui est testé) et le tarif est inscrit dans une autre
cellule de plus la procedure fonctionne sur 6 feuilles et je voudrait le
tarif à un seul endroit

Jean-Marc
"Nicolas B." a écrit dans le message
de news:uDU4t$
Salut,

je voudrait mettre la valeur "tarif "en variable qui fait réference à
des cellules du classeur ce qui me permetrait lorsqu'il y a une
augmentation de modifier ces cellules sans recoder.


Dans ce cas, mieux vaut tout faire par une formule, plutôt qu'une
procédure :

en A1:An les valeurs : 0 ; 15,01 ; 20,01...
en B1:Bn les tarifs : 8,39 ; 8,9...

Avec en D1 le prix en entrée, le prix final est donné par la formule :
=INDEX(B1:Bn;EQUIV(D1;A1:An))


A+
Nicolas B.

Bonjour, j'ai une procedure qui calcule un tarif, je l'avais codé comme
cela


:

Select Case ActiveCell.Value

Case 0.1 To 15
tarif = 8.39
Case 15.01 To 20
tarif = 8.9
Case 20.01 To 30
tarif = 10.28
Case 30.01 To 40
tarif = 11.41
Case 40.01 To 50
tarif = 12.5
Case 50.01 To 60
tarif = 13.72
Case 60.01 To 70
tarif = 14.9
Case 70.01 To 80
tarif = 16.03
Case 80.01 To 90

Le probleme c'est que maintenant les lignes augmentent et je voudrait
mettre


la valeur "tarif "en variable qui fait réference à des cellules du
classeur


ce qui me permetrait lorsqu'il y a une augmentation de modifier ces
cellules


sans recoder. avez vous une idée qui pourrait etre interessante ?

Jean-Marc






Avatar
Nicolas B.
Avec la correspondances des tarifs avec les poids dans la feuille
"Données" (mêmes plages que dans mon premier message) :

With WorksheetFunction
tarif = .Index(Sheets("Données").Range("B1:Bn"), _
.Match(ActiveCell.Value, Sheets("Données").Range("A1:An")))
End With


A+
Nicolas B.

Oui mais je commence par calculer un poids avant ( c'est ce qui figure
apres "case" et qui est testé) et le tarif est inscrit dans une autre
cellule de plus la procedure fonctionne sur 6 feuilles et je voudrait le
tarif à un seul endroit

Jean-Marc
"Nicolas B." a écrit dans le message
de news:uDU4t$
Salut,

je voudrait mettre la valeur "tarif "en variable qui fait réference à
des cellules du classeur ce qui me permetrait lorsqu'il y a une
augmentation de modifier ces cellules sans recoder.


Dans ce cas, mieux vaut tout faire par une formule, plutôt qu'une
procédure :

en A1:An les valeurs : 0 ; 15,01 ; 20,01...
en B1:Bn les tarifs : 8,39 ; 8,9...

Avec en D1 le prix en entrée, le prix final est donné par la formule :
=INDEX(B1:Bn;EQUIV(D1;A1:An))


A+
Nicolas B.





Avatar
Jean-Marc
Ok, j'essaye, merci

"Nicolas B." a écrit dans le message
de news:
Avec la correspondances des tarifs avec les poids dans la feuille
"Données" (mêmes plages que dans mon premier message) :

With WorksheetFunction
tarif = .Index(Sheets("Données").Range("B1:Bn"), _
.Match(ActiveCell.Value, Sheets("Données").Range("A1:An")))
End With


A+
Nicolas B.

Oui mais je commence par calculer un poids avant ( c'est ce qui figure
apres "case" et qui est testé) et le tarif est inscrit dans une autre
cellule de plus la procedure fonctionne sur 6 feuilles et je voudrait le
tarif à un seul endroit

Jean-Marc
"Nicolas B." a écrit dans le
message


de news:uDU4t$
Salut,

je voudrait mettre la valeur "tarif "en variable qui fait réference
à




des cellules du classeur ce qui me permetrait lorsqu'il y a une
augmentation de modifier ces cellules sans recoder.


Dans ce cas, mieux vaut tout faire par une formule, plutôt qu'une
procédure :

en A1:An les valeurs : 0 ; 15,01 ; 20,01...
en B1:Bn les tarifs : 8,39 ; 8,9...

Avec en D1 le prix en entrée, le prix final est donné par la formule :
=INDEX(B1:Bn;EQUIV(D1;A1:An))


A+
Nicolas B.