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
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
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 -
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" <youwangsoft@gmail.com> a écrit dans le message de
news:bed64a50-2ba3-41a8-a0dd-97cf1fd7042d@g16g2000yqj.googlegroups.com...
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
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" <youwangs...@gmail.com> a crit dans le message
denews:cef3eee5-f363-4445-8a55-79ca983aa048@k27g2000pri.googlegroups.com...
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 <x...@xx.xx> wrote:
> Ben, la macro de Denis que tu compl tes, avant le End Sub, par :
> Rg.NumberFormat = "General"
> Non ?
> Michel
> "joseph84" <youwangs...@gmail.com> a crit dans le message
> denews:821751fb-f77d-4001-8000-d1ec7b42db32@w21g2000yqm.googlegroups.com...
> Merci MichD
> ce que je veux faire c est de convertir la colonne A en format
> standard
> merci
> On 25 mai, 07:47, "MichD" <michde...@hotmail.com> 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 -
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
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 -
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.
'----------------------------------- Sub test() With Worksheets("Feuil1") With .Range("B1:B12") .Replace Chr(160), "" .Replace " ", "" .Replace ".", "," .Replace ",", "." End With End With End Sub '-----------------------------------
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$ba4acef3@reader.news.orange.fr...
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" <michdenis@hotmail.com> a écrit dans le message de
news:iriq83$rcj$1@speranza.aioe.org...
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.
'-----------------------------------
Sub test()
With Worksheets("Feuil1")
With .Range("B1:B12")
.Replace Chr(160), ""
.Replace " ", ""
.Replace ".", ","
.Replace ",", "."
End With
End With
End Sub
'-----------------------------------
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.
'----------------------------------- Sub test() With Worksheets("Feuil1") With .Range("B1:B12") .Replace Chr(160), "" .Replace " ", "" .Replace ".", "," .Replace ",", "." End With End With End Sub '-----------------------------------
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.
> '----------------------------------- > 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 -
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" <j.thierne...@skynet.be> 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$ba4ac...@reader.news.orange.fr...
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" <michde...@hotmail.com> a écrit dans le message denews:iriq83$r cj$1@speranza.aioe.org...
> 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.
> '-----------------------------------
> 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 -
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.
> '----------------------------------- > 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 -