[Résolu] convertir données sous Excel

Posté par Asthroth le 10/12/2007 12:28:02
Bonjour,

je suis de nouveau bloqué par excel, j'explique.

j'envoie des données a Excel depuis mon appli sous la forme:

donnée1+tab+donnée2+tab+donnée3...

resultat, et surprenant,mes données ne sont pas dispachées, c'est a dire que je m'attendais a avoir une données par colonne sous excel (comme cela se passe si l'on procède par copier-coller), mais tout est dans la premiere colonne d'excel.

petite precision, je ne peu pas utiliser le copier coller, pour des raisons technique.

je n'ai pas trouvé d'option qui me permette de forcer Excel a me mettre une données par colonne, si elle existe et modifiable par automation, je uis preneur.

j'ai donc généré un macro pour convertir un csv et xls, classique, ce qui me donne:

Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
        Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
        ), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _
        (20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), _
        Array(27, 1), Array(28, 1)), TrailingMinusNumbers:=True
    Range("D13").Select


Ce qui me pose probleme, c'est le Array(Array(..., cela semble etre un tableau de tableau de variant, j'ai donc fait:

tab_int est un tableau de 28 par 2 Variant

POUR i = 1 A 28
   tab_int[i,1] = i
   tab_int[i,2] = 1
FIN
    
:m_xExcel>>Selection>>TextToColumns(:m_xExcel>>Range("A1"), ::xlDelimited, ::xlDoubleQuote, False, True, False, False, False, False,tab_int , True)


j'ai bien déclaré les constantes excel, pas de soucis.

Ca na plante pas, donc la syntaxe semble bonne, mais rien ne se passe, me voila bien ennuyé.

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=18&topic_id=5575&post_id=22857