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

nombres au format texte

11 réponses
Avatar
Abpostman
Bonjour à tous,

je manipule depuis longtemps excel 2002 pour faire
des trucs tous simples.
Or depuis peu, je commence à m'intéresser au macro car je dois dans le cadre
de mon boulot effectuer des retraitements de données qui sont les mêmes
d'une semaine à l'autre, sur un classeur qui a toujours la même forme.
Loin de moi les capacités à maitriser VBA, j'utilise uniquement la création
de macros via les enregistrements automatiques.
Or, je rencontre aujourd'hui un problème qui m'est inconnu:
certaines des données que je dois retraiter et qui sont issues d'une
application à base d' Access, apparaissent après exportation au format
texte. Il m'est dès lors impossible d'effectuer quelque calcul que ce soit.
Je me suis donc essayé aux macros en demandant à excel de modifier le format
des cellules en question (le problème est vraissemblablement dû à des
virgules qui auraient prit la forme d'un point) , sur toutes les feuilles de
mon classeur (mêmes entêtes, même nombre de colonnes...).
Je lui demande donc de remplacer les virgules par des virgules, de me mettre
les colonnes en question au format nombre avec 3 décimales -ça marche -, et
j'arrête mon enregistrement.
MAIS, lorsque j'exécute ladite macro sur les autres feuilles, il ne me fait
que la moitié du boulot, et mes nombres restent au format texte.
J'ai tout de même constaté que le problème ne concernait que les nombres non
entiers.
Le problême est le même si dans ma macro je demande à excel de sélectionner
toutes les feuilles du classeur.

Peut-être y a t'il des règles à respecter lors des enregistrements de macros
qui me sont inconnues, ou bien manque-t'il une procédure à ma démarche ?
Je ne suis malheureusement pas assez confirmé pour répondre à ces questions.

Peut-être pourrez-vous m'aider.....
Par avance , merci.

Nb, je ne suis pas un fainéant et je suis allez chercher dans l'aide avant
de vous embêter, sans succès.

10 réponses

1 2
Avatar
Dédé
Salut Abpostman !

Ben avant toutes choses ... tu mets le chiffre "1" dans une cellule et
ensuite, tu sélectionne toutes les cellules qui ont des nombre au format
texte et tu fais un collage spécial et tu active la multiplication. Cela te
multiplie tout par 1 et le résultat de la multiplication, en plus d'être un
produit, ben c'est automatiquement un chiffre au format Nombre .....


Est-ce que cette petite astuce te résout ton problème ??

Tu devrais pouvoir aussi multiplier tout cela par VBA et ça doit pas être
trop compliqué ... Courage !

Salutations
Dédé
"Abpostman" a écrit dans le message de
news:
Bonjour à tous,

je manipule depuis longtemps excel 2002 pour faire
des trucs tous simples.
Or depuis peu, je commence à m'intéresser au macro car je dois dans le
cadre

de mon boulot effectuer des retraitements de données qui sont les mêmes
d'une semaine à l'autre, sur un classeur qui a toujours la même forme.
Loin de moi les capacités à maitriser VBA, j'utilise uniquement la
création

de macros via les enregistrements automatiques.
Or, je rencontre aujourd'hui un problème qui m'est inconnu:
certaines des données que je dois retraiter et qui sont issues d'une
application à base d' Access, apparaissent après exportation au format
texte. Il m'est dès lors impossible d'effectuer quelque calcul que ce
soit.

Je me suis donc essayé aux macros en demandant à excel de modifier le
format

des cellules en question (le problème est vraissemblablement dû à des
virgules qui auraient prit la forme d'un point) , sur toutes les feuilles
de

mon classeur (mêmes entêtes, même nombre de colonnes...).
Je lui demande donc de remplacer les virgules par des virgules, de me
mettre

les colonnes en question au format nombre avec 3 décimales -ça marche -,
et

j'arrête mon enregistrement.
MAIS, lorsque j'exécute ladite macro sur les autres feuilles, il ne me
fait

que la moitié du boulot, et mes nombres restent au format texte.
J'ai tout de même constaté que le problème ne concernait que les nombres
non

entiers.
Le problême est le même si dans ma macro je demande à excel de
sélectionner

toutes les feuilles du classeur.

Peut-être y a t'il des règles à respecter lors des enregistrements de
macros

qui me sont inconnues, ou bien manque-t'il une procédure à ma démarche ?
Je ne suis malheureusement pas assez confirmé pour répondre à ces
questions.


Peut-être pourrez-vous m'aider.....
Par avance , merci.

Nb, je ne suis pas un fainéant et je suis allez chercher dans l'aide avant
de vous embêter, sans succès.




Avatar
Dédé
heuuuu oublié .... le chiffre 1, avant de le coller avec un collage spécial,
ben faut le copier ...;-))

