OVH Cloud OVH Cloud

Formatage de cellule sous Excel

3 réponses
Avatar
mike4409
Bonjour,

Je récupère, via un script VBS, des données d'une source ODBC et je les
copie dans un fichier Excel ( inexistant à l'origine, pas de fichier XLS
préformaté )

Le problème, c'est que j'ai une donnée sous la forme 12-1234 et qu'Excel
applique le format de cellule standard. De fait , Excel considère que c'est
une date et m'affiche dans ma cellule une valeur du style avr-04.

Mon but est de retrouver ma valeur sous forme de texte pour avoir 12-1234
dans ma cellule.

Comment faire ?

Détail de mon script ( partie Excel )

Set objXL = WScript.CreateObject("Excel.Application")
objXL.Visible = True
objXL.WorkBooks.Add

objXL.Range("A1:H1").Font.Bold = True
...

For i = 1 To NbCol
objXL.Cells(1,i).Value = Tab(i,1)
Next
....

Merci de votre aide

3 réponses

Avatar
mike4409
Je vais vous évitez de vous creuser les méninges : il suffisait de mettre :

For i = 1 To NbCol
objXL.Cells(1,i).NumberFormat = "@"
objXL.Cells(1,i).Value = Tab(i,1)
Next
Avatar
Gloops
Bonjour,

A priori, pour qu'une valeur soit convertie en texte dans Excel, on la
précède d'une apostrophe.

Range("test") = "'12-1234"
Avatar
Gloops
Ah je n'avais pas réalisé que tu te répondais à toi-même.
Effectivement si il s'agit juste de changer l'affichage le format fait
l'affaire.
_______________________________________
mike4409 a écrit, le 10/11/2004 17:31 :

Je vais vous évitez de vous creuser les méninges : il suffisait de mettre :

For i = 1 To NbCol
objXL.Cells(1,i).NumberFormat = "@"
objXL.Cells(1,i).Value = Tab(i,1)
Next