La plage A1:A10 est formatée « texte » et chaque
cellule contient 00.00. Quand je veux enlever les points
avec cette macro, il ne reste plus qu'un seul 0 dans les
cellules. Pourquoi en est-il ainsi ?
Sub Enlève_Points()
[a1:a10].Replace What:=".", Replacement:="", LookAt:=xlPart
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JB
Bonsoir,
Préserve les 0 devant:
For Each c In Range([A1], [A65000].End(xlUp)) c.NumberFormat = "@" c.Value = Replace(c.Value, ".", "") Next c
JB
On 28 juin, 18:35, "garnote" wrote:
Bonsoir,
La plage A1:A10 est formatée « texte » et chaque cellule contient 00.00. Quand je veux enlever les points avec cette macro, il ne reste plus qu'un seul 0 dans les cellules. Pourquoi en est-il ainsi ?
Sub Enlève_Points() [a1:a10].Replace What:=".", Replacement:="", LookAt:=xlPart End Sub
Merci,
Serge
Bonsoir,
Préserve les 0 devant:
For Each c In Range([A1], [A65000].End(xlUp))
c.NumberFormat = "@"
c.Value = Replace(c.Value, ".", "")
Next c
JB
On 28 juin, 18:35, "garnote" <garno...@ENLEVER.videotron.ca> wrote:
Bonsoir,
La plage A1:A10 est formatée « texte » et chaque
cellule contient 00.00. Quand je veux enlever les points
avec cette macro, il ne reste plus qu'un seul 0 dans les
cellules. Pourquoi en est-il ainsi ?
Sub Enlève_Points()
[a1:a10].Replace What:=".", Replacement:="", LookAt:=xlPart
End Sub
For Each c In Range([A1], [A65000].End(xlUp)) c.NumberFormat = "@" c.Value = Replace(c.Value, ".", "") Next c
JB
On 28 juin, 18:35, "garnote" wrote:
Bonsoir,
La plage A1:A10 est formatée « texte » et chaque cellule contient 00.00. Quand je veux enlever les points avec cette macro, il ne reste plus qu'un seul 0 dans les cellules. Pourquoi en est-il ainsi ?
Sub Enlève_Points() [a1:a10].Replace What:=".", Replacement:="", LookAt:=xlPart End Sub
Merci,
Serge
MichDenis
| La plage A1:A10 est formatée « texte » et chaque | cellule contient 00.00. Quand je veux enlever les points | avec cette macro, il ne reste plus qu'un seul 0 dans les | cellules. Pourquoi en est-il ainsi ?
| Sub Enlève_Points() | [a1:a10].Replace What:=".", Replacement:="", LookAt:=xlPart | End Sub
C'est pourtant évident ... ;-))
A ) La méthode "Replace" tel que tu l'as utilisé est l'équivalent de la fonction "Rechercher-Remplacer de l'interface de la feuille de calcul B ) la méthode remplace les points dans la chaîne numérique (seulement des chiffres) et retourne dans la cellule une valeur équivalente pour excel : 0000 ou 0 => a la même valeur C ) si tu essaies de faire la substitution par la fonction de la feuille de calcul, tu as le même résultat que tu as obtenu en VBA
D ) Ce qu'à utiliser JB dans son exemple est une fonction appartenant à la bibliothèque VBA Si ta plage était déjà au format "texte", l'omission de cette ligne de code dans sa procédure n'aurait rien changé c.NumberFormat = "@"
la fonction Replace est similaire à la fonction de la feuille de calcul "SUBSTITUE" ou son équivalence en vba : Application.Substitute()
| La plage A1:A10 est formatée « texte » et chaque
| cellule contient 00.00. Quand je veux enlever les points
| avec cette macro, il ne reste plus qu'un seul 0 dans les
| cellules. Pourquoi en est-il ainsi ?
| Sub Enlève_Points()
| [a1:a10].Replace What:=".", Replacement:="", LookAt:=xlPart
| End Sub
C'est pourtant évident ... ;-))
A ) La méthode "Replace" tel que tu l'as utilisé est l'équivalent de la fonction
"Rechercher-Remplacer
de l'interface de la feuille de calcul
B ) la méthode remplace les points dans la chaîne numérique (seulement des chiffres) et retourne
dans la cellule une valeur équivalente pour excel : 0000 ou 0 => a la même valeur
C ) si tu essaies de faire la substitution par la fonction de la feuille de calcul, tu as le même
résultat que tu as obtenu en VBA
D ) Ce qu'à utiliser JB dans son exemple est une fonction appartenant à la bibliothèque VBA
Si ta plage était déjà au format "texte", l'omission de cette ligne de code dans sa procédure
n'aurait rien changé c.NumberFormat = "@"
la fonction Replace est similaire à la fonction de la feuille de calcul "SUBSTITUE"
ou son équivalence en vba : Application.Substitute()
| La plage A1:A10 est formatée « texte » et chaque | cellule contient 00.00. Quand je veux enlever les points | avec cette macro, il ne reste plus qu'un seul 0 dans les | cellules. Pourquoi en est-il ainsi ?
| Sub Enlève_Points() | [a1:a10].Replace What:=".", Replacement:="", LookAt:=xlPart | End Sub
C'est pourtant évident ... ;-))
A ) La méthode "Replace" tel que tu l'as utilisé est l'équivalent de la fonction "Rechercher-Remplacer de l'interface de la feuille de calcul B ) la méthode remplace les points dans la chaîne numérique (seulement des chiffres) et retourne dans la cellule une valeur équivalente pour excel : 0000 ou 0 => a la même valeur C ) si tu essaies de faire la substitution par la fonction de la feuille de calcul, tu as le même résultat que tu as obtenu en VBA
D ) Ce qu'à utiliser JB dans son exemple est une fonction appartenant à la bibliothèque VBA Si ta plage était déjà au format "texte", l'omission de cette ligne de code dans sa procédure n'aurait rien changé c.NumberFormat = "@"
la fonction Replace est similaire à la fonction de la feuille de calcul "SUBSTITUE" ou son équivalence en vba : Application.Substitute()