OVH Cloud OVH Cloud

PROBLEME DE BOUCLE

2 réponses
Avatar
Le Lillois
BONJOUR

Voici la macro qui formate qu'une cellule.
Sub TEST()
For Each c In Selection
c.Value =3D Application.Substitute(c.Value, ",", "")
c.Value =3D Application.Substitute(c.Value, ".", ",") * 1
Selection.Style =3D "Comma"
Next
End Sub

Le probl=E8me c'est qu'elle ne fonctionne que pour une=20
cellule, hors j'ai une colonne enti=E8re =E0 formater sur une=20
feuille bien d=E9finie nomm=E9e "extraction des montants".
MERCI POUR LA SOLUTION=20

CORDIALEMENT

2 réponses

Avatar
Pierre Fauconnier
Bonjour

Peut-être que ta sélection ( l'objet Selection dans ton code ) ne
contient-il qu'une seule cellule?
Je te propose, si tu dois tester une colonne entière, le code suivant :
Sub Remplace()
Dim Cellule As Range
For Each Cellule In Range("a1:a" & Range("a65536").End(xlUp).Row)
Cellule = Replace(Cellule, ",", "")
Cellule = Replace(Cellule, ".", ",") * 1
Next Cellule
End Sub


--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."
(remplacer NOSPAM par pfi pour me répondre. Merci)


---
Le Lillois wrote:
BONJOUR

Voici la macro qui formate qu'une cellule.
Sub TEST()
For Each c In Selection
c.Value = Application.Substitute(c.Value, ",", "")
c.Value = Application.Substitute(c.Value, ".", ",") * 1
Selection.Style = "Comma"
Next
End Sub

Le problème c'est qu'elle ne fonctionne que pour une
cellule, hors j'ai une colonne entière à formater sur une
feuille bien définie nommée "extraction des montants".
MERCI POUR LA SOLUTION

CORDIALEMENT


Avatar
Modeste
Bonjour,
la macro telle que écrite s'applique à la selection
donc peut s'appliquer à une colonne entière.....

pour eviter les erreurs en cas de texte :

Sub TEST()
For Each c In Selection
If Not IsEmpty(c) Then
c.Value = Application.Substitute(c.Value, ",", "")
c.Value = Application.Substitute(c.Value, ".", ",")
If IsNumeric(c.Value) Then c.Value = 1 * c.Value
End If
Next
End Sub

Modeste Ch'ti aussi ;-)))
@+
-----Message d'origine-----
BONJOUR

Voici la macro qui formate qu'une cellule.
Sub TEST()
For Each c In Selection
c.Value = Application.Substitute(c.Value, ",", "")
c.Value = Application.Substitute(c.Value, ".", ",") * 1
Selection.Style = "Comma"
Next
End Sub

Le problème c'est qu'elle ne fonctionne que pour une
cellule, hors j'ai une colonne entière à formater sur une
feuille bien définie nommée "extraction des montants".
MERCI POUR LA SOLUTION

CORDIALEMENT

.