Style, Format, ...

Le
garnote
Bonjour,

Sous 2007, j'ai cette macro dans PERSONAL.XLSB
que j'ai associée à un bouton de la barre d'outils Accès rapide.

Sub TVQ_TPS()
'Calcule la TVQ, la TPS et le total.
'La cellule active ne doit pas être
'dans la première colonne et
On Error Resume Next
Dim m As Range
Set m = ActiveCell
v = m.Value
tvq = v * 0.05
tps = (v + tvq) * 0.075
t = v + tvq + tps
m.Offset(0, -1).Value = "Montant"
m.Offset(1, -1).Value = "TVQ"
m.Offset(2, -1).Value = "TPS"
m.Offset(3, -1).Value = "Total"
m.Offset(1, 0).Value = tvq
m.Offset(2, 0).Value = tps
m.Offset(3, 0).Value = t
m.Resize(4, 1).Style = "Currency"
End Sub

Questions :
1) TVQ : Taxe de vente du Québec
TPS : Taxe sur les produits et services
Comment ça fonctionne dans les Europes
ces machins-là ?
2) J'ai obtenu Style = " Currency" avec l'enregistreur de macros..
Mais n'était-ce pas Format dans les versions antérieures ?

Serge
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #19920171
Bonjour Garnote,

Ne fais pas rire de nous avec ton approche toute simple
de calculer nos taxes. Respecte nos fonctionnaires !
;-))

Copie ce qui suit dans un module standard

'Dans le haut du classeur :
Const LaTps = 0.05
Const LaTVQ = 0.075

Type Taxes_au_Québec
Montant As Currency
Tvq As Currency
Tps As Currency
Total As Currency
End Type
'--------------------------
Function Les_taxes(M As Variant)
Dim Nos_Taxes As Taxes_au_Québec
With Nos_Taxes
.Montant = M
.Tps = M * LaTps
.Tvq = (M + LaTps) * LaTVQ
.Total = M + Nos_Taxes.Tps + Nos_Taxes.Tvq
Les_taxes = Replace(.Montant & " " & _
.Tps & " " & .Tvq & " " & .Total, ",", ".")
End With
End Function
'--------------------------
Sub Calcul_des_Taxes(M As Currency)

Dim Arr As Variant
Dim Arr1 As Variant
Arr = Array("Montant", "TPS", "TVQ", "Total")
Arr1 = Split(Les_taxes(M), " ")
With ActiveCell
.Resize(UBound(Arr) + 1) = Application.Transpose(Arr)
With .Offset(, 1).Resize(UBound(Arr1) + 1)
.NumberFormat = "# ##0.00 $"
.Value = Application.Transpose(Arr1)
End With
End With
End Sub
'--------------------------

Sub test()
Calcul_des_Taxes 266.35
End Sub
'--------------------------




"garnote"
Bonjour,

Sous 2007, j'ai cette macro dans PERSONAL.XLSB
que j'ai associée à un bouton de la barre d'outils Accès rapide.

Sub TVQ_TPS()
'Calcule la TVQ, la TPS et le total.
'La cellule active ne doit pas être
'dans la première colonne et ...
On Error Resume Next
Dim m As Range
Set m = ActiveCell
v = m.Value
tvq = v * 0.05
tps = (v + tvq) * 0.075
t = v + tvq + tps
m.Offset(0, -1).Value = "Montant"
m.Offset(1, -1).Value = "TVQ"
m.Offset(2, -1).Value = "TPS"
m.Offset(3, -1).Value = "Total"
m.Offset(1, 0).Value = tvq
m.Offset(2, 0).Value = tps
m.Offset(3, 0).Value = t
m.Resize(4, 1).Style = "Currency"
End Sub

Questions :
1) TVQ : Taxe de vente du Québec
TPS : Taxe sur les produits et services
Comment ça fonctionne dans les Europes
ces machins-là ?
2) J'ai obtenu Style = " Currency" avec l'enregistreur de macros..
Mais n'était-ce pas Format ... dans les versions antérieures ?

Serge
MichDenis
Le #19920331
| " Currency" avec l'enregistreur de macros..
| Mais n'était-ce pas Format ... dans les versions antérieures ?

Le type "Currency" existe depuis longtemps et continue d'exister.
Il conserve cependant 4 décimales après le point.

Cette section serait mieux comme ceci :
'---------------------------------------
Function Les_taxes(M As Currency)
Dim Nos_Taxes As Taxes_au_Québec
With Nos_Taxes
.Montant = M
.Tps = M * LaTps
.Tvq = (M + LaTps) * LaTVQ
.Total = M + .Tps + .Tvq
Les_taxes = Replace(.Montant & " " & _
.Tps & " " & .Tvq & " " & .Total, ",", ".")
End With
End Function
'---------------------------------------




"MichDenis" #
Bonjour Garnote,

Ne fais pas rire de nous avec ton approche toute simple
de calculer nos taxes. Respecte nos fonctionnaires !
;-))

Copie ce qui suit dans un module standard

'Dans le haut du classeur :
Const LaTps = 0.05
Const LaTVQ = 0.075

Type Taxes_au_Québec
Montant As Currency
Tvq As Currency
Tps As Currency
Total As Currency
End Type
'--------------------------
Function Les_taxes(M As Variant)
Dim Nos_Taxes As Taxes_au_Québec
With Nos_Taxes
.Montant = M
.Tps = M * LaTps
.Tvq = (M + LaTps) * LaTVQ
.Total = M + Nos_Taxes.Tps + Nos_Taxes.Tvq
Les_taxes = Replace(.Montant & " " & _
.Tps & " " & .Tvq & " " & .Total, ",", ".")
End With
End Function
'--------------------------
Sub Calcul_des_Taxes(M As Currency)

Dim Arr As Variant
Dim Arr1 As Variant
Arr = Array("Montant", "TPS", "TVQ", "Total")
Arr1 = Split(Les_taxes(M), " ")
With ActiveCell
.Resize(UBound(Arr) + 1) = Application.Transpose(Arr)
With .Offset(, 1).Resize(UBound(Arr1) + 1)
.NumberFormat = "# ##0.00 $"
.Value = Application.Transpose(Arr1)
End With
End With
End Sub
'--------------------------

Sub test()
Calcul_des_Taxes 266.35
End Sub
'--------------------------




"garnote"
Bonjour,

Sous 2007, j'ai cette macro dans PERSONAL.XLSB
que j'ai associée à un bouton de la barre d'outils Accès rapide.

Sub TVQ_TPS()
'Calcule la TVQ, la TPS et le total.
'La cellule active ne doit pas être
'dans la première colonne et ...
On Error Resume Next
Dim m As Range
Set m = ActiveCell
v = m.Value
tvq = v * 0.05
tps = (v + tvq) * 0.075
t = v + tvq + tps
m.Offset(0, -1).Value = "Montant"
m.Offset(1, -1).Value = "TVQ"
m.Offset(2, -1).Value = "TPS"
m.Offset(3, -1).Value = "Total"
m.Offset(1, 0).Value = tvq
m.Offset(2, 0).Value = tps
m.Offset(3, 0).Value = t
m.Resize(4, 1).Style = "Currency"
End Sub

Questions :
1) TVQ : Taxe de vente du Québec
TPS : Taxe sur les produits et services
Comment ça fonctionne dans les Europes
ces machins-là ?
2) J'ai obtenu Style = " Currency" avec l'enregistreur de macros..
Mais n'était-ce pas Format ... dans les versions antérieures ?

Serge
MichDenis
Le #19922591
Si tu n'as pas eu de réponse à ta question Garnote,
c'est que la taxe de vente doit être une invention
nord-américaine en usage seulement sur son
territoire protégé par des brevets ! ;-))

Questions :
1) TVQ : Taxe de vente du Québec
TPS : Taxe sur les produits et services
Comment ça fonctionne dans les Europes
ces machins-là ?
Péhemme
Le #19923211
Pardon, je m'immisce,

Au delà de la réalité fiscale, je ne comprends pas :

.Tvq = (M + LaTps) * LaTVQ dans Function Les_taxes(M As Currency)

Pour ma bonne compréhension, à quoi sert d'ajouter le taux (et non pas son
montant) de la Tps pour le calcul de la Tvq ?

Bien amicalement
Michel (futur expert fiscal au Québec)




"MichDenis" news:
| " Currency" avec l'enregistreur de macros..
| Mais n'était-ce pas Format ... dans les versions antérieures ?

