Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

format monetaire en VBA

2 réponses
Avatar
Olivier1970
Bonjour,
j'ai une page excel 97 avec un peu partout des prix en euros.
J'ai mis un format monétaire avec 2 chiffres après la virgule.
Comme j'ai aussi d'autres nombres qui n'ont rien à voir. Je voudrais faire
une macro qui recherche toutes les cellules avec le format monétaire pour en
faire la somme.
Mais je n'y arrive pas !
Voilà ce que j'ai écrit :

Sub tata()
Set Plage = Range("a1:h500")
FormatNumerique = "$#,##0.00_);[red]($#,##0.00)"
total = 0
For Each cellule In Plage
If cellule.NumberFormat = FormatNumerique Then
total = total + cellule.Value
End If
Next cellule
MsgBox total
End Sub

Mais le résultat donne toujours 0 !
Je pense que c'est au niveau du formatnumérique mais je ne sais pas quoi
mettre.
J'ai trouvé "$#,##0.00_);[red]($#,##0.00)" avec la macro suivante (après
mettre mis dans une cellule avec le format monetaire cherché)

Sub toto()
FormatNumerique = ActiveCell.NumberFormat
MsgBox FormatNumerique
End Sub

Si quelqu'un a une idée...
Merci
Olivier

2 réponses

Avatar
Youky
Si je mets en monétaire l'enregistreur de macro indique .Style="Currency"
donc:
Set Plage = Range("a1:h500")
total = 0
For Each cellule In Plage
If cellule.Style = "Currency" Then
total = total + cellule.Value
End If
Next cellule
MsgBox total

Youky

"Olivier1970" a écrit dans le message de
news: 4422f1af$0$1149$
Bonjour,
j'ai une page excel 97 avec un peu partout des prix en euros.
J'ai mis un format monétaire avec 2 chiffres après la virgule.
Comme j'ai aussi d'autres nombres qui n'ont rien à voir. Je voudrais faire
une macro qui recherche toutes les cellules avec le format monétaire pour
en faire la somme.
Mais je n'y arrive pas !

Sub tata()
Set Plage = Range("a1:h500")
FormatNumerique = "$#,##0.00_);[red]($#,##0.00)"
total = 0
For Each cellule In Plage
If cellule.NumberFormat = FormatNumerique Then
total = total + cellule.Value
End If
Next cellule
MsgBox total
End Sub

Mais le résultat donne toujours 0 !
Je pense que c'est au niveau du formatnumérique mais je ne sais pas quoi
mettre.
J'ai trouvé "$#,##0.00_);[red]($#,##0.00)" avec la macro suivante (après
mettre mis dans une cellule avec le format monetaire cherché)

Sub toto()
FormatNumerique = ActiveCell.NumberFormat
MsgBox FormatNumerique
End Sub

Si quelqu'un a une idée...
Merci
Olivier




Avatar
Olivier1970
Merci,
mais chez moi ça ne marche pas.
Je n'arrive pas à trouver le style.

Par contre, j'ai trouvé un truc qui marche (si ça peut servir à
quelqu'un...) :

Sub tata()
Set Plage = Range("a1:h500")
FormatNumerique = "#,##0.00 $"
total = 0
For Each cellule In Plage
If cellule.NumberFormat = FormatNumerique Then
total = total + cellule.Value
End If
Next cellule
MsgBox total
End Sub

Merci quand même
Olivier1970





"Youky" a écrit dans le message de news:


Si je mets en monétaire l'enregistreur de macro indique .Style="Currency"
donc:
Set Plage = Range("a1:h500")
total = 0
For Each cellule In Plage
If cellule.Style = "Currency" Then
total = total + cellule.Value
End If
Next cellule
MsgBox total

Youky

"Olivier1970" a écrit dans le message de
news: 4422f1af$0$1149$
Bonjour,
j'ai une page excel 97 avec un peu partout des prix en euros.
J'ai mis un format monétaire avec 2 chiffres après la virgule.
Comme j'ai aussi d'autres nombres qui n'ont rien à voir. Je voudrais
faire une macro qui recherche toutes les cellules avec le format
monétaire pour en faire la somme.
Mais je n'y arrive pas !

Sub tata()
Set Plage = Range("a1:h500")
FormatNumerique = "$#,##0.00_);[red]($#,##0.00)"
total = 0
For Each cellule In Plage
If cellule.NumberFormat = FormatNumerique Then
total = total + cellule.Value
End If
Next cellule
MsgBox total
End Sub

Mais le résultat donne toujours 0 !
Je pense que c'est au niveau du formatnumérique mais je ne sais pas quoi
mettre.
J'ai trouvé "$#,##0.00_);[red]($#,##0.00)" avec la macro suivante (après
mettre mis dans une cellule avec le format monetaire cherché)

Sub toto()
FormatNumerique = ActiveCell.NumberFormat
MsgBox FormatNumerique
End Sub

Si quelqu'un a une idée...
Merci
Olivier