convertire le format de cellule

Le
joseph84
Bonjour tout le monde

je voudrais changer le format de cellule d une de mes colonnes avec
une macro j arrive a le faire mais c tres lent et en plus si il trouve
du texte il le supprime voila ma procedure

Dim maZone As Range
Set maZone = Range("A2:A20000") 'Définit plage
maZone.Select
Dim unecellule As Object
For Each unecellule In Selection
valeur = ActiveCell.Value
If valeur = "" Then 'Saute cellules vides
GoTo suite
End If
On Error Resume Next

valnum = CDbl(valeur) 'convertit texte en chiffre
unecellule.Value = valnum
suite:
ActiveCell.Offset(1, 0).Select
Next
--
Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Péhemme
Le #23389821
Bonjour Joseph84,

Je n'ai pas bien compris la sélection de cellule à l'intérieur d'un range
pour l'application d'un format sur une feuille de calcul, mais tu dois avoir
tes raisons. Cependant, un simple numberformat appliqué à ta zone ne
serait-il pas suffisant ?

Sub TestFormat()
Dim Rg As Range
Set Rg = Range("A2:A20000") 'Définit plage

Rg.NumberFormat = "#,##0.00"

Set Rg = Nothing
End Sub

Michel



"joseph84" news:
Bonjour tout le monde

je voudrais changer le format de cellule d une de mes colonnes avec
une macro j arrive a le faire mais c tres lent et en plus si il trouve
du texte il le supprime voila ma procedure
---------------------------------------------------------
Dim maZone As Range
Set maZone = Range("A2:A20000") 'Définit plage
maZone.Select
Dim unecellule As Object
For Each unecellule In Selection
valeur = ActiveCell.Value
If valeur = "" Then 'Saute cellules vides
GoTo suite
End If
On Error Resume Next

valnum = CDbl(valeur) 'convertit texte en chiffre
unecellule.Value = valnum
suite:
ActiveCell.Offset(1, 0).Select
Next
-----------------------------------------------------------------
Merci
joseph84
Le #23390801
Merci pour t as reponse

mais malheureusement sa ne fonctionne pas le format de la cellule
reste le meme
je vous explique ma plage est de la 2 eme ligne au denier
enregistrement de ma colonne il n y a pas de vide
dans cette plage il y a des numeros mais en format texte je voudrais
utliser ses numeros mais en format numerique parce que sa me donne
juste des #N/A quand ils en format texte
merci



On 25 mai, 03:04, Péhemme
Bonjour Joseph84,

Je n'ai pas bien compris la sélection de cellule à l'intérieur d'un range
pour l'application d'un format sur une feuille de calcul, mais tu dois av oir
tes raisons. Cependant, un simple numberformat appliqué à ta zone ne
serait-il pas suffisant ?

Sub TestFormat()
Dim Rg As Range
Set Rg = Range("A2:A20000") 'Définit plage

    Rg.NumberFormat = "#,##0.00"

Set Rg = Nothing
End Sub

Michel

"joseph84" Bonjour tout le monde

je voudrais changer le format de cellule d une de mes colonnes avec
une macro j arrive a le faire mais c tres lent et en plus si il trouve
du texte il le supprime voila ma procedure
---------------------------------------------------------
 Dim maZone As Range
Set maZone = Range("A2:A20000") 'Définit plage
maZone.Select
Dim unecellule As Object
For Each unecellule In Selection
valeur = ActiveCell.Value
If valeur = "" Then 'Saute cellules vides
GoTo suite
End If
On Error Resume Next

valnum = CDbl(valeur) 'convertit texte en chiffre
unecellule.Value = valnum
suite:
ActiveCell.Offset(1, 0).Select
Next
-----------------------------------------------------------------
Merci
MichD
Le #23390871
Bonjour,

Tu adaptes le nom de la feuille et de la plage de cellules.
Ces 2 lignes ne sont pas obligatoires, si tu es certain qu'il
ne sont pas présents dans les cellules contenant des chiffres.

.Replace Chr(160), "" -> caractères Ascii -> espace insécable
.Replace " ", ""

'-----------------------------------
Sub test()
With Worksheets("Feuil1")
With .Range("B1:B12")
.Replace Chr(160), ""
.Replace " ", ""
.Replace ".", ","
.Replace ",", "."
End With
End With
End Sub
'-----------------------------------


MichD
--------------------------------------------
Péhemme
Le #23391021
Bonjour Denis,