Le type "Currency" existe depuis longtemps et continue d'exister.
Il conserve cependant 4 décimales après le point.

Cette section serait mieux comme ceci :
'---------------------------------------
Function Les_taxes(M As Currency)
Dim Nos_Taxes As Taxes_au_Québec
With Nos_Taxes
.Montant = M
.Tps = M * LaTps
.Tvq = (M + LaTps) * LaTVQ
.Total = M + .Tps + .Tvq
Les_taxes = Replace(.Montant & " " & _
.Tps & " " & .Tvq & " " & .Total, ",", ".")
End With
End Function
'---------------------------------------




"MichDenis" discussion :
#
Bonjour Garnote,

Ne fais pas rire de nous avec ton approche toute simple
de calculer nos taxes. Respecte nos fonctionnaires !
;-))

Copie ce qui suit dans un module standard

'Dans le haut du classeur :
Const LaTps = 0.05
Const LaTVQ = 0.075

Type Taxes_au_Québec
Montant As Currency
Tvq As Currency
Tps As Currency
Total As Currency
End Type
'--------------------------
Function Les_taxes(M As Variant)
Dim Nos_Taxes As Taxes_au_Québec
With Nos_Taxes
.Montant = M
.Tps = M * LaTps
.Tvq = (M + LaTps) * LaTVQ
.Total = M + Nos_Taxes.Tps + Nos_Taxes.Tvq
Les_taxes = Replace(.Montant & " " & _
.Tps & " " & .Tvq & " " & .Total, ",", ".")
End With
End Function
'--------------------------
Sub Calcul_des_Taxes(M As Currency)

Dim Arr As Variant
Dim Arr1 As Variant
Arr = Array("Montant", "TPS", "TVQ", "Total")
Arr1 = Split(Les_taxes(M), " ")
With ActiveCell
.Resize(UBound(Arr) + 1) = Application.Transpose(Arr)
With .Offset(, 1).Resize(UBound(Arr1) + 1)
.NumberFormat = "# ##0.00 $"
.Value = Application.Transpose(Arr1)
End With
End With
End Sub
'--------------------------

Sub test()
Calcul_des_Taxes 266.35
End Sub
'--------------------------




"garnote" discussion :

Bonjour,

Sous 2007, j'ai cette macro dans PERSONAL.XLSB
que j'ai associée à un bouton de la barre d'outils Accès rapide.

Sub TVQ_TPS()
'Calcule la TVQ, la TPS et le total.
'La cellule active ne doit pas être
'dans la première colonne et ...
On Error Resume Next
Dim m As Range
Set m = ActiveCell
v = m.Value
tvq = v * 0.05
tps = (v + tvq) * 0.075
t = v + tvq + tps
m.Offset(0, -1).Value = "Montant"
m.Offset(1, -1).Value = "TVQ"
m.Offset(2, -1).Value = "TPS"
m.Offset(3, -1).Value = "Total"
m.Offset(1, 0).Value = tvq
m.Offset(2, 0).Value = tps
m.Offset(3, 0).Value = t
m.Resize(4, 1).Style = "Currency"
End Sub

Questions :
1) TVQ : Taxe de vente du Québec
TPS : Taxe sur les produits et services
Comment ça fonctionne dans les Europes
ces machins-là ?
2) J'ai obtenu Style = " Currency" avec l'enregistreur de macros..
Mais n'était-ce pas Format ... dans les versions antérieures ?

Serge



MichDenis
Le #19923321
Bonjour Péhemme,

Tu as parfaitement raison, il y a une petite erreur.
(il n'y a même pas moyen de sauver quelques sous...)
;-))
Merci de l'avoir souligné.

Au lieu de ceci :
.Tvq = (M + LaTps) * LaTVQ
On devrait lire :
.Tvq = (M + .Tps) * LaTVQ

Et la fonction devient :
'------------------------------------
Function Les_taxes(M As Currency)
Dim Nos_Taxes As Taxes_au_Québec
With Nos_Taxes
.Montant = M
.Tps = M * LaTps
.Tvq = (M + .Tps) * LaTVQ
.Total = M + .Tps + .Tvq
Les_taxes = Replace(.Montant & " " & _
.Tps & " " & .Tvq & " " & .Total, ",", ".")
End With
End Function
'------------------------------------



"Péhemme" O1a#
Pardon, je m'immisce,

