vba tableau de type string mais les nombres de certaines colonnes sont copiés sans les décimales

Le
bpascal123
Bonjour,

J'ai un tableau de 2 dimensions lignes, colonnes déclaré comme string (=
j'ai essayé variant sans succès) dans un script vba.

Je copie des données de type texte et nombre venant d'une feuille de calc=
ul.

Par exemple, il y a 2 colonnes avec des nombres décimaux.

Sur la feuille de calcul, les nombres sont formatés pour une colonne (A) =
en nombre décimal au centième (2 nombres après la virgule) et pour l'=
autre colonne (B), c'est le résultat d'une formule avec une partie déci=
mal également.

Après lecture des deux colonnes dans le tableau, la colonne A dans le tab=
leau vba ne contient que des entiers (des nombres sans virgules et donc arr=
ondis) et les données de la colonne B sont identiques (nombre avec virgul=
e).

Comment faire pour copier les nombres de la colonne A sans conversion impli=
cite vers un nombre entier?

Pascal
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #26335195
Bonjour,
Pourquoi ne pas déclarer ton tableau entant que "Double" ?
Par ailleurs, sans le code qui remplit le tableau, il est difficile de
trouver l'erreur.
Cordialement.
Daniel


Bonjour,

J'ai un tableau de 2 dimensions lignes, colonnes déclaré comme string (j'ai
essayé variant sans succès) dans un script vba.

Je copie des données de type texte et nombre venant d'une feuille de calcul.

Par exemple, il y a 2 colonnes avec des nombres décimaux.

Sur la feuille de calcul, les nombres sont formatés pour une colonne (A) en
nombre décimal au centième (2 nombres après la virgule) et pour l'autre
colonne (B), c'est le résultat d'une formule avec une partie décimal
également.

Après lecture des deux colonnes dans le tableau, la colonne A dans le tableau
vba ne contient que des entiers (des nombres sans virgules et donc arrondis)
et les données de la colonne B sont identiques (nombre avec virgule).

Comment faire pour copier les nombres de la colonne A sans conversion
implicite vers un nombre entier?

Pascal
bpascal123
Le #26335197
il y a aussi du texte dans certaines colonnes et alors ça fait une erreur avec un type double, je crois que la pseudo déclaration du tableau est d im Tab(50_Lignes, 4_Colonnes) as string

le code sera en ligne dès que je retourne sur ce doc
MichD
Le #26335253
Bonjour,

Une manière rapide d'affecter à une variable dans Excel, tout un tableau de
données peu importe le type.
Cela convient à toutes les versions d'Excel.

'------------------------------------------
Sub test()
Dim T As Variant, A As Long
Dim B As Long, X As Variant

With Worksheets("Feuil1")
T = .Range("A1:G25")
End With

'Pour boucler sur les éléments du tableau
For A = 1 To UBound(T, 1)
For B = 1 To UBound(T, 2)
X = T(A, B)
Next
Next

'Et si tu veux retourner ce tableau dans une feuille de calcul
With Worksheets("Feuil2")
.Range("A1").Resize(UBound(T, 1), UBound(T, 2)) = T
End With
End Sub
'------------------------------------------
bpascal123
Le #26335366
Je vais essayer le script de MichD, les colonnes du tableau ne sont pas contigues mais je crois que vba permet de faire "l'union" de plusieurs ranges
Publicité
Poster une réponse
Anonyme