Rensigner une donnée avec un format particulier dans une cellule précise

Bonjour,

Je débute en Excel VBA et ma demande est assez particulière.

Mon programme ouvre tous les fichiers text dans un répertoire donné et y ecrit une valeur dans une cellule donnée, puis referme le fichier après l'avoir sauvegardé.

Je souhaiterais écrire dans la cellule souhaitée (par exemple cellule A5) la VALEUR 4.000 avec le même format (cest a dire : 4.000).

J'ai essayer de le faire avec en déclarant une variable VALEUR en tant que chaine de charactère. Mais lorsque je le fais, dans la cellule je trouve dans la cellule 4

Mon code

Sub Macro1()

'

' Macro1 Macro

Dim valeur As String

valeur = "4.000"

'

Path = "D:\Users\zemetaleyoced\Documents\Travail Nicolas\Dossier de test\Dossier de Test 1\" ''définit la chemin d'accès CA aux fichiers à ouvrir

MyFile = Dir(Path & "*.txt") 'définit le premier fichier source Excel contenu dans le dossier ayant CA comme chemin d'accès

Do While MyFile <> "" 'exécute tant qu'il existe des fichiers source

Workbooks.Open Path & MyFile 'ouvre le fichier source MyFile

Range("A5").Select ' fixe la ligne à la quelle je voudrais écrire

ActiveCell.EntireRow.Cells(, 4) = valeur ' Renseigne la valeur dans la cellule(ligne 5, colonne D)

ActiveWorkbook.Close SaveChanges:=True 'ferme le fichier source txt et enregistre

MyFile = Dir() 'définit le prochain fichier source excel du dossier ayant CA comme chemin d'accès

Loop

End Sub

Ci joint le fichier text résultant si besoin

Merci d'avance à toute âme charitable qui me donneras des (pistes) de reponses ^^

3test-copie.txt (34.00 Octets)

Salut,

essaye en ajoutant

ActiveCell.EntireRow.Cells(, 4).NumberFormat = "#,##0"

je dirais qu'il faut l'ajouter après

ActiveCell.EntireRow.Cells(, 4) = valeur ' Renseigne la valeur dans la cellule(ligne 5, colonne D)

J'ai fait sa rapidos avec l'enregistreur de macro mais ça devrait le faire

retire le "." de ta valeur aussi

valeur = "4000"

Bonne journée

Rékiss

Bonjour,

Je te remercie pour ta réponse rapide. J'ai essayé avec la syntaxe que tu m'a suggérée et le résultat affiché (entre des griffes) dans la cellule désirée est : "4,000" (voir PJ : test - syntaxe1). En soit elle fonctionne bien. Peut etre que je l'ai pas bien précisé dans ma requête, mais le format que je veux afficher est : 4.000 (sans les griffes).

Du coup j'me suis permis de modifier un peu la syntaxe que tu m'as donnée et j'ai pu trouver quelque chose qui correspondait à ce que je voulais. Voire le code ci dessous (résultat en PJ : test - syntaxe2) :

Sub Macro1()

'

' Macro1 Macro

Dim valeur As String

valeur = "4" ' Pouvant varier de 100 à 900 MW

'

Path = "D:\Users\zemetaleyoced\Documents\Travail Nicolas\Dossier de test\Dossier de Test 1\" ''définit la chemin d'accès CA aux fichiers à ouvrir

MyFile = Dir(Path & "*.txt") 'définit le premier fichier source Excel contenu dans le dossier ayant CA comme chemin d'accès

Do While MyFile <> "" 'exécute tant qu'il existe des fichiers source

Workbooks.Open Path & MyFile 'ouvre le fichier source MyFile

Range("A5").Select ' fixe la ligne à la quelle je voudrais écrire

ActiveCell.EntireRow.Cells(, 4) = valeur ' Renseigne la valeur dans la cellule(ligne 5, colonne D)

ActiveCell.EntireRow.Cells(, 4).NumberFormat = "#.000" ' Met la cellule A5 au format desiré

ActiveWorkbook.Close SaveChanges:=True 'ferme le fichier source txt et enregistre

MyFile = Dir() 'définit le prochain fichier source excel du dossier ayant CA comme chemin d'accès

Loop

End Sub

Un grand merci à toi

1test-syntaxe1.txt (40.00 Octets)
1test-syntaxe2.txt (38.00 Octets)
Rechercher des sujets similaires à "rensigner donnee format particulier precise"