Macro
Résolu
caryan16
Messages postés
7
Statut
Membre
-
caryan16 Messages postés 7 Statut Membre -
caryan16 Messages postés 7 Statut Membre -
Bonjour,
Je dois faire une macro, et je suis débutante. Transformer des Euros en K€ avec le sigle K€ après la valeur et sans décimal.
Voici le code que j'ai fait mais erreur 400, et je ne parviens pas à comprendre.
Sub essai()
Set Plage = Range("B1:B9999999")
FormatNumerique = "# ##0"
Total = 0
For Each cellule In Plage
If cellule.NumberFormat = FormatNumerique Then
End If
If IsNumeric(cellule) Then
cellule.Value = cellule.Value / 1000 & "K€"
End If
Next cellule
End Sub
Je vous remercie
Je dois faire une macro, et je suis débutante. Transformer des Euros en K€ avec le sigle K€ après la valeur et sans décimal.
Voici le code que j'ai fait mais erreur 400, et je ne parviens pas à comprendre.
Sub essai()
Set Plage = Range("B1:B9999999")
FormatNumerique = "# ##0"
Total = 0
For Each cellule In Plage
If cellule.NumberFormat = FormatNumerique Then
End If
If IsNumeric(cellule) Then
cellule.Value = cellule.Value / 1000 & "K€"
End If
Next cellule
End Sub
Je vous remercie
4 réponses
-
Salut,
tu es hors ligne, réduit ta plage
Sub essai()
Set Plage = Range("B1:B1000")
FormatNumerique = "# ##0"
Total = 0
For Each cellule In Plage
If cellule.NumberFormat = FormatNumerique Then
End If
If IsNumeric(cellule) Then
cellule.Value = cellule.Value / 1000 & "K€"
End If
Next cellule
End Sub -
Re,
Tiens simplement comme cela, affectera automatiquement le format de la première cellule à la dernière non vide de la colonne
Sub essai()
Range(Range("B1"), Range("B1000").End(xlUp)).NumberFormat = "#,##0 K€"
End Sub
-
Bonjour,
Si c'est juste pour l'affichage tu n'as pas besoin de macro.
Dans un format personnalisé ajouter un espace après le format voulu divise par 1000.
Donc avec en format personnalisé :
# ##0 " k"€
143528 s'affichera 144 k€ (avec l'arrondi au plus proche)
La cellule conserve sa valeur 143528 pour les calculs ultérieurs.
eric -
Re,
Et si ta colonne était en format texte des fois ?
il est possible de la convertir simplement manuellement ou en complétant le code
Sub essai()
For n = 1 To Range("B65536").End(xlUp).Row
If Range("B" & n) <> "" Then Range("B" & n) = Range("B" & n) * 1
Next n
Range(Range("B1"), Range("B1000").End(xlUp)).NumberFormat = "#,##0 K€"
End Sub