[VBA conservation format nombre]

Bonjour à tous,

J'ai récupéré des éléments d'une colonne avec des lignes de vba comme ci dessous. Cependant les données sont transformées de format nombre à format texte et m’empêche de conserver le format pourcentage.

Question :

Comment faire pour conserver le format nombre ou l'imposer lorsque je récupère les données.

Extrait du code :

'Récupération

tabl(nbLigne, 3) = Cells(i - SPVref, 4)

'on affiche le tableau construit

For i = 1 To nbLigne - 1

For j = 1 To 28

Cells(1 + i, j) = tabl(i, j)

Next j

Next i

En vous remerciant par avance pour votre aide

Bien cordialement

Bonjour loka, voilà une proposition. Attention il faudra dimensionner le tableau monFormat

Dim monFormat() as String 'ATTENTION IL FAUDRA LE REDIMENSIONNER
'Récupération
tabl(nbLigne, 3) = Cells(i - SPVref, 4)
monFormat(nbLigne, 3) =  Cells(i - SPVref, 4).NumberFormat

'on affiche le tableau construit
For i = 1 To nbLigne - 1
For j = 1 To 28
Cells(1 + i, j) = tabl(i, j)
Cells(1 + i, j).NumberFormat = monFormat(i, j)
Next j
Next i

Bonjour,

Tout d'abord merci beaucoup pour votre aide

j'ai testé en prenant le code ci-dessous mais cela ne fonctionne toujours pas. J'ai probablement fait une erreur bête. Qu'en pensez-vous?

Dim tabl() As String

ReDim tabl(1 To 1000, 1 To 28) As String

Dim monformat() As String

ReDim monformat(1 To 1000, 1 To 28) As String

'pour la totalité du tableau

For i = 3 To derniereLigne

'on récupère Taux 1

tabl(nbLigne, 11) = Cells(i - SPVref, 14)

monformat(nbLigne, 11) = Cells(i - SPVref, 14).NumberFormat

'on affiche le tableau construit

For i = 1 To nbLigne - 1

For j = 1 To 28

Cells(1 + i, j) = tabl(i, j)

Cells(1 + i, j).NumberFormat = monformat(i, j)

Next j

Next i

Bien cordialement

Le code fonctionne chez moi, donc sans fichier je ne pourrais pas t'aider d'avantage ^^

Bonjour,

j'ai réussi en changeant simplement les" ," dans mes nombres par des "." Cela me conserve directement mes pourcentages.

Merci beaucoup pour votre aide tout de même qui m'a permit d'apprendre le NumberFormat

C'est parfait alors =)

Rechercher des sujets similaires à "vba conservation format nombre"