Lecture écriture de string

Bonjour,

Je dois récupérer des dates sous la forme "semaine.année" depuis un autre document excel. Jusqu'ici aucun problème j'arrive à traiter toutes les données que je veux. C'est par la suite je dois en créer des nouvelles mais le format n'est pas conservé.

Dans le premier msgbox c vaudra bien 23.2017 mais lorsque je l'écris dans une cellule pour le relire il vaudra 23,2017.

Comment faire pour conserver le format ?

Merci à ceux qui prendront le temps de m'éclairer !

EDIT : J'ai réussi à corriger mon problème et forçant le format des cellules en texte.

Sub Macro2()

Dim a As String
Dim b As String
Dim c As String

a = "23"
b = "2017"
c = a & "." & b

MsgBox c

Sheets(1).Cells(51, 69).Value = c

c = Sheets(1).Cells(51, 69).Value

MsgBox c

Sheets(1).Cells(51, 69).ClearContents

End Sub

Bonjour,

Je ne comprends pas ! Si tu as 23.2017 dans la cellule, le séparateur décimal FR étant la virgule, c'est du texte que tu auras dans la cellule.

Si c'est lors de l'affectation que ta valeur est convertie, utilise :

Sheets(1).Cells(51, 69).FormulaLocal = c

Cordialement.

Bonjour,

J'ai réussi à conserver le format en le passant de général à texte.

Je pense que excel le voyait comme un nombre et il transformait le point en virgule.

Mais le format texte ne va rien changer à la casse et le point est conservé.

Si le point devient une virgule à l'affectation, c'est que VBA a opéré la conversion avant (pour VBA le point est le séparateur décimal par défaut), car en tapant la valeur directement dans la cellule, elle n'est pas modifiée et c'est du texte sans changer le format de cellule.

Rechercher des sujets similaires à "lecture ecriture string"