Au delà de la réalité fiscale, je ne comprends pas :

.Tvq = (M + LaTps) * LaTVQ dans Function Les_taxes(M As Currency)

Pour ma bonne compréhension, à quoi sert d'ajouter le taux (et non pas son
montant) de la Tps pour le calcul de la Tvq ?

Bien amicalement
Michel (futur expert fiscal au Québec)




"MichDenis" news:
| " Currency" avec l'enregistreur de macros..
| Mais n'était-ce pas Format ... dans les versions antérieures ?

Le type "Currency" existe depuis longtemps et continue d'exister.
Il conserve cependant 4 décimales après le point.

Cette section serait mieux comme ceci :
'---------------------------------------
Function Les_taxes(M As Currency)
Dim Nos_Taxes As Taxes_au_Québec
With Nos_Taxes
.Montant = M
.Tps = M * LaTps
.Tvq = (M + LaTps) * LaTVQ
.Total = M + .Tps + .Tvq
Les_taxes = Replace(.Montant & " " & _
.Tps & " " & .Tvq & " " & .Total, ",", ".")
End With
End Function
'---------------------------------------




"MichDenis" discussion :
#
Bonjour Garnote,

Ne fais pas rire de nous avec ton approche toute simple
de calculer nos taxes. Respecte nos fonctionnaires !
;-))

Copie ce qui suit dans un module standard

'Dans le haut du classeur :
Const LaTps = 0.05
Const LaTVQ = 0.075

Type Taxes_au_Québec
Montant As Currency
Tvq As Currency
Tps As Currency
Total As Currency
End Type
'--------------------------
Function Les_taxes(M As Variant)
Dim Nos_Taxes As Taxes_au_Québec
With Nos_Taxes
.Montant = M
.Tps = M * LaTps
.Tvq = (M + LaTps) * LaTVQ
.Total = M + Nos_Taxes.Tps + Nos_Taxes.Tvq
Les_taxes = Replace(.Montant & " " & _
.Tps & " " & .Tvq & " " & .Total, ",", ".")
End With
End Function
'--------------------------
Sub Calcul_des_Taxes(M As Currency)

Dim Arr As Variant
Dim Arr1 As Variant
Arr = Array("Montant", "TPS", "TVQ", "Total")
Arr1 = Split(Les_taxes(M), " ")
With ActiveCell
.Resize(UBound(Arr) + 1) = Application.Transpose(Arr)
With .Offset(, 1).Resize(UBound(Arr1) + 1)
.NumberFormat = "# ##0.00 $"
.Value = Application.Transpose(Arr1)
End With
End With
End Sub
'--------------------------

Sub test()
Calcul_des_Taxes 266.35
End Sub
'--------------------------




"garnote" discussion :

Bonjour,

Sous 2007, j'ai cette macro dans PERSONAL.XLSB
que j'ai associée à un bouton de la barre d'outils Accès rapide.

Sub TVQ_TPS()
'Calcule la TVQ, la TPS et le total.
'La cellule active ne doit pas être
'dans la première colonne et ...
On Error Resume Next
Dim m As Range
Set m = ActiveCell
v = m.Value
tvq = v * 0.05
tps = (v + tvq) * 0.075
t = v + tvq + tps
m.Offset(0, -1).Value = "Montant"
m.Offset(1, -1).Value = "TVQ"
m.Offset(2, -1).Value = "TPS"
m.Offset(3, -1).Value = "Total"
m.Offset(1, 0).Value = tvq
m.Offset(2, 0).Value = tps
m.Offset(3, 0).Value = t
m.Resize(4, 1).Style = "Currency"
End Sub

Questions :
1) TVQ : Taxe de vente du Québec
TPS : Taxe sur les produits et services
Comment ça fonctionne dans les Europes
ces machins-là ?
2) J'ai obtenu Style = " Currency" avec l'enregistreur de macros..
Mais n'était-ce pas Format ... dans les versions antérieures ?

Serge



Péhemme
Le #19924161
Pardon de revenir si tard.
=> Merci
Cela fait tout de même un total de taxes de 15.875% contre 19.60% en France,
mais je ne suis pas sur que cela soit strictement comparable.
Bonne soirée
Michel

"MichDenis" news:
Bonjour Péhemme,

Tu as parfaitement raison, il y a une petite erreur.
(il n'y a même pas moyen de sauver quelques sous...)
;-))
Merci de l'avoir souligné.

Au lieu de ceci :
.Tvq = (M + LaTps) * LaTVQ
On devrait lire :
.Tvq = (M + .Tps) * LaTVQ

Et la fonction devient :
'------------------------------------
Function Les_taxes(M As Currency)
Dim Nos_Taxes As Taxes_au_Québec
With Nos_Taxes
.Montant = M
.Tps = M * LaTps
.Tvq = (M + .Tps) * LaTVQ
.Total = M + .Tps + .Tvq
Les_taxes = Replace(.Montant & " " & _
.Tps & " " & .Tvq & " " & .Total, ",", ".")
End With
End Function
'------------------------------------



"Péhemme" O1a#
Pardon, je m'immisce,

Au delà de la réalité fiscale, je ne comprends pas :

.Tvq = (M + LaTps) * LaTVQ dans Function Les_taxes(M As Currency)

Pour ma bonne compréhension, à quoi sert d'ajouter le taux (et non pas son
montant) de la Tps pour le calcul de la Tvq ?

Bien amicalement
Michel (futur expert fiscal au Québec)




"MichDenis" news:
| " Currency" avec l'enregistreur de macros..
| Mais n'était-ce pas Format ... dans les versions antérieures ?

Le type "Currency" existe depuis longtemps et continue d'exister.
Il conserve cependant 4 décimales après le point.

Cette section serait mieux comme ceci :
'---------------------------------------
Function Les_taxes(M As Currency)
Dim Nos_Taxes As Taxes_au_Québec
With Nos_Taxes
.Montant = M
.Tps = M * LaTps
.Tvq = (M + LaTps) * LaTVQ
.Total = M + .Tps + .Tvq
Les_taxes = Replace(.Montant & " " & _
.Tps & " " & .Tvq & " " & .Total, ",", ".")
End With
End Function
'---------------------------------------




"MichDenis" discussion :
#
Bonjour Garnote,

Ne fais pas rire de nous avec ton approche toute simple
de calculer nos taxes. Respecte nos fonctionnaires !
;-))

Copie ce qui suit dans un module standard

'Dans le haut du classeur :
Const LaTps = 0.05
Const LaTVQ = 0.075

Type Taxes_au_Québec
Montant As Currency
Tvq As Currency
Tps As Currency
Total As Currency
End Type
'--------------------------
Function Les_taxes(M As Variant)
Dim Nos_Taxes As Taxes_au_Québec
With Nos_Taxes
.Montant = M
.Tps = M * LaTps
.Tvq = (M + LaTps) * LaTVQ
.Total = M + Nos_Taxes.Tps + Nos_Taxes.Tvq
Les_taxes = Replace(.Montant & " " & _
.Tps & " " & .Tvq & " " & .Total, ",", ".")
End With
End Function
'--------------------------
Sub Calcul_des_Taxes(M As Currency)

Dim Arr As Variant
Dim Arr1 As Variant
Arr = Array("Montant", "TPS", "TVQ", "Total")
Arr1 = Split(Les_taxes(M), " ")
With ActiveCell
.Resize(UBound(Arr) + 1) = Application.Transpose(Arr)
With .Offset(, 1).Resize(UBound(Arr1) + 1)
.NumberFormat = "# ##0.00 $"
.Value = Application.Transpose(Arr1)
End With
End With
End Sub
'--------------------------

Sub test()
Calcul_des_Taxes 266.35
End Sub
'--------------------------




"garnote" discussion :

Bonjour,

Sous 2007, j'ai cette macro dans PERSONAL.XLSB
que j'ai associée à un bouton de la barre d'outils Accès rapide.

Sub TVQ_TPS()
'Calcule la TVQ, la TPS et le total.
'La cellule active ne doit pas être
'dans la première colonne et ...
On Error Resume Next
Dim m As Range
Set m = ActiveCell
v = m.Value
tvq = v * 0.05
tps = (v + tvq) * 0.075
t = v + tvq + tps
m.Offset(0, -1).Value = "Montant"
m.Offset(1, -1).Value = "TVQ"
m.Offset(2, -1).Value = "TPS"
m.Offset(3, -1).Value = "Total"
m.Offset(1, 0).Value = tvq
m.Offset(2, 0).Value = tps
m.Offset(3, 0).Value = t
m.Resize(4, 1).Style = "Currency"
End Sub

