Convertir un texte en nombre [Résolu]

Signaler
Messages postés
2037
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
11 novembre 2020
-
Messages postés
114
Date d'inscription
mercredi 14 octobre 2020
Statut
Membre
Dernière intervention
13 novembre 2020
-
Bonjour,

Cette question a déjà été posée mais aucune des diverses solutions proposées, des plus basiques aux plus pointues comme celle-ci, ne fonctionne dans mon cas.

J'utilise Excel Mac 2011.

Si quelqu'un peut m'aider, ce serait super, parce que je galère vraiment avec ce truc !
Ici un exemple de fichier problématique.

Merci d'avance :)




6 réponses

Messages postés
2394
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
11 novembre 2020
896
Dans la zone Remplacer essayez de coller l'espace en cause:
Sélectionner un nombre, dans la barre de formule sélectionner l'espace en cause, copier, coller dans la zone de saisie de Remplacer. ( La manœuvre pour ne saisir que le seul espace est précise voire délicate)
Avez -vous testé la solution Substitue()?

Rappel: =Estnum(A1) vérifie si le contenu est un nombre quelque soit le format.
=Code(A1) donne le code du premier caractère.
=Car(xxx) peut remplacer une saisie.
Messages postés
2037
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
11 novembre 2020
466
Figurez-vous que j'ai déjà essayé plusieurs fois, sans succès : le remplacement est pourtant théoriquement effectué, mais rien de change.
Histoire d'avoir un meilleur visuel, j'ai fait la manip en remplaçant l'espace copié par un A et le résultat a été vraiment tordu ! Le A s'est ajouté APRES l'espace, sans le remplacer, ce qui m'a donné par exemple : A29 A370.
Et ... je viens de réessayer ... et cette fois, ça a fonctionné !
Je n'y comprends vraiment rien : j'espère que ce ne sera pas le même bazar à chaque fois, mais quoi qu'il en soit, je vous remercie parce que j'avais renoncé à essayer une fois de plus. :)

Je vais mettre le post en Résolu mais j'avoue que j'aurais quand même bien aimé comprendre.
Messages postés
2394
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
11 novembre 2020
896 >
Messages postés
2037
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
11 novembre 2020

Toute l'utilisation de la boite de dialogue est délicate!!!
Vous avez vraisemblablement remplacé x par xA (x comme espace).
La boite de dialogue garde les dernières valeurs en "valeurs par défaut"; il est parfois difficile de remettre à zéro; de plus on se laisse facilement tromper par des espaces peu visibles.
Un autre piège survient avec Remplacer tout si on a oublié de de sélectionner un champ limité.
Messages postés
2037
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
11 novembre 2020
466 >
Messages postés
2394
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
11 novembre 2020

A vrai dire, c'est peu probable, parce qu'à chaque utilisation, je vide les champs de la boîte de dialogue. Je suis vraiment familiarisée avec cette procédure Rechercher/Remplacer car je m'en sers beaucoup, et dans ce cas précis, c'est ce que j'ai fait en premier. De plus, comme dit plus haut, j'avais déjà fait plusieurs tentatives. Pour moi, cela reste un mystère ...
Mais encore merci ! :)
Messages postés
86
Date d'inscription
mardi 27 juin 2017
Statut
Membre
Dernière intervention
11 novembre 2020
10
Messages postés
2037
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
11 novembre 2020
466
Merci pour ta réponse, mais hélas, ça ne fonctionne pas. :-(
Si tu veux vérifier par toi-même, teste avec le fichier que j'ai mis en exemple.
Messages postés
86
Date d'inscription
mardi 27 juin 2017
Statut
Membre
Dernière intervention
11 novembre 2020
10 >
Messages postés
2037
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
11 novembre 2020

J'ai la version 2019 sous windows donc mon test n'aurait pas vraiment d'intérêt ^^ Si ca fonctionne chez moi ce serait une question de version et si ca fonctionne pas bon bha on est pas plus avancés x')

Si tu as le temps et les compétences je te conseille de créer une macro ou un petit logiciel qui supprime et réécris les cellules concernées correctement. C'est radical et pénible à mettre en place mais au moins c'est sûr de marcher.
Messages postés
2037
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
11 novembre 2020
466 >
Messages postés
86
Date d'inscription
mardi 27 juin 2017
Statut
Membre
Dernière intervention
11 novembre 2020

Oui, c'est vrai, impossible de vérifier depuis une autre version.
En macro, je suis nulle et de toutes façons, je pense que le souci vient de l'espace dans les chiffres.
Messages postés
2037
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
11 novembre 2020
466
En fait, l'espace dans la colonne chiffres n'est pas un caractère «normal», celui créé par la barre d'espacement. J'ai même essayé via des convertisseurs en ligne : les chiffres sans espaces sont convertis correctement, mais pas les autres.

Si je supprime manuellement les espaces avant et entre les chiffres, ils sont automatiquement convertis, mais impossible de le faire en série. Donc, quand ça concerne des colonnes entières, c'est une vraie galère !

Apparemment, cet espace serait un code hexadécimal : Alt 0020. On peut le créer en passant par le clavier Universel (Unicode Hex) mais le problème, c'est qu'il n'est pas accepté dans les formules Excel.

____________________________________
Soyez patients : décalage horaire UTC+11
Messages postés
86
Date d'inscription
mardi 27 juin 2017
Statut
Membre
Dernière intervention
11 novembre 2020
10
J'ai une possible solution mais c'est vraiiiiment du bricolage ...

