OVH Cloud OVH Cloud

zone texte en nombre

9 réponses
Avatar
jean marie
Bonjour

j ai créé un petit programme sous VBA (je suis comptable)
et j'ai deux colonne avec normalement des chiffres
mais en fait via VBA elles sont en texte

j ai essayer de faire le programme suivant
Range ("H1").select
Activecell = "1"
Selection.copy
Colums("I").select
selection.Pastespecial Paste:=xlValues, operation:=xlMuliply, _
skipbanks:=False, Transpose:=False


ca marche pas et je trouve pas l'erreur
avez vous une autre solution

merci pour votre aide

jean marie

9 réponses

Avatar
Jacky
Bonjour
Essaie ceci pour la colonne I:
'----------
Sub jj()
[h1] = 1
[h1].Copy
Columns("I:I").Select
Selection.PasteSpecial Paste:=xlPasteAll, operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
[h1] = ""
End Sub
'--------------

--
Salutations
JJ

"jean marie" a écrit dans le message
de news:
Bonjour

j ai créé un petit programme sous VBA (je suis comptable)
et j'ai deux colonne avec normalement des chiffres
mais en fait via VBA elles sont en texte

j ai essayer de faire le programme suivant
Range ("H1").select
Activecell = "1"
Selection.copy
Colums("I").select
selection.Pastespecial Paste:=xlValues, operation:=xlMuliply, _
skipbanks:úlse, Transpose:úlse


ca marche pas et je trouve pas l'erreur
avez vous une autre solution

merci pour votre aide

jean marie


Avatar
JB
Bonjour,

Sub convertitNum()
[I:I].SpecialCells(xlCellTypeConstants, 23).Select
For Each c In Selection
c.Value = Application.Substitute(c.Value, ",", ".")
Next c
End Sub

http://cjoint.com/?bulUC4PkZD

1.235
123.456
12345.789
'123
'456.789
'456,78

Cordialement JB

Bonjour

j ai créé un petit programme sous VBA (je suis comptable)
et j'ai deux colonne avec normalement des chiffres
mais en fait via VBA elles sont en texte

j ai essayer de faire le programme suivant
Range ("H1").select
Activecell = "1"
Selection.copy
Colums("I").select
selection.Pastespecial Paste:=xlValues, operation:=xlMuliply, _
skipbanks:úlse, Transpose:úlse


ca marche pas et je trouve pas l'erreur
avez vous une autre solution

merci pour votre aide

jean marie


Avatar
jean marie
salut JB

j'ai unproblème sur la définition de la variable c
peux tu m'en dire plus

merci par avance
jml


Bonjour,

Sub convertitNum()
[I:I].SpecialCells(xlCellTypeConstants, 23).Select
For Each c In Selection
c.Value = Application.Substitute(c.Value, ",", ".")
Next c
End Sub

http://cjoint.com/?bulUC4PkZD

1.235
123.456
12345.789
'123
'456.789
'456,78

Cordialement JB

Bonjour

j ai créé un petit programme sous VBA (je suis comptable)
et j'ai deux colonne avec normalement des chiffres
mais en fait via VBA elles sont en texte

j ai essayer de faire le programme suivant
Range ("H1").select
Activecell = "1"
Selection.copy
Colums("I").select
selection.Pastespecial Paste:=xlValues, operation:=xlMuliply, _
skipbanks:úlse, Transpose:úlse


ca marche pas et je trouve pas l'erreur
avez vous une autre solution

merci pour votre aide

jean marie






Avatar
jean marie
salut jacky
je viens d'esayer ta proposition mais cela ne fonctionne pas
as tu une autre idée

merci en tout cas pour ton aide


Bonjour
Essaie ceci pour la colonne I:
'----------
Sub jj()
[h1] = 1
[h1].Copy
Columns("I:I").Select
Selection.PasteSpecial Paste:=xlPasteAll, operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
[h1] = ""
End Sub
'--------------

--
Salutations
JJ

"jean marie" a écrit dans le message
de news:
Bonjour

j ai créé un petit programme sous VBA (je suis comptable)
et j'ai deux colonne avec normalement des chiffres
mais en fait via VBA elles sont en texte