Questions :
1) TVQ : Taxe de vente du Québec
TPS : Taxe sur les produits et services
Comment ça fonctionne dans les Europes
ces machins-là ?
2) J'ai obtenu Style = " Currency" avec l'enregistreur de macros..
Mais n'était-ce pas Format ... dans les versions antérieures ?

Serge






Péhemme
Le #19924241
Pardon de revenir si tard.
=> Merci
Cela fait tout de même un total de taxes de 12.875% contre 19.60% en France,
mais je ne suis pas sûr que cela soit strictement comparable.
Bonne soirée
Michel

"MichDenis" news:
Bonjour Péhemme,

Tu as parfaitement raison, il y a une petite erreur.
(il n'y a même pas moyen de sauver quelques sous...)
;-))
Merci de l'avoir souligné.

Au lieu de ceci :
.Tvq = (M + LaTps) * LaTVQ
On devrait lire :
.Tvq = (M + .Tps) * LaTVQ

Et la fonction devient :
'------------------------------------
Function Les_taxes(M As Currency)
Dim Nos_Taxes As Taxes_au_Québec
With Nos_Taxes
.Montant = M
.Tps = M * LaTps
.Tvq = (M + .Tps) * LaTVQ
.Total = M + .Tps + .Tvq
Les_taxes = Replace(.Montant & " " & _
.Tps & " " & .Tvq & " " & .Total, ",", ".")
End With
End Function
'------------------------------------



"Péhemme" O1a#
Pardon, je m'immisce,

Au delà de la réalité fiscale, je ne comprends pas :

.Tvq = (M + LaTps) * LaTVQ dans Function Les_taxes(M As Currency)

Pour ma bonne compréhension, à quoi sert d'ajouter le taux (et non pas son
montant) de la Tps pour le calcul de la Tvq ?

Bien amicalement
Michel (futur expert fiscal au Québec)




"MichDenis" news:
| " Currency" avec l'enregistreur de macros..
| Mais n'était-ce pas Format ... dans les versions antérieures ?

Le type "Currency" existe depuis longtemps et continue d'exister.
Il conserve cependant 4 décimales après le point.

Cette section serait mieux comme ceci :
'---------------------------------------
Function Les_taxes(M As Currency)
Dim Nos_Taxes As Taxes_au_Québec
With Nos_Taxes
.Montant = M
.Tps = M * LaTps
.Tvq = (M + LaTps) * LaTVQ
.Total = M + .Tps + .Tvq
Les_taxes = Replace(.Montant & " " & _
.Tps & " " & .Tvq & " " & .Total, ",", ".")
End With
End Function
'---------------------------------------




"MichDenis" discussion :
#
Bonjour Garnote,

Ne fais pas rire de nous avec ton approche toute simple
de calculer nos taxes. Respecte nos fonctionnaires !
;-))

Copie ce qui suit dans un module standard

'Dans le haut du classeur :
Const LaTps = 0.05
Const LaTVQ = 0.075

Type Taxes_au_Québec
Montant As Currency
Tvq As Currency
Tps As Currency
Total As Currency
End Type
'--------------------------
Function Les_taxes(M As Variant)
Dim Nos_Taxes As Taxes_au_Québec
With Nos_Taxes
.Montant = M
.Tps = M * LaTps
.Tvq = (M + LaTps) * LaTVQ
.Total = M + Nos_Taxes.Tps + Nos_Taxes.Tvq
Les_taxes = Replace(.Montant & " " & _
.Tps & " " & .Tvq & " " & .Total, ",", ".")
End With
End Function
'--------------------------
Sub Calcul_des_Taxes(M As Currency)

Dim Arr As Variant
Dim Arr1 As Variant
Arr = Array("Montant", "TPS", "TVQ", "Total")
Arr1 = Split(Les_taxes(M), " ")
With ActiveCell
.Resize(UBound(Arr) + 1) = Application.Transpose(Arr)
With .Offset(, 1).Resize(UBound(Arr1) + 1)
.NumberFormat = "# ##0.00 $"
.Value = Application.Transpose(Arr1)
End With
End With
End Sub
'--------------------------

Sub test()
Calcul_des_Taxes 266.35
End Sub
'--------------------------




