Formats différents de l'écriture

Format

Je suis confronté aux exigences d'excel que je ne domine pas malheureusement. Je ne comprends pas pourquoi Excel me modifie des données et les transforme sous un autre format.

Exemples /

03100E2 en 3,10E+05

218009359 en 2,18E+08

01700 en 1700

De plus pour certaine je suis obligé de chercher à taton.

Ce type de donnée vienne d'une extraction d'un logiciel. j'ai essayé de transformer les données pour qu'elles reviennent à leur état initial mais je ne trouve pas de solution pérenne.

Comment puis je procéder pour qu'excel laisse le format d'origine sans que je sois obligé de tout corriger ?

Merci

Cdlt

Comment les données sont-elle importées dans excel ? via un fichier txt ou csv ?

Essaie de les enregistrer en texte en mettant une apostrophe devant ...

Bonjour à toutes et tous

Format de cellules

03100E2 310000E2 00000"E"2 Spécialisé

218009359 218009359 Nombre était au format spécial sécurité sociale espagnole

01700 01700 00000 Spécialisé

Amicalement Pierrot

Steelson a écrit :

Comment les données sont-elle importées dans excel ? via un fichier txt ou csv ?

Essaie de les enregistrer en texte en mettant une apostrophe devant ...

Les données viennent d'une base de donnée spécifique et le fichier d'extraction est au format csv. Peut on empêcher ces transformations de format ?

Cdlt

Dans ce cas, lis nous avec le bloc notes le fichier csv et fais nous un extrait ici, juste une ligne en texte

Il sera possible de jouer avec XlTextQualifier.

Ci-joint un code qui te permettra d'importer tes fichiers csv avec délimiteur ";" au format texte, donc sans altération de grands nombres.

Steelson a écrit :

Ci-joint un code qui te permettra d'importer tes fichiers csv avec délimiteur ";" au format texte, donc sans altération de grands nombres.

bonjour

je te réponds dans la semaine car je n'ai pas de fichier.

Cdlt

Steelson a écrit :

Ci-joint un code qui te permettra d'importer tes fichiers csv avec délimiteur ";" au format texte, donc sans altération de grands nombres.

Bonjour

Je viens de faire l'essai, je vois qu'il mets ="01700 " qu'est ce cela entraîne. Sinon ça marche parfaitement

Merci

Cdlt

cela entraîne que tout, absolument tout, est en format texte.

Si besoin, tu peux appliquer la formule CNUM pour traduire les quelques cellules en nombre ... et 01700 par exemple deviendra 1700.

jag83 a écrit :

Je viens de faire l'essai, je vois qu'il mets ="01700 " qu'est ce cela entraîne. Sinon ça marche parfaitement

Dois-je comprendre qu'il met aussi des guillemets gênant ?

Le problème c'est que depuis le début on fonctionne sans fichier exemple (texte, csv ou excel).

Steelson a écrit :
jag83 a écrit :

Je viens de faire l'essai, je vois qu'il mets ="01700 " qu'est ce cela entraîne. Sinon ça marche parfaitement

Dois-je comprendre qu'il met aussi des guillemets gênant ?

Le problème c'est que depuis le début on fonctionne sans fichier exemple (texte, csv ou excel).

Bonjour

Bonjour

Quand j’utilise ta formule il met certaines valeurs ="01700 " alors qu'avant il n'y en avait pas. Ce n'est juste qu'un constat

Cdlt

pour ne pas voir de guillemets (encore une fois je n'ai pas vu l'ombre du premier mot de ta source), modifie le code qu je te propose comme suit :

Sub lire()

    Fichier = Application.GetOpenFilename("Fichiers csv, *.csv")
    If Fichier = False Then Exit Sub

    N = FreeFile
    Open Fichier For Input As #N

    i = 0
    Do While Not EOF(1)
        Line Input #N, Contenu
        i = i + 1

        Table = Split(Contenu, ";")
        For j = 0 To UBound(Table)
            Cells(i, j + 1).Value = "'" & Replace(Table(j), """", "")
        Next j

    Loop

    Close #N

End Sub

Merci les "" ont disparus

C'est merveilleux

Encore mille merci

Cdlt

Rechercher des sujets similaires à "formats differents ecriture"