j ai essayer de faire le programme suivant
Range ("H1").select
Activecell = "1"
Selection.copy
Colums("I").select
selection.Pastespecial Paste:=xlValues, operation:=xlMuliply, _
skipbanks:úlse, Transpose:úlse


ca marche pas et je trouve pas l'erreur
avez vous une autre solution

merci pour votre aide

jean marie







Avatar
JB
La boucle For Each élément In Collection accède à chacun de
éléments d'une collection. Sur l'exemple, on accède à chacune des
cellules de la sélection.
C est la variable qui récupère chaque cellule.

S'il n'y a pas de virgules dans les nombres mais seulement des points,
le pgm peut être simplifié:

[I:I].SpecialCells(xlCellTypeConstants, 23).Select
For Each c In Selection
c.Value = c.Value
Next c

JB
salut JB

j'ai unproblème sur la définition de la variable c
peux tu m'en dire plus

merci par avance
jml


Bonjour,

Sub convertitNum()
[I:I].SpecialCells(xlCellTypeConstants, 23).Select
For Each c In Selection
c.Value = Application.Substitute(c.Value, ",", ".")
Next c
End Sub

http://cjoint.com/?bulUC4PkZD

1.235
123.456
12345.789
'123
'456.789
'456,78

Cordialement JB

Bonjour

j ai créé un petit programme sous VBA (je suis comptable)
et j'ai deux colonne avec normalement des chiffres
mais en fait via VBA elles sont en texte

j ai essayer de faire le programme suivant
Range ("H1").select
Activecell = "1"
Selection.copy
Colums("I").select
selection.Pastespecial Paste:=xlValues, operation:=xlMuliply, _
skipbanks:úlse, Transpose:úlse


ca marche pas et je trouve pas l'erreur
avez vous une autre solution

merci pour votre aide

jean marie








Avatar
jean marie
re salut JB
bon j ai trouvé pour la variable,
je l'ai défini en tant que variant
mais maintenant je ne sia pas pourquoi j'ai un souci sur les nombres négatifs
ou j'obtiens apr exemple
20 287 160.68

donc des points à la place de virgule
et il me mes des espaces pour separer les milliers

pas normal non?

quand penses tu ?

jean marie




Bonjour,

Sub convertitNum()
[I:I].SpecialCells(xlCellTypeConstants, 23).Select
For Each c In Selection
c.Value = Application.Substitute(c.Value, ",", ".")
Next c
End Sub

http://cjoint.com/?bulUC4PkZD

1.235
123.456
12345.789
'123
'456.789
'456,78

Cordialement JB

Bonjour

j ai créé un petit programme sous VBA (je suis comptable)
et j'ai deux colonne avec normalement des chiffres
mais en fait via VBA elles sont en texte

j ai essayer de faire le programme suivant
Range ("H1").select
Activecell = "1"
Selection.copy
Colums("I").select
selection.Pastespecial Paste:=xlValues, operation:=xlMuliply, _
skipbanks:úlse, Transpose:úlse


ca marche pas et je trouve pas l'erreur
avez vous une autre solution

merci pour votre aide

jean marie






Avatar
MichDenis
La même procédure avec une syntaxe différente :
Peut être la trouves-tu plus parlante ...!

Dans ta boucle c représente à tour de rôle dans la boucle
chacune des cellules défini dans la plage

Le type de variable de C est : "Range"

'--------------------------------
Sub convertitNum()
Dim c As Range
On Error Resume Next
With Range("I:I").SpecialCells(xlCellTypeConstants, 23)
For Each c In .Cells
c.Value = Application.Substitute(c.Value, ",", ".")
Next c
End With
End Sub
'--------------------------------



"jean marie" a écrit dans le message de news:

re salut JB
bon j ai trouvé pour la variable,
je l'ai défini en tant que variant
mais maintenant je ne sia pas pourquoi j'ai un souci sur les nombres négatifs
ou j'obtiens apr exemple
20 287 160.68

donc des points à la place de virgule
et il me mes des espaces pour separer les milliers

pas normal non?

quand penses tu ?

jean marie




Bonjour,

