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

Nombre stocké sous forme de texte

5 réponses
Avatar
Flex
Salut à tous

j'ai developpé un programme en vb qui exporte mes données dans excel
l'exportation se passe bien pour tout type de données sauf quand il s'agit
de rééls

(1) j'obtient toujours des nombres stockés sous forme de texte.
(2) Des fois au lieu d'avoir quelque chose du genre 123456,789 j'ai
1234567E14

j'ai essayé dans mon classeur cette macro

Sub Nettoie1( )
For Each xCell In Selection
xCell.Value = xCell.Value
Next xCell
End Sub


mais cela n'a rien donné

alors j'ai essayé dette deuxieme macro:

Sub Nettoie1( )

Sheets("Temp").Select 'on copie une cellule avec 1 dedans
Range("A1").Select
Selection.Copy

Sheets("donnees").Select
Range("A1").Select
ActiveCell.CurrentRegion.Offset(1,
0).Resize(ActiveCell.CurrentRegion.Rows.Count - 1, _
ActiveCell.CurrentRegion.Columns.Count ).Select


Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False

Application.CutCopyMode = False

End Sub

mais cela n'a rien donné

alors qulequ'un a til une idée de comment résoudre ce probleme svp
Merci

ma version: excel2003

5 réponses

Avatar
papou
Bonjour
Pour la question 2, le problème est uniquement lié au format de cellule
qu'il faut passer en Nombre.
Pour la 1ère, il est difficile de répondre sans connaître l'origine des
données.
Ceci étant pour résoudre le problème il suffirait peut-être d'un simple
copier d'une cellule en dehors contenant la valeur 1 et collage spécial
"Multiplication" sur la totalité de ta plage de données.
Cordialement
Pascal


"Flex" a écrit dans le message de news:

Salut à tous

j'ai developpé un programme en vb qui exporte mes données dans excel
l'exportation se passe bien pour tout type de données sauf quand il s'agit
de rééls

(1) j'obtient toujours des nombres stockés sous forme de texte.
(2) Des fois au lieu d'avoir quelque chose du genre 123456,789 j'ai
1234567E14

j'ai essayé dans mon classeur cette macro

Sub Nettoie1( )
For Each xCell In Selection
xCell.Value = xCell.Value
Next xCell
End Sub


mais cela n'a rien donné

alors j'ai essayé dette deuxieme macro:

Sub Nettoie1( )

Sheets("Temp").Select 'on copie une cellule avec 1 dedans
Range("A1").Select
Selection.Copy

Sheets("donnees").Select
Range("A1").Select
ActiveCell.CurrentRegion.Offset(1,
0).Resize(ActiveCell.CurrentRegion.Rows.Count - 1, _
ActiveCell.CurrentRegion.Columns.Count ).Select


Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse

Application.CutCopyMode = False

End Sub

mais cela n'a rien donné

alors qulequ'un a til une idée de comment résoudre ce probleme svp
Merci

ma version: excel2003




Avatar
PMO
Bonjour,

C'est peut-être un problème de format de cellule.
Il semble, lorsque ça affiche 1234567E14, que vous soyez
en format "Scientifique".
Faites le test suivant:
Sélectionnez votre cellule et changer son format en "Nombre" et
fixez le nombre désiré de décimales.

Par programme on écrirait par exemple (et pour 4 décimales)
Range("a1").NumberFormat = "0.0000"

Cordialement.

PMO
Patrick Morange




Salut à tous

j'ai developpé un programme en vb qui exporte mes données dans excel
l'exportation se passe bien pour tout type de données sauf quand il s'agit
de rééls

(1) j'obtient toujours des nombres stockés sous forme de texte.
(2) Des fois au lieu d'avoir quelque chose du genre 123456,789 j'ai
1234567E14

j'ai essayé dans mon classeur cette macro

Sub Nettoie1( )
For Each xCell In Selection
xCell.Value = xCell.Value
Next xCell
End Sub


mais cela n'a rien donné

alors j'ai essayé dette deuxieme macro:

Sub Nettoie1( )

Sheets("Temp").Select 'on copie une cellule avec 1 dedans
Range("A1").Select
Selection.Copy

Sheets("donnees").Select
Range("A1").Select
ActiveCell.CurrentRegion.Offset(1,
0).Resize(ActiveCell.CurrentRegion.Rows.Count - 1, _
ActiveCell.CurrentRegion.Columns.Count ).Select


Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse

Application.CutCopyMode = False

End Sub

mais cela n'a rien donné

alors qulequ'un a til une idée de comment résoudre ce probleme svp
Merci

ma version: excel2003





Avatar
poypoy
Salut Flex,

