Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2851 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA : Transférer une matrice dans un tableur Excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA : Transférer une matrice dans un tableur Excel

n°2134206
Dispix
Posté le 02-04-2012 à 09:13:31  profilanswer
 

Bonjour à tous,

 

Je travail sur un petit projet qui a pour but de récupérer des information dans Autocad (fameux outil de DAO) et de les transférer dans un tableur Excel.

 

Pour se faire, j'ai déclarer un matrice sous cette forme :

 

Dim matrix(100,100) As Variant

 

Puis je remplis cette matrice avec des Strings et des Integer via une commande qui récupère des informations dans Autocad. Jusque là tout marche à priori sans soucis, par contre quand j'essaye de copier les valeurs de cette matrice dans Excel, via la commande :

 

wsExcel1.Cells(i,j).value=matrix(i,j)

 

J'ai ici une erreur 1004 : Erreur définie par l'application ou par l'objet

 

Donc ma question est : comment transférer les valeurs de cette matrice dans Excel ?

 

Le code complet est disponible ici : http://www.pastebay.net/314370

 

L'erreur se trouve ligne 87

  

Merci d'avance et bonne journée.


Message édité par Dispix le 02-04-2012 à 09:36:58
mood
Publicité
Posté le 02-04-2012 à 09:13:31  profilanswer
 

n°2134209
vave
Nice to meet me
Posté le 02-04-2012 à 09:33:38  profilanswer
 

Bonjour,
 
Attention, tu as "Dim matrix" et après "=matrice".
 
Sinon, tu peux essayer :

Code :
  1. wsExcel1.Range("A1:CV100" ) = matrix


(pas testé)


---------------
Bel ours Vave, je me dois de l’admettre. -Skyl"win"-  Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1
n°2134211
Dispix
Posté le 02-04-2012 à 09:36:29  profilanswer
 

vave a écrit :

Bonjour,

 

Attention, tu as "Dim matrix" et après "=matrice".

 

Sinon, tu peux essayer :

Code :
  1. wsExcel1.Range("A1:CV100" ) = matrix


(pas testé)

 

Pardon, oui effectivement c'est juste une erreur de "recopiage", je corrige ça et j'essaye ta technique.

 

Edit : non ça ne marche pas hélas :( Toujours une erreur 1004 mais cette fois le texte est : "La méthode 'Range' de l'object '_Worksheet' a échoué"


Message édité par Dispix le 02-04-2012 à 09:38:55
n°2134222
Dispix
Posté le 02-04-2012 à 11:58:07  profilanswer
 

Bon, je reviens vers vous au cas où ça peut servir à quelqu'un, car j'ai trouvé l'erreur qui faisait planter mon programme :
 
Dans les lignes :
 

Code :
  1. For i = 0 To 99
  2.     For j = 0 To 99
  3.         wsExcel1.Cells(i, j).Text = matrix(i, j)
  4.     Next
  5. Next


 
L'erreur viens du fait qu'on cherche à faire appel à la case (0,0) de Excel, qui n'existe pas (on commence à (1,1)).
 
Erreur à la con en somme ^^'


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA : Transférer une matrice dans un tableur Excel

 

Sujets relatifs
VB ExcelFormulaire en VBA dans feuille Excel
[VBA] Callback / TimeoutExcel 2010 : activation macro
Code vba exportation requête acces vers ExcelFête d'ami - VBA dans Excel 2007
extraction sous matricebesoin d'une petite ligne VBA pour Access
Plus de sujets relatifs à : VBA : Transférer une matrice dans un tableur Excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR