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

convertire le format de cellule

13 réponses
Avatar
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 =3D Range("A2:A20000") 'D=E9finit plage
maZone.Select
Dim unecellule As Object
For Each unecellule In Selection
valeur =3D ActiveCell.Value
If valeur =3D "" Then 'Saute cellules vides
GoTo suite
End If
On Error Resume Next

valnum =3D CDbl(valeur) 'convertit texte en chiffre
unecellule.Value =3D valnum
suite:
ActiveCell.Offset(1, 0).Select
Next
-----------------------------------------------------------------
Merci

3 réponses

1 2
Avatar
Péhemme
Et cette nouvelle macro ?
Il est important d'être précis car ce n'est pas la macro de Denis qui te
donnait une erreur, mais ton copier/coller (et là encore, je suppose que tu
ne dis pas tout).
J'observe par ailleurs que les N° de la colonne A du fichier_destination ne
sont pas les mêmes que ceux de la colonne A du ficher_source.
Cette macro ne traite que la mise en forme de la colonne A de ton
fichier_source.
Elle présuppose que tous les n° sont de structure identique (7 caractères
numériques).
Elle est à coller dans un module standard de ton fichier_source.
Attention également au nombre de ligne de ma macro... Si ton tableau dépasse
les 65536 lignes (tu es en 2007 ou +), la recherche de la dernière ligne
remplie n'est pas correcte, Denis a donné précédemment la méthode pour la
trouver.
Sub Sup_0()
'retire les 0 non significatifs
Dim Rg As Range
Dim Cel As Range
Dim R As Long
R = Range("Feuil1!A65536").End(xlUp).Row
Set Rg = Range("Feuil1!A2:A" & R)

For Each Cel In Rg
If IsNumeric(Cel.Value) Then
Cel.Value = Right(Cel.Value, 7)
End If
Next Cel
Rg.NumberFormat = "General" '"#,##0"
End Sub
Michel

"joseph84" a écrit dans le message de
news:
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 wrote:
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" a crit dans le message
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 wrote:



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

> "joseph84" a crit dans le message
> 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" wrote:

> > 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 -
Avatar
Jacquouille
Grand fut mon mérite d'oser afficher clairement ma modestie..... -))
Ma contribution s'est limitée à applaudir celle de Denis, alias Monsieur
Ascii Insécable -))))))))
Jacquouille 160 ° du nom.

" Le vin est au repas ce que le parfum est à la femme."

"Péhemme" a écrit dans le message de groupe de discussion :
4ddcf9a4$0$30758$

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" a écrit dans le message de
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
--------------------------------------------

Avatar
joseph84
Bonjour tout le monde

je voudrais vous dire a grand merci a vous tous pour aide fort
aprrecie

encore merci :)

On 25 mai, 13:17, "Jacquouille" wrote:
Grand fut mon mérite d'oser afficher clairement ma modestie..... -))
Ma contribution s'est limitée à applaudir celle de Denis, alias Monsi eur
Ascii Insécable   -))))))))
Jacquouille  160 ° du nom.

" Le vin est au repas ce que le parfum est à la femme."

"Péhemme"  a écrit dans le message de groupe de discussion :
4ddcf9a4$0$30758$

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" a écrit dans le message denews:iriq83$r cj$



> 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 -
1 2