VBA-Copie de données-Mise en forme

Bonjour à tous,

JE suis en train de construire un fichier de conversion de données. J'ai des données brut fournisseur et je dois les copie dans un autre fichier suivant un certain ordre et après je les travail.

Le problème que je rencontre c'est lors de la copie. Je des valeur de type 4,068 dans le fichier fournisseur et quand je copie avec ma macro (que j'ai fais par enregistrement) la valeur que j'obtient c'est 4068.

Quand je copie en dehors de la macro, ca se passe bien.

Voici un extrait de ma macro

Windows("Kit_NNNNN.xlsx").Activate

Range("O9").Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Copy

Windows("Noname.xls").Activate

Range("B3").Select

ActiveSheet.Paste

Je pensais que ca pouvais être du à un problème de formalisme de cellule mais je ne trouve pas la solution meme en essayant de changer le formalisme.

Cordialement,

Bonjour

Vois dans le format de cellule de la colonne qui ne te convient pas.

Sinon, un extrait de ton fichier ??

Bye

Bonjour Jujuchon,

Tu as écrit que 4,068 devient 4068 ; or selon les formats anglais : la virgule est le séparateur de milliers

et le point est le séparateur décimal ; exemple : 4,068.75 (anglais) = 4 068,75 (français).

Vérifie quel Excel tu utilises : c'est peut-être une version anglaise ; si besoin, vérifie aussi les séparateurs

au niveau de Windows : Panneau de configuration, Région et langue, 1er onglet Formats ; en bas, clic

sur le bouton « Paramètres supplémentaires... » => fenêtre « Personnaliser le format » ; 1er onglet

« Nombres » ; vérifie « Symbole décimal : » et « Symbole de groupement des chiffres : ».

Cordialement

Bonjour (...)

C'est exactement ça

dhany a écrit :

Tu as écrit que 4,068 devient 4068 ; or selon les formats anglais : la virgule est le séparateur de millierset le point est le séparateur décimal ; exemple : 4,068.75 (anglais) = 4 068,75 (français).

sauf que il faut savoir que Excel sait faire les conversions tout seul, alors que VBA ne parle que l'anglais !

le problème arrive également souvent avec les dates !

Bonjour Merci pour les réponses,

J'ai trouver la solution, c'est un fournisseur Américain, donc avec des . à la place des , et dans ma macro j'avais demandé le remplacement automatique des . par des virgules, sauf que ça convertisé les valeurs au format x.xxx en en xxxx.

Donc Merci pour vos réponses

Vérifie quel Excel tu utilises : c'est peut-être une version anglaise ; si besoin, vérifie aussi les séparateurs

au niveau de Windows : Panneau de configuration, Région et langue, 1er onglet Formats ; en bas, clic

sur le bouton « Paramètres supplémentaires... » => fenêtre « Personnaliser le format » ; 1er onglet

« Nombres » ; vérifie « Symbole décimal : » et « Symbole de groupement des chiffres : ».

Je vais tester en modifiant ma macro.

Rechercher des sujets similaires à "vba copie donnees mise forme"