OVH Cloud OVH Cloud

Soustraction sur Excel

14 réponses
Avatar
Michel
Bonjour tout le monde,


Voila j'ai dans tape dans en A1 = 11280.1
dans en B1 = INT(A1)
puis en C1 = A1-B1
et finalement en D1 = LEN(C1)

B1 = 11280
C1 = 0.1

Pourquoi en D1 j'ai un retour de = 17 ?

En fait je voudrais avoir la possibilite de dissocier les entiers des
decimales.

J'etais passe par la fonction "FIND", mais le probleme se pose lorsque l'on
utilise le point ou la virgule en tant que separateur.....

Mon idee etais de faire un nombre moins moins son entiers pour obtenir les
decimal puis de faire un concatenate de l'entier avec les decimals pour ne
plus avoir de separateurs de virgule.... c'est pour fabriquer un fichier
plat...

D'avance un grand merci pour l'explication de ce mystere et peut-etre pour
avoir une autre solution....

@+

Michel.

4 réponses

1 2
Avatar
Michel
Salut,

le probleme est si un poste n'a pas de virgule mais des point en guise de
separateur cela ne marchera pas.....


@+

Michel.


"Jacquouille" a écrit dans le message de
news:
Bonsoir Michel
Si je m'en tiens uniquement à ta dernière phrase ( ... pour ne
plus avoir de separateurs de virgule.... ) -->
Pourquoi ne pas faire un "Chercher" et tu tapes une virgule dans la

fenêtre, puis "remplacer" par : et tu laisse la fenêtre vide.
De cette manière, quel que soit le nb de décimales, l'espace virgule sera
supprimé.
Bonne chance.

--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
http://frederic.sigonneau.free.fr/

Jacquouille.

"Michel" a écrit dans le message de
news:
Bonjour tout le monde,


Voila j'ai dans tape dans en A1 = 11280.1
dans en B1 = INT(A1)
puis en C1 = A1-B1
et finalement en D1 = LEN(C1)

B1 = 11280
C1 = 0.1

Pourquoi en D1 j'ai un retour de = 17 ?

En fait je voudrais avoir la possibilite de dissocier les entiers des
decimales.

J'etais passe par la fonction "FIND", mais le probleme se pose lorsque
l'on utilise le point ou la virgule en tant que separateur.....

Mon idee etais de faire un nombre moins moins son entiers pour obtenir
les decimal puis de faire un concatenate de l'entier avec les decimals
pour ne plus avoir de separateurs de virgule.... c'est pour fabriquer un
fichier plat...

D'avance un grand merci pour l'explication de ce mystere et peut-etre
pour avoir une autre solution....

@+

Michel.







Avatar
Michel
Salut,

Je vais essayer et je te reviens dessus...

@+

Michel.


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

pour répondre à ta question j'ai la bidouille suivante qui te permet
d'avoir un nombre variable de décimales (entre 0 et 10)
en D1=NBCAR(CNUM(CTXT(C1;10)))
ou D1=NBCAR(ARRONDI(C1;10))-2

pour info NBCAR equivaut à LEN
CNUM : convertit en numerique
CTXT : convertit en texte en spécifiant le nombre max de décimales
(ici 10)


Bonjour tout le monde,


Voila j'ai dans tape dans en A1 = 11280.1
dans en B1 = INT(A1)
puis en C1 = A1-B1
et finalement en D1 = LEN(C1)

B1 = 11280
C1 = 0.1

Pourquoi en D1 j'ai un retour de = 17 ?

En fait je voudrais avoir la possibilite de dissocier les entiers des
decimales.

J'etais passe par la fonction "FIND", mais le probleme se pose lorsque
l'on
utilise le point ou la virgule en tant que separateur.....

Mon idee etais de faire un nombre moins moins son entiers pour obtenir les
decimal puis de faire un concatenate de l'entier avec les decimals pour ne
plus avoir de separateurs de virgule.... c'est pour fabriquer un fichier
plat...