La macro qui "tue Billy" est formidable, mais il ne faut surtout pas
l'utiliser 2 fois de suite (sur le même champ) sans quoi, gare aux
résultats...
Et je l'aime bien en finissant par une mise en forme du champ du style :
Rg.NumberFormat = "#,##0.00"

Merci Denis (et Jacquouille)
;-)
Michel




"MichD" news:iriq83$rcj$
Bonjour,

Tu adaptes le nom de la feuille et de la plage de cellules.
Ces 2 lignes ne sont pas obligatoires, si tu es certain qu'il
ne sont pas présents dans les cellules contenant des chiffres.

.Replace Chr(160), "" -> caractères Ascii -> espace insécable
.Replace " ", ""

'-----------------------------------
Sub test()
With Worksheets("Feuil1")
With .Range("B1:B12")
.Replace Chr(160), ""
.Replace " ", ""
.Replace ".", ","
.Replace ",", "."
End With
End With
End Sub
'-----------------------------------


MichD
--------------------------------------------

joseph84
Le #23391091
Merci MichD

ce que je veux faire c est de convertir la colonne A en format
standard

merci

On 25 mai, 07:47, "MichD"
Bonjour,

Tu adaptes le nom de la feuille et de la plage de cellules.
Ces 2 lignes ne sont pas obligatoires, si tu es certain qu'il
ne sont pas présents dans les cellules contenant des chiffres.

.Replace Chr(160), ""   -> caractères Ascii -> espace insécable
.Replace " ", ""

'-----------------------------------
Sub test()
With Worksheets("Feuil1")
    With .Range("B1:B12")
        .Replace Chr(160), ""
        .Replace " ", ""
        .Replace ".", ","
        .Replace ",", "."
    End With
End With
End Sub
'-----------------------------------

MichD
--------------------------------------------
Péhemme
Le #23391161
Ben, la macro de Denis que tu complètes, avant le End Sub, par :
Rg.NumberFormat = "General"
Non ?
Michel

"joseph84" news:
Merci MichD

ce que je veux faire c est de convertir la colonne A en format
standard

merci

On 25 mai, 07:47, "MichD"
Bonjour,

Tu adaptes le nom de la feuille et de la plage de cellules.
Ces 2 lignes ne sont pas obligatoires, si tu es certain qu'il
ne sont pas présents dans les cellules contenant des chiffres.

.Replace Chr(160), "" -> caractères Ascii -> espace insécable
.Replace " ", ""

'-----------------------------------
Sub test()
With Worksheets("Feuil1")
With .Range("B1:B12")
.Replace Chr(160), ""
.Replace " ", ""
.Replace ".", ","
.Replace ",", "."
End With
End With
End Sub
'-----------------------------------

MichD
--------------------------------------------
joseph84
Le #23391321
Merci bcp j apprecie votre aide

malheureusement sa fonctionne pas il me sort une erreur

variable objet ou variable de bloc with non defini

sub test ()
Dim rg As Range

With Worksheets("Feuil1")
With .Range("A2:A200000")
.Replace Chr(160), ""
.Replace " ", ""
.Replace ".", ","
.Replace ",", "."
End With
rg.NumberFormat = "General"

End With
end sub

j ai tester les deux j ai mis la ligne (rg.NumberFormat = "General")
apres le premier en with et apres le deuxieme end with mais sa
fonctionne pas


merci


On 25 mai, 09:25, Péhemme
Ben, la macro de Denis que tu compl tes, avant le End Sub, par :
Rg.NumberFormat = "General"
Non ?
Michel

"joseph84" Merci MichD

ce que je veux faire c est de convertir la colonne A en format
standard

merci

On 25 mai, 07:47, "MichD"


> Bonjour,

> Tu adaptes le nom de la feuille et de la plage de cellules.
> Ces 2 lignes ne sont pas obligatoires, si tu es certain qu'il
> ne sont pas pr sents dans les cellules contenant des chiffres.

> .Replace Chr(160), "" -> caract res Ascii -> espace ins cable
> .Replace " ", ""

> '-----------------------------------
> Sub test()
> With Worksheets("Feuil1")
> With .Range("B1:B12")
> .Replace Chr(160), ""
> .Replace " ", ""
> .Replace ".", ","
> .Replace ",", "."
> End With
> End With
> End Sub
> '-----------------------------------

> MichD
> --------------------------------------------- Masquer le texte des mess ages précédents -