"garnote" discussion :

Bonjour,

Sous 2007, j'ai cette macro dans PERSONAL.XLSB
que j'ai associée à un bouton de la barre d'outils Accès rapide.

Sub TVQ_TPS()
'Calcule la TVQ, la TPS et le total.
'La cellule active ne doit pas être
'dans la première colonne et ...
On Error Resume Next
Dim m As Range
Set m = ActiveCell
v = m.Value
tvq = v * 0.05
tps = (v + tvq) * 0.075
t = v + tvq + tps
m.Offset(0, -1).Value = "Montant"
m.Offset(1, -1).Value = "TVQ"
m.Offset(2, -1).Value = "TPS"
m.Offset(3, -1).Value = "Total"
m.Offset(1, 0).Value = tvq
m.Offset(2, 0).Value = tps
m.Offset(3, 0).Value = t
m.Resize(4, 1).Style = "Currency"
End Sub

Questions :
1) TVQ : Taxe de vente du Québec
TPS : Taxe sur les produits et services
Comment ça fonctionne dans les Europes
ces machins-là ?
2) J'ai obtenu Style = " Currency" avec l'enregistreur de macros..
Mais n'était-ce pas Format ... dans les versions antérieures ?

Serge






garnote
Le #19928041
;-)

Moé, qui aurai peut-être la chance de rencontrer
Misange elle même en personne à Québec
aujourd'hui ou demain, Pfff..


"MichDenis" %
Bonjour Garnote,

Ne fais pas rire de nous avec ton approche toute simple
de calculer nos taxes. Respecte nos fonctionnaires !
;-))

Copie ce qui suit dans un module standard

'Dans le haut du classeur :
Const LaTps = 0.05
Const LaTVQ = 0.075

Type Taxes_au_Québec
Montant As Currency
Tvq As Currency
Tps As Currency
Total As Currency
End Type
'--------------------------
Function Les_taxes(M As Variant)
Dim Nos_Taxes As Taxes_au_Québec
With Nos_Taxes
.Montant = M
.Tps = M * LaTps
.Tvq = (M + LaTps) * LaTVQ
.Total = M + Nos_Taxes.Tps + Nos_Taxes.Tvq
Les_taxes = Replace(.Montant & " " & _
.Tps & " " & .Tvq & " " & .Total, ",", ".")
End With
End Function
'--------------------------
Sub Calcul_des_Taxes(M As Currency)

Dim Arr As Variant
Dim Arr1 As Variant
Arr = Array("Montant", "TPS", "TVQ", "Total")
Arr1 = Split(Les_taxes(M), " ")
With ActiveCell
.Resize(UBound(Arr) + 1) = Application.Transpose(Arr)
With .Offset(, 1).Resize(UBound(Arr1) + 1)
.NumberFormat = "# ##0.00 $"
.Value = Application.Transpose(Arr1)
End With
End With
End Sub
'--------------------------

Sub test()
Calcul_des_Taxes 266.35
End Sub
'--------------------------




"garnote" discussion :

Bonjour,

Sous 2007, j'ai cette macro dans PERSONAL.XLSB
que j'ai associée à un bouton de la barre d'outils Accès rapide.

Sub TVQ_TPS()
'Calcule la TVQ, la TPS et le total.
'La cellule active ne doit pas être
'dans la première colonne et ...
On Error Resume Next
Dim m As Range
Set m = ActiveCell
v = m.Value
tvq = v * 0.05
tps = (v + tvq) * 0.075
t = v + tvq + tps
m.Offset(0, -1).Value = "Montant"
m.Offset(1, -1).Value = "TVQ"
m.Offset(2, -1).Value = "TPS"
m.Offset(3, -1).Value = "Total"
m.Offset(1, 0).Value = tvq
m.Offset(2, 0).Value = tps
m.Offset(3, 0).Value = t
m.Resize(4, 1).Style = "Currency"
End Sub

Questions :
1) TVQ : Taxe de vente du Québec
TPS : Taxe sur les produits et services
Comment ça fonctionne dans les Europes
ces machins-là ?
2) J'ai obtenu Style = " Currency" avec l'enregistreur de macros..
Mais n'était-ce pas Format ... dans les versions antérieures ?

Serge



Publicité
Poster une réponse
Anonyme