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

PB DE FORMAT DE NOMBRE

6 réponses
Avatar
Kamel
Bonsoir,

J'ai un petit soucis avec des formats de nombre.
J'utilise un logiciel qui me sors le résultat d'une requête de SQL Server
vers un fichier Excel. Jusqu'ici tout va bien ....
Les éléments amenés sont au format texte et je dois faire un traitement sur
ces données. Là les soucis commencent ...
Les nombres amenés sont aussi en format texte. Mais au format anglais (ex:
1,000,000.00). Ce que je voudrais, c'est pouvoir traiter ces données (mon
systèmes a les nombres au format européen ex: 1 000 000,00) et que ce
traitement soit possible quelque soit la configuration du systeme ....
Pour pouvoir traiter les nombres (avec des macros), je fais l'opération
convertir en choisissant les paramètres de mon système. Le problème est si
ce traitement est fait sur un pc qui l'autre paramètre le traitement ne peut
se faire car il ne peut reconnaître un nombre ....

Si quelqu'un a pu comprendre tout ce que j'ai ecrit, merci de me répondre
.....

Une solution serait de pouvoir connaître la configuration du sytème en vb,
mais je ne sais pas faire ... Merci !!!!!!!!

--
Bon courage ...
Kamel

6 réponses

Avatar
Alain CROS
Bonjour.

Peut être comme ça.

=SI(ESTNUM(SUBSTITUE(A1;",";""));SUBSTITUE(A1;",";"");SUBSTITUE(SUBSTITUE(A1;",";"");".";","))

Alain CROS.

"Kamel" a écrit dans le message de news: eu3Ae0w#
Bonsoir,

J'ai un petit soucis avec des formats de nombre.
J'utilise un logiciel qui me sors le résultat d'une requête de SQL Server
vers un fichier Excel. Jusqu'ici tout va bien ....
Les éléments amenés sont au format texte et je dois faire un traitement sur
ces données. Là les soucis commencent ...
Les nombres amenés sont aussi en format texte. Mais au format anglais (ex:
1,000,000.00). Ce que je voudrais, c'est pouvoir traiter ces données (mon
systèmes a les nombres au format européen ex: 1 000 000,00) et que ce
traitement soit possible quelque soit la configuration du systeme ....
Pour pouvoir traiter les nombres (avec des macros), je fais l'opération
convertir en choisissant les paramètres de mon système. Le problème est si
ce traitement est fait sur un pc qui l'autre paramètre le traitement ne peut
se faire car il ne peut reconnaître un nombre ....

Si quelqu'un a pu comprendre tout ce que j'ai ecrit, merci de me répondre
.....

Une solution serait de pouvoir connaître la configuration du sytème en vb,
mais je ne sais pas faire ... Merci !!!!!!!!

--
Bon courage ...
Kamel




Avatar
Kamel
Je tiens à dire aussi que les données sont sur 10 colonnes d'environ 12 000
lignes ...... :-
Donc je ne pense pas qu'une formule serait la bonne solution ....

Mais tu me donnes une idée avec le si ....

--
Bon courage ...
Kamel
"Alain CROS" a écrit dans le message de
news:eTaBtKx%
Bonjour.

Peut être comme ça.


=SI(ESTNUM(SUBSTITUE(A1;",";""));SUBSTITUE(A1;",";"");SUBSTITUE(SUBSTITUE(A1

;",";"");".";","))

Alain CROS.

"Kamel" a écrit dans le message de news:
eu3Ae0w#

Bonsoir,

J'ai un petit soucis avec des formats de nombre.
J'utilise un logiciel qui me sors le résultat d'une requête de SQL
Server


vers un fichier Excel. Jusqu'ici tout va bien ....
Les éléments amenés sont au format texte et je dois faire un traitement
sur