- Afficher le texte des messages précédents -
Péhemme
Le #23391381
La macro de Denis ne fonctionne pas ?
Chez moi elle roule parfaitement bien (Vista, Excel 2003).
Sub Tst_Mp()
Dim Rg As Range
Set Rg = Range("E6:E2000") 'Définit plage
With Worksheets("Feuil1")
With Rg
.Replace Chr(160), ""
.Replace " ", ""
.Replace ".", ","
.Replace ",", "."
End With
End With
Rg.NumberFormat = "General" '"#,##0.00"
Set Rg = Nothing
End Sub
Michel


"joseph84" news:
Merci bcp j apprecie votre aide

malheureusement sa fonctionne pas il me sort une erreur

variable objet ou variable de bloc with non defini

sub test ()
Dim rg As Range

With Worksheets("Feuil1")
With .Range("A2:A200000")
.Replace Chr(160), ""
.Replace " ", ""
.Replace ".", ","
.Replace ",", "."
End With
rg.NumberFormat = "General"

End With
end sub

j ai tester les deux j ai mis la ligne (rg.NumberFormat = "General")
apres le premier en with et apres le deuxieme end with mais sa
fonctionne pas


merci


On 25 mai, 09:25, Péhemme
Ben, la macro de Denis que tu compl tes, avant le End Sub, par :
Rg.NumberFormat = "General"
Non ?
Michel

"joseph84" denews:
Merci MichD

ce que je veux faire c est de convertir la colonne A en format
standard

merci

On 25 mai, 07:47, "MichD"


> Bonjour,

> Tu adaptes le nom de la feuille et de la plage de cellules.
> Ces 2 lignes ne sont pas obligatoires, si tu es certain qu'il
> ne sont pas pr sents dans les cellules contenant des chiffres.

> .Replace Chr(160), "" -> caract res Ascii -> espace ins cable
> .Replace " ", ""

> '-----------------------------------
> Sub test()
> With Worksheets("Feuil1")
> With .Range("B1:B12")
> .Replace Chr(160), ""
> .Replace " ", ""
> .Replace ".", ","
> .Replace ",", "."
> End With
> End With
> End Sub
> '-----------------------------------

> MichD
> --------------------------------------------- Masquer le texte des
> messages précédents -

- Afficher le texte des messages précédents -
joseph84
Le #23391501
toujours pas je crois que je fais quelque chose qui est pas correct

vous allez retrouvez mes deux fichier dans les liens qui suit je
voudrais copier coller mes deux colonne "NBAC" et "NBSF" mais
malhereusement sa fonctionne sa me retourne des #N/A car les numeros
ne sont pas du meme format il faut absolument que je convertit le
format de ma colonne A dans le fichier source de facon qu il me
retourne pas des #N/A

fichier :destination: http://cjoint.com/?AEzqFAWMdDe

fichier source: http://cjoint.com/?AEzqJhqQR1Q

merci encore de votre aide


On 25 mai, 10:05, Péhemme
La macro de Denis ne fonctionne pas ?
Chez moi elle roule parfaitement bien (Vista, Excel 2003).
Sub Tst_Mp()
Dim Rg As Range
Set Rg = Range("E6:E2000") 'D finit plage
With Worksheets("Feuil1")
    With Rg
        .Replace Chr(160), ""
        .Replace " ", ""
        .Replace ".", ","
        .Replace ",", "."
    End With
End With
    Rg.NumberFormat = "General" '"#,##0.00"
Set Rg = Nothing
End Sub
Michel

"joseph84" Merci bcp j apprecie votre aide

malheureusement sa fonctionne pas il me sort une erreur

variable objet ou variable de bloc with non defini

sub test ()
Dim rg As Range

    With Worksheets("Feuil1")
    With .Range("A2:A200000")
        .Replace Chr(160), ""
        .Replace " ", ""
        .Replace ".", ","
        .Replace ",", "."
    End With
    rg.NumberFormat = "General"

End With
end sub

j ai tester les deux j ai mis la ligne (rg.NumberFormat = "General")
apres le premier en with et apres le deuxieme end with mais sa
fonctionne pas

merci

On 25 mai, 09:25, P hemme


> Ben, la macro de Denis que tu compl tes, avant le End Sub, par :
> Rg.NumberFormat = "General"
> Non ?
> Michel

> "joseph84" > denews: m...
> Merci MichD