J'ai écris un peu vite alors mes excuses ...

Salutations
Dédé

"Dédé" a écrit dans le message de
news:
Salut Abpostman !

Ben avant toutes choses ... tu mets le chiffre "1" dans une cellule et
ensuite, tu sélectionne toutes les cellules qui ont des nombre au format
texte et tu fais un collage spécial et tu active la multiplication. Cela
te

multiplie tout par 1 et le résultat de la multiplication, en plus d'être
un

produit, ben c'est automatiquement un chiffre au format Nombre .....


Est-ce que cette petite astuce te résout ton problème ??

Tu devrais pouvoir aussi multiplier tout cela par VBA et ça doit pas être
trop compliqué ... Courage !

Salutations
Dédé
"Abpostman" a écrit dans le message de
news:
Bonjour à tous,

je manipule depuis longtemps excel 2002 pour faire
des trucs tous simples.
Or depuis peu, je commence à m'intéresser au macro car je dois dans le
cadre

de mon boulot effectuer des retraitements de données qui sont les mêmes
d'une semaine à l'autre, sur un classeur qui a toujours la même forme.
Loin de moi les capacités à maitriser VBA, j'utilise uniquement la
création

de macros via les enregistrements automatiques.
Or, je rencontre aujourd'hui un problème qui m'est inconnu:
certaines des données que je dois retraiter et qui sont issues d'une
application à base d' Access, apparaissent après exportation au format
texte. Il m'est dès lors impossible d'effectuer quelque calcul que ce
soit.

Je me suis donc essayé aux macros en demandant à excel de modifier le
format

