Copier/coller un nombre avec espace pour les milliers

Bonjour,

soit je ne sais pas formuler ma recherche, soit il n'y a rien la dessus :

dans une base de données pleine de nombres, j'ai la possibilité de tout copier et de tout coller dans excel. Le seul problème, c'est que les nombres à partir de 1000 sont collés avec un espace entre les milliers et les centaines, comme ceci :

1 546,79

sauf que excel ne comprend pas cet espace et même en multipliant cette cellule par un autre nombre j'ai toujours pas un nombre selon Excel (bien que mon format de cellule soit Nombre).

Supprimer manuellement les espaces est trop long. Et en plus je n'ai pas que des chiffres mais parfois du vrai texte où la je n'ai pas envi de supprimer les espaces...

une idée de macro éventuellement ? Ou alors si il existe quelque chose de plus simple ?

Merci à vous

Bonsoir,

as tu essayé avec la fonction CNUM d'excel ?

Si ça fonctionne pas poste un fichier sur lequel on pourrais tester stp.

Merci.

Bonsoir

Si tu mets dans ta colonne le format nombre avec 2 décimales, cela devrait être bon

Essaie

bye

non je ne connaissais pas ! mais cela ne marche pas

46test-cnum.xlsm (8.98 Ko)

Et décocher le séparateur de milliers

on format de cellule est standard !!!!

Ton

Essaye ce fichier colle tes données dans la colonne A et clique sur le bouton dis moi si ça fonctionne.

103test-cnum.xlsm (17.76 Ko)

Salut MEZ,

Salut l'équipe,

encore et toujours ce foutu Chr(160)...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
If InStr(CStr(Target), Chr(160)) > 0 Then
    Target = Replace(Target, Chr(160), "")
End If
'
End Sub

Reste à voir si ce Chr(160) est utilisé dans les String que tu veux conserver : un fichier correct et représentatif, stp!

A+

Bonjour MEZIO47-63,

Je viens de voir ton fichier ; attention : l'espace séparateur de milliers de ton nombre en G10 est un espace insécable de code 160 et pas l'espace normal de code 32 ; c'est pour cela que ton nombre est considéré comme du texte et aligné à gauche !

D'abord, corrige cet espace en le supprimant puis en mettant un espace normal à la place ; puis fais comme te l'as indiqué Patty5046 : au lieu du format Standard, met un format Nombre avec 2 décimales et sans séparateur de milliers (puisque tu n'en veux pas, bien que ça facilite la lecture du nombre).

Cordialement,

dhany

Bravo bigdaddy

J'avais commencé et tu as été plus rapide

Médaille d'or

Bonne soirée

Essaye ce fichier colle tes données dans la colonne A et clique sur le bouton dis moi si ça fonctionne.

Oui cela fonctionne bien !

merci !

Salut MEZ,

Salut l'équipe,

encore et toujours ce foutu Chr(160)...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
If InStr(CStr(Target), Chr(160)) > 0 Then
    Target = Replace(Target, Chr(160), "")
End If
'
End Sub

Reste à voir si ce Chr(160) est utilisé dans les String que tu veux conserver : un fichier correct et représentatif, stp!

A+

je viens de tester cela aussi : j'aime encore plus car pas besoin de cliquer sur un bouton :p (je sais, le beurre et l'argent du beurre ).

Sauf que quand je mets ça dans mon fichier type cela ne marche pas...

je vous laisse un exemple de ligne copiée/collée directement depuis ma base de donnée, je peux pas faire plus représentatif :p

Salut MEZ,

cela fonctionne mais cellule par cellule, évidemment...

Tu voudrais, j'imagine, un traitement global de ta feuille?

A+

Oui en effet

Après je peux toujours rajouter des colonnes "mortes" destinées à avoir la valeur corrigée sinon.

Envoie plutôt un VRAI fichier avec TOUS les types de données différentes à traiter.

Tu parlais de données Texte : ici, je n'en vois pas!

En voyant la structure du fichier, on pourra mieux cibler le travail!

A+

rebonjour,

ok alors voilà un fichier plus complet ==> il y a du texte en colonnes B, E, H, et S. Toutes les autres colonnes sont normalement des chiffres (correspondant à des poids où des surfaces). On voit en colonne F que les "chiffres" avec des points à la place des virgules sont aussi considérés comme du texte mais cette colonne ne m'intéresse pas

Pour récapitulatif : les colonnes qui me posent problème sont les C, l, M, N, O, et Q.

merci à toi en tous cas

Salut MEZ,

Bien le bonjour à l'équipe,

voilà ce que tu aurais déjà eu il y a 5 jours si ta demande avait été efficacement secondée par un fichier représentatif!

Et encore peux-tu encore intervenir sur son efficacité car quelque chose me dit que tu as dû "oublier" que dans toute feuille, il y a... un en-tête à quasi chaque colonne!!!

For y = 1 To iRow

Le 1 désigne la première ligne à devoir être traitée.

Pour le reste, tu comprendras plus loin les éventuelles adaptations à faire si, d'aventure, d'autres colonnes devaient être ajoutées.

La macro démarre sur un double-clic en [A1].

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Application.EnableEvents = False
Application.ScreenUpdating = False
'
If Not Intersect(Target, Range("A1")) Is Nothing Then
    Cancel = True
    For x = 1 To 6
        sCol = Choose(x, "C", "I", "M", "N", "O", "Q")
        iRow = Range(sCol & Rows.Count).End(xlUp).Row
        For y = 1 To iRow
            Range(sCol & y).Value = Replace(Range(sCol & y), Chr(160), "")
        Next
    Next
End If
'
Application.ScreenUpdating = True
Application.EnableEvents = True
'
End Sub

Avec plaisir,

A+

Rechercher des sujets similaires à "copier coller nombre espace milliers"