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 ^^
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