des cellules en question (le problème est vraissemblablement dû à des
virgules qui auraient prit la forme d'un point) , sur toutes les
feuilles


de
mon classeur (mêmes entêtes, même nombre de colonnes...).
Je lui demande donc de remplacer les virgules par des virgules, de me
mettre

les colonnes en question au format nombre avec 3 décimales -ça marche -,
et

j'arrête mon enregistrement.
MAIS, lorsque j'exécute ladite macro sur les autres feuilles, il ne me
fait

que la moitié du boulot, et mes nombres restent au format texte.
J'ai tout de même constaté que le problème ne concernait que les nombres
non

entiers.
Le problême est le même si dans ma macro je demande à excel de
sélectionner

toutes les feuilles du classeur.

Peut-être y a t'il des règles à respecter lors des enregistrements de
macros

qui me sont inconnues, ou bien manque-t'il une procédure à ma démarche ?
Je ne suis malheureusement pas assez confirmé pour répondre à ces
questions.


Peut-être pourrez-vous m'aider.....
Par avance , merci.

Nb, je ne suis pas un fainéant et je suis allez chercher dans l'aide
avant


de vous embêter, sans succès.








Avatar
Abpostman
Salut Dédé,


Tout d'abord, je te remercie pour ton aide.
Ta solution est bonne, cela fonctionne lors de l'enregistrement de la macro,
mais lorsque j' execute celle ci dans les autres feuilles, les formats texte
persistent.
Le seul moyen que j'ai trouvé pour remédier au problème consiste à
selectionner les feuilles en manuel et à appliquer ta méthode (ou la
mienne).
En fait je pense que nos méthodes sont toutes les deux bonnes (le coup des
virgules chez moi, et le X 1 chez toi), mais que le problème est lié à
l'enregistrement de la macro.
Pourtant, ce n'est pas sorcier !! :(
Je suis vraiment trop néophite pour pouvoir pousser le raisonnement plus
loin.

S'il te vient une autre idée, n'hésite pas .

Bonne journée
++



"Dédé" a écrit dans le message de news:

Salut Abpostman !

Ben avant toutes choses ... tu mets le chiffre "1" dans une cellule et
ensuite, tu sélectionne toutes les cellules qui ont des nombre au format
texte et tu fais un collage spécial et tu active la multiplication. Cela
te

multiplie tout par 1 et le résultat de la multiplication, en plus d'être
un

produit, ben c'est automatiquement un chiffre au format Nombre .....


Est-ce que cette petite astuce te résout ton problème ??

Tu devrais pouvoir aussi multiplier tout cela par VBA et ça doit pas être
trop compliqué ... Courage !

Salutations
Dédé
"Abpostman" a écrit dans le message de
news:
Bonjour à tous,

je manipule depuis longtemps excel 2002 pour faire
des trucs tous simples.
Or depuis peu, je commence à m'intéresser au macro car je dois dans le
cadre

de mon boulot effectuer des retraitements de données qui sont les mêmes
d'une semaine à l'autre, sur un classeur qui a toujours la même forme.
Loin de moi les capacités à maitriser VBA, j'utilise uniquement la
création

de macros via les enregistrements automatiques.
Or, je rencontre aujourd'hui un problème qui m'est inconnu:
certaines des données que je dois retraiter et qui sont issues d'une
application à base d' Access, apparaissent après exportation au format
texte. Il m'est dès lors impossible d'effectuer quelque calcul que ce
soit.

Je me suis donc essayé aux macros en demandant à excel de modifier le
format

des cellules en question (le problème est vraissemblablement dû à des
virgules qui auraient prit la forme d'un point) , sur toutes les
feuilles


de
mon classeur (mêmes entêtes, même nombre de colonnes...).
Je lui demande donc de remplacer les virgules par des virgules, de me
mettre

les colonnes en question au format nombre avec 3 décimales -ça marche -,
et

j'arrête mon enregistrement.
MAIS, lorsque j'exécute ladite macro sur les autres feuilles, il ne me
fait

que la moitié du boulot, et mes nombres restent au format texte.
J'ai tout de même constaté que le problème ne concernait que les nombres
non

entiers.
Le problême est le même si dans ma macro je demande à excel de
sélectionner

toutes les feuilles du classeur.

Peut-être y a t'il des règles à respecter lors des enregistrements de
macros

qui me sont inconnues, ou bien manque-t'il une procédure à ma démarche ?
Je ne suis malheureusement pas assez confirmé pour répondre à ces
questions.


Peut-être pourrez-vous m'aider.....
Par avance , merci.

Nb, je ne suis pas un fainéant et je suis allez chercher dans l'aide
avant


de vous embêter, sans succès.








Avatar
Dédé
re ...

Ben il existe naturellement une solution pour multiplier toutes les cellules
de toutes les feuilles de tout ton classeur mais ça pourrait prendre un peut
de temps ....

Alors, la solution qu'il faudrait tester ... c'est de créer une plage nommée
où sont tes chiffre au format texte et après, par vba, multiplier ce
"Range(Toto)" par 1 ...et du coup, on devrait y arriver ...

Est-ce que mon idée te convient ?

Pour ce qui est de la macro, ben ça devrait être un truc du genre ...
Sub CommandButton1_Click()
For Each c In Range("Toto")
c.Value = c * 1
Next c
End Sub


Est-ce que cela te convient ?

Salutations
Dédé

"Abpostman" a écrit dans le message de
news:
Salut Dédé,


Tout d'abord, je te remercie pour ton aide.
Ta solution est bonne, cela fonctionne lors de l'enregistrement de la
macro,

mais lorsque j' execute celle ci dans les autres feuilles, les formats
texte

persistent.
Le seul moyen que j'ai trouvé pour remédier au problème consiste à
selectionner les feuilles en manuel et à appliquer ta méthode (ou la
mienne).
En fait je pense que nos méthodes sont toutes les deux bonnes (le coup des
virgules chez moi, et le X 1 chez toi), mais que le problème est lié à
l'enregistrement de la macro.
Pourtant, ce n'est pas sorcier !! :(
Je suis vraiment trop néophite pour pouvoir pousser le raisonnement plus
loin.

S'il te vient une autre idée, n'hésite pas .

Bonne journée
++



"Dédé" a écrit dans le message de news:

Salut Abpostman !

Ben avant toutes choses ... tu mets le chiffre "1" dans une cellule et
ensuite, tu sélectionne toutes les cellules qui ont des nombre au format
texte et tu fais un collage spécial et tu active la multiplication. Cela
te

multiplie tout par 1 et le résultat de la multiplication, en plus d'être
un

produit, ben c'est automatiquement un chiffre au format Nombre .....


Est-ce que cette petite astuce te résout ton problème ??

Tu devrais pouvoir aussi multiplier tout cela par VBA et ça doit pas
être


trop compliqué ... Courage !

Salutations
Dédé
"Abpostman" a écrit dans le message de
news:
Bonjour à tous,

je manipule depuis longtemps excel 2002 pour faire
des trucs tous simples.
Or depuis peu, je commence à m'intéresser au macro car je dois dans le
cadre

de mon boulot effectuer des retraitements de données qui sont les
mêmes



d'une semaine à l'autre, sur un classeur qui a toujours la même forme.
Loin de moi les capacités à maitriser VBA, j'utilise uniquement la
création

de macros via les enregistrements automatiques.
Or, je rencontre aujourd'hui un problème qui m'est inconnu:
certaines des données que je dois retraiter et qui sont issues d'une
application à base d' Access, apparaissent après exportation au format
texte. Il m'est dès lors impossible d'effectuer quelque calcul que ce
soit.

Je me suis donc essayé aux macros en demandant à excel de modifier le
format

des cellules en question (le problème est vraissemblablement dû à des
virgules qui auraient prit la forme d'un point) , sur toutes les
feuilles


de
mon classeur (mêmes entêtes, même nombre de colonnes...).
Je lui demande donc de remplacer les virgules par des virgules, de me
mettre

les colonnes en question au format nombre avec 3 décimales -ça
marche -,



et
j'arrête mon enregistrement.
MAIS, lorsque j'exécute ladite macro sur les autres feuilles, il ne me
fait

que la moitié du boulot, et mes nombres restent au format texte.
J'ai tout de même constaté que le problème ne concernait que les
nombres



non
entiers.
Le problême est le même si dans ma macro je demande à excel de
sélectionner

toutes les feuilles du classeur.

Peut-être y a t'il des règles à respecter lors des enregistrements de
macros

qui me sont inconnues, ou bien manque-t'il une procédure à ma démarche
?



Je ne suis malheureusement pas assez confirmé pour répondre à ces
questions.


Peut-être pourrez-vous m'aider.....
Par avance , merci.

Nb, je ne suis pas un fainéant et je suis allez chercher dans l'aide
avant


de vous embêter, sans succès.












Avatar
Dédé
Ben merci bien pour l'info !

C'est vrai que mes notions VBA sont moindre alors je fais avec et apprends
tous les jours ;-))

Merci encore à ceux qui me corrigent ! C'est comme ça que j'ai tout appris
avec Excel et VBA ;-))