Sub convertitNum()
[I:I].SpecialCells(xlCellTypeConstants, 23).Select
For Each c In Selection
c.Value = Application.Substitute(c.Value, ",", ".")
Next c
End Sub

http://cjoint.com/?bulUC4PkZD

1.235
123.456
12345.789
'123
'456.789
'456,78

Cordialement JB

Bonjour

j ai créé un petit programme sous VBA (je suis comptable)
et j'ai deux colonne avec normalement des chiffres
mais en fait via VBA elles sont en texte

j ai essayer de faire le programme suivant
Range ("H1").select
Activecell = "1"
Selection.copy
Colums("I").select
selection.Pastespecial Paste:=xlValues, operation:=xlMuliply, _
skipbanks:úlse, Transpose:úlse


ca marche pas et je trouve pas l'erreur
avez vous une autre solution

merci pour votre aide

jean marie






Avatar
JB
http://cjoint.com/?bunyitmMEb

Sub convertitNum()
[I:I].SpecialCells(xlCellTypeConstants, 23).Select
For Each c In Selection
c.Value = Application.Substitute(Application.Substitute(c.Value,
",", "."), " ", "")
Next c
End Sub

1.235
123.456
12345.789
'123
'456.789
'456,78
'-456,789
123 456.78

JB


re salut JB
bon j ai trouvé pour la variable,
je l'ai défini en tant que variant
mais maintenant je ne sia pas pourquoi j'ai un souci sur les nombres né gatifs
ou j'obtiens apr exemple
20 287 160.68

donc des points à la place de virgule
et il me mes des espaces pour separer les milliers

pas normal non?

quand penses tu ?

jean marie




Bonjour,

Sub convertitNum()
[I:I].SpecialCells(xlCellTypeConstants, 23).Select
For Each c In Selection
c.Value = Application.Substitute(c.Value, ",", ".")
Next c
End Sub

http://cjoint.com/?bulUC4PkZD

1.235
123.456
12345.789
'123
'456.789
'456,78

Cordialement JB

Bonjour

j ai créé un petit programme sous VBA (je suis comptable)
et j'ai deux colonne avec normalement des chiffres
mais en fait via VBA elles sont en texte

j ai essayer de faire le programme suivant
Range ("H1").select
Activecell = "1"
Selection.copy
Colums("I").select
selection.Pastespecial Paste:=xlValues, operation:=xlMuliply, _
skipbanks:úlse, Transpose:úlse


ca marche pas et je trouve pas l'erreur
avez vous une autre solution

merci pour votre aide

jean marie








Avatar
JB
Si ce sont des nombres du type

123,456.789
ou

123 456.789

Sub convertitNum()
[I:I].SpecialCells(xlCellTypeConstants, 23).Select
For Each c In Selection
c.Value = Application.Substitute(Application.Substitute(c.Value,
",", ""), " ", "")
Next c
End Sub

JB
re salut JB
bon j ai trouvé pour la variable,
je l'ai défini en tant que variant
mais maintenant je ne sia pas pourquoi j'ai un souci sur les nombres né gatifs
ou j'obtiens apr exemple
20 287 160.68

donc des points à la place de virgule
et il me mes des espaces pour separer les milliers

pas normal non?

quand penses tu ?

jean marie




Bonjour,

Sub convertitNum()
[I:I].SpecialCells(xlCellTypeConstants, 23).Select
For Each c In Selection
c.Value = Application.Substitute(c.Value, ",", ".")
Next c
End Sub

http://cjoint.com/?bulUC4PkZD

1.235
123.456
12345.789
'123
'456.789
'456,78

Cordialement JB

Bonjour

j ai créé un petit programme sous VBA (je suis comptable)
et j'ai deux colonne avec normalement des chiffres
mais en fait via VBA elles sont en texte

j ai essayer de faire le programme suivant
Range ("H1").select
Activecell = "1"
Selection.copy
Colums("I").select
selection.Pastespecial Paste:=xlValues, operation:=xlMuliply, _
skipbanks:úlse, Transpose:úlse


ca marche pas et je trouve pas l'erreur
avez vous une autre solution

merci pour votre aide

jean marie