ben alors ton changement de format dans ton progiciel ne fonctionne pas si
bien que ca ?

;-P
Benjamin


Salut à tous

j'ai developpé un programme en vb qui exporte mes données dans excel
l'exportation se passe bien pour tout type de données sauf quand il s'agit
de rééls

(1) j'obtient toujours des nombres stockés sous forme de texte.
(2) Des fois au lieu d'avoir quelque chose du genre 123456,789 j'ai
1234567E14

j'ai essayé dans mon classeur cette macro

Sub Nettoie1( )
For Each xCell In Selection
xCell.Value = xCell.Value
Next xCell
End Sub


mais cela n'a rien donné

alors j'ai essayé dette deuxieme macro:

Sub Nettoie1( )

Sheets("Temp").Select 'on copie une cellule avec 1 dedans
Range("A1").Select
Selection.Copy

Sheets("donnees").Select
Range("A1").Select
ActiveCell.CurrentRegion.Offset(1,
0).Resize(ActiveCell.CurrentRegion.Rows.Count - 1, _
ActiveCell.CurrentRegion.Columns.Count ).Select


Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse

Application.CutCopyMode = False

End Sub

mais cela n'a rien donné

alors qulequ'un a til une idée de comment résoudre ce probleme svp
Merci

ma version: excel2003





Avatar
Xav
Bonjour Flex

essaie peut-être avec CDbl ou CSng

--
Cordialement

@+
Xav
"Flex" a écrit dans le message de
news:
Salut à tous

j'ai developpé un programme en vb qui exporte mes données dans excel
l'exportation se passe bien pour tout type de données sauf quand il s'agit
de rééls

(1) j'obtient toujours des nombres stockés sous forme de texte.
(2) Des fois au lieu d'avoir quelque chose du genre 123456,789 j'ai
1234567E14

j'ai essayé dans mon classeur cette macro

Sub Nettoie1( )
For Each xCell In Selection
xCell.Value = xCell.Value
Next xCell
End Sub


mais cela n'a rien donné

alors j'ai essayé dette deuxieme macro:

Sub Nettoie1( )

Sheets("Temp").Select 'on copie une cellule avec 1 dedans
Range("A1").Select
Selection.Copy

Sheets("donnees").Select
Range("A1").Select
ActiveCell.CurrentRegion.Offset(1,
0).Resize(ActiveCell.CurrentRegion.Rows.Count - 1, _
ActiveCell.CurrentRegion.Columns.Count ).Select


Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse

Application.CutCopyMode = False

End Sub

mais cela n'a rien donné

alors qulequ'un a til une idée de comment résoudre ce probleme svp
Merci

ma version: excel2003




Avatar
poypoy
Hey,

Je ne sais pas pour son progiciel mais pour Business Object cela ne marche
pas, il prends les chiffres storés en text comme égal à 1. On obtient une
magnifique colonne de 1 or tout le monde le sait 1+1 =3 Donc no problem!

Cordialment
Benjamin

Bonjour
Pour la question 2, le problème est uniquement lié au format de cellule
qu'il faut passer en Nombre.
Pour la 1ère, il est difficile de répondre sans connaître l'origine des
données.
Ceci étant pour résoudre le problème il suffirait peut-être d'un simple
copier d'une cellule en dehors contenant la valeur 1 et collage spécial
"Multiplication" sur la totalité de ta plage de données.
Cordialement
Pascal


"Flex" a écrit dans le message de news:

Salut à tous

j'ai developpé un programme en vb qui exporte mes données dans excel
l'exportation se passe bien pour tout type de données sauf quand il s'agit
de rééls

(1) j'obtient toujours des nombres stockés sous forme de texte.
(2) Des fois au lieu d'avoir quelque chose du genre 123456,789 j'ai
1234567E14

j'ai essayé dans mon classeur cette macro

Sub Nettoie1( )
For Each xCell In Selection
xCell.Value = xCell.Value
Next xCell
End Sub


mais cela n'a rien donné

alors j'ai essayé dette deuxieme macro:

Sub Nettoie1( )

Sheets("Temp").Select 'on copie une cellule avec 1 dedans
Range("A1").Select
Selection.Copy

Sheets("donnees").Select
Range("A1").Select
ActiveCell.CurrentRegion.Offset(1,
0).Resize(ActiveCell.CurrentRegion.Rows.Count - 1, _
ActiveCell.CurrentRegion.Columns.Count ).Select


Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse

Application.CutCopyMode = False

End Sub

mais cela n'a rien donné

alors qulequ'un a til une idée de comment résoudre ce probleme svp
Merci

ma version: excel2003