rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

EXCEL: Nombre en format texte

NoSpe13, le vendredi 27 juin 2008 à 11:24:57
Bonjour,
Je reçois chaque jour des mails de données de serveurs desquels je dois retirer certaines données pour les inclure dans un tableau (qui contient pas mal de fonctions et de calculs, soit dis en passant) mais je reçois le tout en format TEXTE UNICODE...

Le soucis est que pour la capacité des disques j'ai reçu (format TXT) les chiffres "141 725" et "3 876" que je n'arrive pas a convertir en format nombre (je pense que l'espace entre les chiffres pose robleme)

J'ai essayé toutes les méthodes disponibles sur le site de Microsoft mais rien n'y fait...

Y a t'il un moyen pour que lors de l'importation dans Excel du fichier texte je puisse convertir ce format texte en format nombre?

A toute bonne fin je vous joins la fonction pour importer les données:


______________________________________________________________________________________

Sub Importation()
'
' Importation Macro
'

'Ouverture du rapport du serveur client
Workbooks.OpenText Filename:= _
"C:\Users\xxxxx.XXXXXX\Desktop\Test Check\Rapports\XXXX.txt" _
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False _
, Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1)), _
TrailingMinusNumbers:=True

'Copie des donnees dans les "donnees serveur"
Cells.Select
Selection.Copy
Windows("Donnees.xltm").Activate
Sheets("XXXX").Select
Range("A1").Select
ActiveSheet.Paste

'Vider le presse papier pour éviter d'avoir a cliquer sur oui lors de l'execution
Application.CutCopyMode = False

'Fermeture du rapport
Windows("XXXX.txt").Activate
ActiveWorkbook.Close
Sheets("Initial").Select
End Sub

_________________________________________________________________________________________

Je vous remercie par avance de toute l'aide qui me sera fournie...
Configuration: Windows Vista
Internet Explorer 7.0
Répondre à NoSpe13  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
robinho59600, le vendredi 27 juin 2008 à 11:27:37
Format --> Cellules --> Nombres :-$
Je sais c'est la base mais je vois pas autrement désolé Sur le plus haut trône du monde on n'est jamais assis que sur ses fesses ;-)
Répondre à robinho59600

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
zavenger, le vendredi 27 juin 2008 à 11:33:32
Salut, tes parameters regionaux sont bien mis pour avoir les nombres avec un espace comme separateur de milliers?
Répondre à zavenger

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
NoSpe13, le vendredi 27 juin 2008 à 11:41:02
Format --> Cellules --> Nombres :-$
Je sais c'est la base mais je vois pas autrement désolé


Déjà tenté mais cela ne donne rien... Merci tout de même

Salut, tes parameters regionaux sont bien mis pour avoir les nombres avec un espace comme separateur de milliers?

Oui... Mais lors de la conversion j'obtiens #VALEUR!
Répondre à NoSpe13

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
NoSpe13, le vendredi 27 juin 2008 à 21:28:38
Personne pour m'aider?
Répondre à NoSpe13

5


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
eriiic, le vendredi 27 juin 2008 à 21:44:52
si si...
Ajoute ce code après ton collé en mettant les noms et plages qui t'interessent (numeriques)
    Dim c As Range
    For Each c In Workbooks("Classeur1.xls").Worksheets("Feuil1").Range("A1:A5")
        c.Value = Replace(c.Value, " ", "") * 1
    Next c


eric

PS : enlève le ; ajouté par ccm après A1:A5
Répondre à eriiic

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
NoSpe13, le mardi 1 juillet 2008 à 08:28:12
Hello,
Je viens de reprendre mon boulot sur ce programe et voici la correction

Dim c As Range
For Each c In Workbooks("Donnees Serveurs.xltm").Worksheets("AIMG").Range("A:U")
c.Value = Replace(c.Value, " ", "") * 1
Next c

Comme tu peux le constater je n'ai fait que de remplacer les valeurs et noms par ceux de mon classeur mais une fois que j'execute, j'obtiens l'erreur suivante:

Erreur d'execution 13
Incompatibilité de type

ceci en surlignant la ligne
c.Value = Replace(c.Value, " ", "") * 1

Merci de m'aider.
Répondre à NoSpe13

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
NoSpe13, le mardi 1 juillet 2008 à 08:41:04
J'ai essayé en enlevant le "*1" mais la je tourne en boucle...
Le curseur tremble et change sans arret entre le sablier et la fleche...

Merci pour ton aide
Répondre à NoSpe13

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
NoSpe13, le mardi 1 juillet 2008 à 10:30:24
Petite précision...

Le texte que je copie/colle provient d'un fichier en format "texte unicode"...
Cela peut il etre la cause de cette erreur???

Merci.
Répondre à NoSpe13

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
NoSpe13, le mardi 15 juillet 2008 à 10:07:34
rebonjour a vous tous,

Malheuresement je n'y arrive toujours pas...

Quelqu'un pour m'aider???

Merci par avance...
Répondre à NoSpe13

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 eriiic, le mardi 15 juillet 2008 à 10:27:12
Bonjour,

c'était écrit vite...
Essaie avec celui là plus détaillé :
Dim c As Range
Application.ScreenUpdating = False
For Each c In Workbooks("Donnees Serveurs.xltm").Worksheets("AIMG").Range("A:U")
    If VarType(c.Value) = vbString Then
        c.Value = CDbl(Replace(c.Value, " ", ""))
    End If
Next c
Application.ScreenUpdating = True

Si tes données sont bien groupées, pour accélerer le traitement tu peux mettre :
For Each c In Workbooks("Donnees Serveurs.xltm").Worksheets("AIMG").Range("A1").CurrentRegion.Select

Si ça ne marche toujours pas il faudra déposer un extrait de ton fichier sur cijoint.fr et coller le lien ici. Ce que tu prends pour des espaces n'en sont peut être pas...
eric
Répondre à eriiic
Logiciels pertinents trouvés dans les téléchargements
Télécharger OpenOffice.org 2.4.1OpenOffice.org - OpenOffice est une suite bureautique complète entièrement gratuite, compatible avec la suite Microsoft Office. Elle...Catégorie: Suite bureautique
Licence: Open Source
Télécharger Word Viewer 2003Word Viewer - La visionneuse Word Viewer vous permet d'ouvrir des documents Word 2003 et des documents créés avec toutes les versions...Catégorie: Traitement de texte
Licence: Freeware/gratuit
Télécharger PSPad 4.5.2PSPad - PSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS,...Catégorie: Développement
Licence: Freeware/gratuit
Télécharger Inkscape 0.46Inkscape - Inkscape est un logiciel libre d'édition de graphismes vectoriels, doté de capacités similaires à Illustrator, Freehand,...Catégorie: Dessin
Licence: Open Source
Plus de logiciels gratuits sur « EXCEL: Nombre en format texte »