> ce que je veux faire c est de convertir la colonne A en format
> standard

> merci

> On 25 mai, 07:47, "MichD"
> > Bonjour,

> > Tu adaptes le nom de la feuille et de la plage de cellules.
> > Ces 2 lignes ne sont pas obligatoires, si tu es certain qu'il
> > ne sont pas pr sents dans les cellules contenant des chiffres.

> > .Replace Chr(160), "" -> caract res Ascii -> espace ins cable
> > .Replace " ", ""

> > '-----------------------------------
> > Sub test()
> > With Worksheets("Feuil1")
> > With .Range("B1:B12")
> > .Replace Chr(160), ""
> > .Replace " ", ""
> > .Replace ".", ","
> > .Replace ",", "."
> > End With
> > End With
> > End Sub
> > '-----------------------------------

> > MichD
> > --------------------------------------------- Masquer le texte des
> > messages pr c dents -

> - Afficher le texte des messages pr c dents -- Masquer le texte des mes sages précédents -

- Afficher le texte des messages précédents -
MichD
Le #23391531
Sub test()
With Worksheets("Feuil1")
With .Range("B1:B12")
.Replace Chr(160), ""
.Replace " ", ""
.Replace ".", ","
.Replace ",", "."
.NumberFormat = "General"
End With
End With
End Sub



MichD
--------------------------------------------
"joseph84" a écrit dans le message de groupe de discussion :


toujours pas je crois que je fais quelque chose qui est pas correct

vous allez retrouvez mes deux fichier dans les liens qui suit je
voudrais copier coller mes deux colonne "NBAC" et "NBSF" mais
malhereusement sa fonctionne sa me retourne des #N/A car les numeros
ne sont pas du meme format il faut absolument que je convertit le
format de ma colonne A dans le fichier source de facon qu il me
retourne pas des #N/A

fichier :destination: http://cjoint.com/?AEzqFAWMdDe

fichier source: http://cjoint.com/?AEzqJhqQR1Q

merci encore de votre aide


On 25 mai, 10:05, Péhemme
La macro de Denis ne fonctionne pas ?
Chez moi elle roule parfaitement bien (Vista, Excel 2003).
Sub Tst_Mp()
Dim Rg As Range
Set Rg = Range("E6:E2000") 'D finit plage
With Worksheets("Feuil1")
With Rg
.Replace Chr(160), ""
.Replace " ", ""
.Replace ".", ","
.Replace ",", "."
End With
End With
Rg.NumberFormat = "General" '"#,##0.00"
Set Rg = Nothing
End Sub
Michel

"joseph84" denews:
Merci bcp j apprecie votre aide

malheureusement sa fonctionne pas il me sort une erreur

variable objet ou variable de bloc with non defini

sub test ()
Dim rg As Range

With Worksheets("Feuil1")
With .Range("A2:A200000")
.Replace Chr(160), ""
.Replace " ", ""
.Replace ".", ","
.Replace ",", "."
End With
rg.NumberFormat = "General"

End With
end sub

j ai tester les deux j ai mis la ligne (rg.NumberFormat = "General")
apres le premier en with et apres le deuxieme end with mais sa
fonctionne pas

merci

On 25 mai, 09:25, P hemme


> Ben, la macro de Denis que tu compl tes, avant le End Sub, par :
> Rg.NumberFormat = "General"
> Non ?
> Michel

> "joseph84" > denews:
> Merci MichD

> ce que je veux faire c est de convertir la colonne A en format
> standard

> merci

> On 25 mai, 07:47, "MichD"
> > Bonjour,

> > Tu adaptes le nom de la feuille et de la plage de cellules.
> > Ces 2 lignes ne sont pas obligatoires, si tu es certain qu'il
> > ne sont pas pr sents dans les cellules contenant des chiffres.

> > .Replace Chr(160), "" -> caract res Ascii -> espace ins cable
> > .Replace " ", ""

> > '-----------------------------------
> > Sub test()
> > With Worksheets("Feuil1")
> > With .Range("B1:B12")
> > .Replace Chr(160), ""
> > .Replace " ", ""
> > .Replace ".", ","
> > .Replace ",", "."
> > End With
> > End With
> > End Sub
> > '-----------------------------------

> > MichD
> > --------------------------------------------- Masquer le texte des
> > messages pr c dents -

> - Afficher le texte des messages pr c dents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -
Publicité
Poster une réponse
Anonyme