Dans fichier => option => options avancées => Options d'édition tu as une coche "utiliser les séparateurs système". Tu peux la décocher et mettre le caractère problématique en question dans le séparateur des milliers.

Tu te doutes bien que ca va sûrement plus te poser de soucis que t'aider étant donné que l'espace normal ne fonctionnera alors plus ...


Un petit appel pour un programmeur en visual basic qui saurait faire un algo qui ressemble à ca :


for each (Cellule c : user_selection){ //pour chaque case sélectionnée par l'utilisateur

String nb = ""; //La chaîne de la cellule mais sans le caractère problématique
double result; //Le nombre corrigé à écrire dans la cellule

for each (Char ch : c){ //pour chaque caractère de la chaîne contenue dans la case

if(!ch.equals(' ')){ // si le caractère n'est pas celui qui pose problème
nombre += ch; //bon je sais pas si en VB tu peux concaténer un String
// et un Char ainsi hein
}
}

result = valueOf(nb); //Méthode pour transformer un String en double ou integer
c = result; //Ecrire dans la cellule le résultat final.
}



En en faisant une macro il te resterait plus qu'alors à sélectionner les cases qui te dérangent et exécuter la macro (tu peux facilement mettre un racourci clavier dessus).

PS : Qu'on vienne pas me dire le code est nul y'a un problème dedans, c'est juste un algo écris à l'arrache hein je l'ai même pas relu

En espérant t'avoir aidé,
Cordialement,
Vayleme
Messages postés
2037
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
11 novembre 2020
466
Merci pour cette louable tentative, mais hélas, je bloque dès le début : je ne trouve pas
fichier => option

Comme c'est une version pour Mac, j'ai essayé de trouver ça ailleurs, en vain. :-(
Messages postés
2394
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
11 novembre 2020
896
Bonjour,
Votre fichier lu sur PC (après conversion en.xls) révèle des espaces insécables CAR(160).
1- avec Rechercher Remplacer
dans Rechercher saisir la combinaison Alt+0160 (0160, pas 160)
Dans Remplacer : un clic sans rien saisir
Clic sur le bouton Remplacer
En variante, au lieu de saisir Alt+ 0160 on peut coller un nombre à problème et effacer tous les caractères sauf un espace (soit celui du début soit celui qui sert de séparateur de milliers)
2- Dans une colonne libre entrer =SUBSTITUE(B1;CAR(160);"")*1
ou =SUBSTITUE(SUPPRESPACE(B1);CAR(160);"")*1 recopier. Si ça marche on peut revenir à la colonne B par collage spécial.

Attention au format des cellules!
Messages postés
2037
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
11 novembre 2020
466
Merci pour votre réponse, mais dans ma version d'Excel, la combinaison Alt+0160 donne ce caractère => Š
Comme expliqué plus haut, j'ai essayé avec le code hexadécimal Alt 0020 pour l'espace : il se crée bien dans la zone de recherche de caractère, mais quand je lance le remplacement, ça dit qu'il n'y a pas de caractère correspondant dans la colonne. Un vrai casse-tête, ce truc !!!
Messages postés
114
Date d'inscription
mercredi 14 octobre 2020
Statut
Membre
Dernière intervention
13 novembre 2020
12
Bonjour,
Puisque Excel me dit que ces chiffres sont du texte, je les ai copiés sur Word, puis j'ai fait un rechercher espace / remplacer par rien.
Le résultat obtenu, je l'ai copié sur Excel et j'ai obtenu ainsi des nombres et cela a l'air de marcher.
Vous pourriez essayer...
Cordialement.
Messages postés
114
Date d'inscription
mercredi 14 octobre 2020
Statut
Membre
Dernière intervention
13 novembre 2020
12 >
Messages postés
2037
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
11 novembre 2020

Je ne saurais vous dire, je viens de refaire deux fois la manip', ça marche. J'utilise un MS Office 2000.
Avez vous fait un collage spécial sans mise en forme sur Word ?
Messages postés
2394
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
11 novembre 2020
896 >
Messages postés
114
Date d'inscription
mercredi 14 octobre 2020
Statut
Membre
Dernière intervention
13 novembre 2020

Bonjour,
C'est normal, une conversion est déjà opérée quand vous ouvrez le fichier d'@nnie avec MS office 2000.
On peut même traiter une copie des données dans le Bloc note (.txt)
On peut aussi "ouvrir avec" Open office et traiter dans Calc.
Messages postés
114
Date d'inscription
mercredi 14 octobre 2020
Statut
Membre
Dernière intervention
13 novembre 2020
12 >
Messages postés
2394
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
11 novembre 2020

Et pourquoi ça ne marche pas chez @nnie ? Le fichier Excel vient de chez elle...
Messages postés
2394
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
11 novembre 2020
896 >
Messages postés
114
Date d'inscription
mercredi 14 octobre 2020
Statut
Membre
Dernière intervention
13 novembre 2020

Exploitation et logiciels pour Mac ou Pc?
Messages postés
114
Date d'inscription
mercredi 14 octobre 2020
Statut
Membre
Dernière intervention
13 novembre 2020
12 >
Messages postés
2394
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
11 novembre 2020

Je travaille sur PC.
Puisque vous saviez que c'était très simple sur PC, pourquoi ne l'avez vous pas signalé plus tôt à @nnie qui aurait pu faire ce travail sur le PC d'un collègue par exemple...