Salutations
Dédé

"AV" a écrit dans le message de
news:
Pour le smilblick :
Pour ce faire, pas besoin de boucler sur la plage :

[Toto] = [Toto*1]

AV




Avatar
AV
Pour le smilblick :
Pour ce faire, pas besoin de boucler sur la plage :

[Toto] = [Toto*1]

AV
Avatar
Abpostman
Ben re ,

z'allez penser que je suis une bille en VBA - c'est d'ailleurs le cas lol -
mais le résultat est "incompatibilité de type."
En fait, j'ai selectionné la plage, je l'ai nommée AX
et je tape ma macro comme suit:

Sub CommandButton1_Click()
["AX"] = ["AX"] * 1
End Sub

J'ai presque honte de montrer ça ! lol

Je pense que dès demain, je cours à Surcouf pour me payer les bases du VBA,
parce que là, je crois que je vous fait perdre votre temps.

Merci encore de votre disponibilité.

Bien à vous.
Abbie





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

Pour le smilblick :
Pour ce faire, pas besoin de boucler sur la plage :

[Toto] = [Toto*1]

AV




Avatar
AV
En fait, j'ai selectionné la plage, je l'ai nommée AX
Sub CommandButton1_Click()
["AX"] = ["AX"] * 1
End Sub


Enlève les guillemets [AX] = [AX] * 1

AV

Avatar
gilbert
[colonne ligne]

[A1] = [A1] * 1

est-ce que cela répond a ta question?

Gilbert



"Abpostman" a écrit dans le message de
news:
Ben re ,

z'allez penser que je suis une bille en VBA - c'est d'ailleurs le cas
lol -

mais le résultat est "incompatibilité de type."
En fait, j'ai selectionné la plage, je l'ai nommée AX
et je tape ma macro comme suit:

Sub CommandButton1_Click()
["AX"] = ["AX"] * 1
End Sub

J'ai presque honte de montrer ça ! lol

Je pense que dès demain, je cours à Surcouf pour me payer les bases du
VBA,

parce que là, je crois que je vous fait perdre votre temps.

Merci encore de votre disponibilité.

Bien à vous.
Abbie





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

Pour le smilblick :
Pour ce faire, pas besoin de boucler sur la plage :

[Toto] = [Toto*1]

AV








Avatar
AV
Pffff... pour moi !
Il faut mettre le *1 dans l'Evaluate [..] !

[AX] = [AX * 1]

AV
1 2