D'avance un grand merci pour l'explication de ce mystere et peut-etre pour
avoir une autre solution....

@+

Michel.


Avatar
Michel
Salut,

Je vais essayer et je te reviens dessus...

@+

Michel.

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

Bonsoir Michel,

Mon idee etait de faire un nombre moins son entier pour obtenir les
decimales puis de faire un concatenate de l'entier avec les decimales pour

ne plus avoir de separateurs de virgule....

Pour trouver le nombre de chiffres avant la virgule :
=ent(log10(A1))+1

si A1 = 11280.1
log10(A1) = 4.05231295
ent(log10(A1)) = 4
ent(log10(A1))+1 = 5

si A1 = 1128.01
log10(A1) = 3.05231295
ent(log10(A1)) = 3
ent(log10(A1))+1 = 4

si A1 = 100000
log10(A1) = 5
ent(log10(A1)) = 5
ent(log10(A1))+1 = 6

@+
FxM







Bonjour tout le monde,


Voila j'ai dans tape dans en A1 = 11280.1
dans en B1 = INT(A1)
puis en C1 = A1-B1
et finalement en D1 = LEN(C1)

B1 = 11280
C1 = 0.1

Pourquoi en D1 j'ai un retour de = 17 ?

En fait je voudrais avoir la possibilite de dissocier les entiers des
decimales.

J'etais passe par la fonction "FIND", mais le probleme se pose lorsque
l'on utilise le point ou la virgule en tant que separateur.....

Mon idee etais de faire un nombre moins moins son entiers pour obtenir
les decimal puis de faire un concatenate de l'entier avec les decimals
pour ne plus avoir de separateurs de virgule.... c'est pour fabriquer un
fichier plat...

D'avance un grand merci pour l'explication de ce mystere et peut-etre
pour avoir une autre solution....

@+

Michel.




Avatar
Jacquouille
Bonsoir
Même réponse qu'en BAL.
Qui t'empêche de le faire deux fois?
Une fois pour les virgules et une fois pour les points?
Deux fois 30 secondes.....
Bonne chance

--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
http://frederic.sigonneau.free.fr/

Jacquouille.

"Michel" a écrit dans le message de
news: %23RVX7%
Salut,

le probleme est si un poste n'a pas de virgule mais des point en guise de
separateur cela ne marchera pas.....


@+

Michel.


"Jacquouille" a écrit dans le message de
news:
Bonsoir Michel
Si je m'en tiens uniquement à ta dernière phrase ( ... pour ne
plus avoir de separateurs de virgule.... ) -->
Pourquoi ne pas faire un "Chercher" et tu tapes une virgule dans la

fenêtre, puis "remplacer" par : et tu laisse la fenêtre vide.
De cette manière, quel que soit le nb de décimales, l'espace virgule sera
supprimé.
Bonne chance.

--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
http://frederic.sigonneau.free.fr/

Jacquouille.

"Michel" a écrit dans le message
de news:
Bonjour tout le monde,


Voila j'ai dans tape dans en A1 = 11280.1
dans en B1 = INT(A1)
puis en C1 = A1-B1
et finalement en D1 = LEN(C1)

B1 = 11280
C1 = 0.1

Pourquoi en D1 j'ai un retour de = 17 ?

En fait je voudrais avoir la possibilite de dissocier les entiers des
decimales.

J'etais passe par la fonction "FIND", mais le probleme se pose lorsque
l'on utilise le point ou la virgule en tant que separateur.....

Mon idee etais de faire un nombre moins moins son entiers pour obtenir
les decimal puis de faire un concatenate de l'entier avec les decimals
pour ne plus avoir de separateurs de virgule.... c'est pour fabriquer un
fichier plat...

D'avance un grand merci pour l'explication de ce mystere et peut-etre
pour avoir une autre solution....

@+

Michel.











1 2