ces données. Là les soucis commencent ...
Les nombres amenés sont aussi en format texte. Mais au format anglais
(ex:


1,000,000.00). Ce que je voudrais, c'est pouvoir traiter ces données
(mon


systèmes a les nombres au format européen ex: 1 000 000,00) et que ce
traitement soit possible quelque soit la configuration du systeme ....
Pour pouvoir traiter les nombres (avec des macros), je fais l'opération
convertir en choisissant les paramètres de mon système. Le problème est
si


ce traitement est fait sur un pc qui l'autre paramètre le traitement ne
peut


se faire car il ne peut reconnaître un nombre ....

Si quelqu'un a pu comprendre tout ce que j'ai ecrit, merci de me
répondre


.....

Une solution serait de pouvoir connaître la configuration du sytème en
vb,


mais je ne sais pas faire ... Merci !!!!!!!!

--
Bon courage ...
Kamel








Avatar
Nicolas B.
Salut Kamel,

En passant par VBA, tu peux passer outre les paramètres linguistiques du
système.
Sélectionne la plage à convertir et exécute la macro suivante :

Sub Convertir()
For Each Cel In Selection
Cel.Value = Cel.Value
Next
End Sub

Les nombres sont alors automatiquement convertis au format système, sans
avoir à changer le format de cellule.


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


Je tiens à dire aussi que les données sont sur 10 colonnes d'environ
12 000 lignes ...... :-
Donc je ne pense pas qu'une formule serait la bonne solution ....

Mais tu me donnes une idée avec le si ....

--
Bon courage ...
Kamel
"Alain CROS" a écrit dans le message de
news:eTaBtKx%
Bonjour.

Peut être comme ça.




=SI(ESTNUM(SUBSTITUE(A1;",";""));SUBSTITUE(A1;",";"");SUBSTITUE(SUBSTITUE(A1

;",";"");".";","))

Alain CROS.

"Kamel" a écrit dans le message de news:
eu3Ae0w#

Bonsoir,

J'ai un petit soucis avec des formats de nombre.
J'utilise un logiciel qui me sors le résultat d'une requête de SQL
Server vers un fichier Excel. Jusqu'ici tout va bien ....
Les éléments amenés sont au format texte et je dois faire un
traitement sur ces données. Là les soucis commencent ...
Les nombres amenés sont aussi en format texte. Mais au format
anglais (ex: 1,000,000.00). Ce que je voudrais, c'est pouvoir
traiter ces données (mon systèmes a les nombres au format européen
ex: 1 000 000,00) et que ce traitement soit possible quelque soit
la configuration du systeme .... Pour pouvoir traiter les nombres
(avec des macros), je fais l'opération convertir en choisissant les
paramètres de mon système. Le problème est si ce traitement est
fait sur un pc qui l'autre paramètre le traitement ne peut se faire
car il ne peut reconnaître un nombre ....

Si quelqu'un a pu comprendre tout ce que j'ai ecrit, merci de me
répondre .....

Une solution serait de pouvoir connaître la configuration du sytème
en vb, mais je ne sais pas faire ... Merci !!!!!!!!

--
Bon courage ...
Kamel






Avatar
Kamel
Je ne peux que m'incliner devant cette réponse tant efficace que précise
....

Merci bcp !!! Il y en a qui touchent !!!!!!!!!!! ;-))

--
Bon courage ...
Kamel
"Nicolas B." a écrit dans le message de
news:emSYnYx%
Salut Kamel,

En passant par VBA, tu peux passer outre les paramètres linguistiques du
système.
Sélectionne la plage à convertir et exécute la macro suivante :

Sub Convertir()
For Each Cel In Selection
Cel.Value = Cel.Value
Next
End Sub

Les nombres sont alors automatiquement convertis au format système, sans
avoir à changer le format de cellule.


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


Je tiens à dire aussi que les données sont sur 10 colonnes d'environ
12 000 lignes ...... :-
Donc je ne pense pas qu'une formule serait la bonne solution ....

