Petit problème de type de variable

Psycolab

XLDnaute Nouveau
Bonsoir à tous,

J'ai une petite question bête concernant le type de variable que je dois utilisé. J'utilise un tableau déclaré de type variant car je rentre des données de types dates, des chiffres et des lettres dedans. Ensuite je demande à la macro d'écrire une valeur du tableau dans la case B6 par exemple mais au moment de l'écrire "intelligence artificiel" considère que c'est une date et modifié le type de variant à date.

Voici un exemple qui devrait éclaircir mes propos :

la donnée qui pose problème dans le fichier source est : 3-13

je rentre les infos du fichier source qui m'intéresse dans un tableau :
' x étant le nombre de ligne
ReDim Tablo(x, 8)
i = 0
For i = 0 To x - 1
Tablo(i, 0) = Wsource.Sheets(1).Range("A" & i + 2).Value
etc....
Next i

ensuite j'écris la donnée d’intérêt dans une ligne bien précise :

' Peut importe i pour l'exemple
Wcible.Sheets(1).Range("B6").Value = Tablo ( i, 0)

exel me donne le résultat suivant : 13- mars

J'ai déjà eu ce problème avec des dates ( il les transformait à l'anglaise et inversait le mois et le jour) et pour résoudre ce problème je déclarais une nouvelle variable de type date :
Dim DateNaissance as date
DateNaissance = tablo(i,2)
Wcible.Sheets(1).Range("C42").Value = DateNaissance

J'ai essayé cette solution en déclarant une variable pour 3-13 de type string selon le même principe que précédemment mais ça ne marche pas.

Avez vous des idées ?
Merci à ceux qui prendrons le temps de lire mon problème.

Cordialement,
Nicolas
 

Psycolab

XLDnaute Nouveau
Re : Petit problème de type de variable

Salut,

Bon j'ai testé ta proposition mais malheureusement ça n'a pas fonctionné. Ce seul petit truc fait bugger toute ma macro c'est vraiment très agaçant ! lol Si vous avez d'autre idée je suis preneur.

En tout cas merci Gareth ta solution m'a donné des idées pour d'autre truc.
 

Psycolab

XLDnaute Nouveau
Re : Petit problème de type de variable

Salut camarchepas,

J'ai essayé ton idée mais ça n'a pas marché non plus, c'est un vrai mystère !

J'ai réussi et voici comment si certain se retrouve face au même problème :

J'ai essayé de mettre la colonne du fichier source en type Texte, j y arrivais mais je retrouvais le même problème après traitement par le tableau.
Du coup je me suis attaqué au fichier cible voici comment :

Ces données sont incrémentées dans une boucle :
'Je met la cellule cible au format texte
Wsource.Sheets(2).Range("A" & n).NumberFormat = "@"

'je remplis la cellule cible avec la donnée
Wsource.Sheets(2).Range("A" & n).Value = Tablo(q, 8) 'N° cage

Donc à chaque boucle je lui prépare la cellule cible avec le bon format.

Merci à ceux qui m'ont aidé
Cordialement,
Nicolas
 

Discussions similaires

Statistiques des forums

Discussions
312 576
Messages
2 089 843
Membres
104 289
dernier inscrit
red123