Mais tu me donnes une idée avec le si ....

--
Bon courage ...
Kamel
"Alain CROS" a écrit dans le message de
news:eTaBtKx%
Bonjour.

Peut être comme ça.






=SI(ESTNUM(SUBSTITUE(A1;",";""));SUBSTITUE(A1;",";"");SUBSTITUE(SUBSTITUE(A1

;",";"");".";","))

Alain CROS.

"Kamel" a écrit dans le message de news:
eu3Ae0w#

Bonsoir,

J'ai un petit soucis avec des formats de nombre.
J'utilise un logiciel qui me sors le résultat d'une requête de SQL
Server vers un fichier Excel. Jusqu'ici tout va bien ....
Les éléments amenés sont au format texte et je dois faire un
traitement sur ces données. Là les soucis commencent ...
Les nombres amenés sont aussi en format texte. Mais au format
anglais (ex: 1,000,000.00). Ce que je voudrais, c'est pouvoir
traiter ces données (mon systèmes a les nombres au format européen
ex: 1 000 000,00) et que ce traitement soit possible quelque soit
la configuration du systeme .... Pour pouvoir traiter les nombres
(avec des macros), je fais l'opération convertir en choisissant les
paramètres de mon système. Le problème est si ce traitement est
fait sur un pc qui l'autre paramètre le traitement ne peut se faire
car il ne peut reconnaître un nombre ....

Si quelqu'un a pu comprendre tout ce que j'ai ecrit, merci de me
répondre .....

Une solution serait de pouvoir connaître la configuration du sytème
en vb, mais je ne sais pas faire ... Merci !!!!!!!!

--
Bon courage ...
Kamel










Avatar
Nicolas B.
De rien...


:-)
A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


Je ne peux que m'incliner devant cette réponse tant efficace que
précise ....

Merci bcp !!! Il y en a qui touchent !!!!!!!!!!! ;-))

--
Bon courage ...
Kamel


Avatar
michdenis
Bonjour Kamel,

Tu peux essayer ceci : Adapte le nom de la feuille et de la plage des données à traiter !

'---------------------------------
Sub ModifierParametreDecimalApresImportation()
Dim A As String
Dim S As XlApplicationInternational
S = xlDecimalSeparator
A = Application.International(S)
If A = "," Then
A = "."
Else
A = ","
End If

With Worksheets("Feuil1")
With .Range("A1:A10")
.TextToColumns Destination:=Range("A1"), _
DataType:=xlFixedWidth, FieldInfo:=Array(0, 1), _
DecimalSeparator:=A, TrailingMinusNumbers:úlse
End With
End With
End Sub
'--------------------------------


Salutations!



"Kamel" a écrit dans le message de news:eu3Ae0w%
Bonsoir,

J'ai un petit soucis avec des formats de nombre.
J'utilise un logiciel qui me sors le résultat d'une requête de SQL Server
vers un fichier Excel. Jusqu'ici tout va bien ....
Les éléments amenés sont au format texte et je dois faire un traitement sur
ces données. Là les soucis commencent ...
Les nombres amenés sont aussi en format texte. Mais au format anglais (ex:
1,000,000.00). Ce que je voudrais, c'est pouvoir traiter ces données (mon
systèmes a les nombres au format européen ex: 1 000 000,00) et que ce
traitement soit possible quelque soit la configuration du systeme ....
Pour pouvoir traiter les nombres (avec des macros), je fais l'opération
convertir en choisissant les paramètres de mon système. Le problème est si
ce traitement est fait sur un pc qui l'autre paramètre le traitement ne peut
se faire car il ne peut reconnaître un nombre ....

Si quelqu'un a pu comprendre tout ce que j'ai ecrit, merci de me répondre
.....

Une solution serait de pouvoir connaître la configuration du sytème en vb,
mais je ne sais pas faire ... Merci !!!!!!!!

--
Bon courage ...
Kamel