Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : probleme avec excel commande [ Windows / Autre ] (beny100)

samedi 20 octobre 2007 à 18:42:25 | probleme avec excel commande

beny100

salut a tous j'ai des problemes avec mon code d'export vers access , quant je lance mon il s'arrete a l'emplacement ecrit en rouge et souligne et me donne ce message :


Index non valide. (Exception de HRESULT : 0x8002000B (DISP_E_BADINDEX))











Dim con AsNew OleDb.OleDbConnection

Dim da As OleDb.OleDbDataAdapter

Dim sql As String

Dim appxls As Microsoft.Office.Interop.Excel.Application

 

con.ConnectionString =

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Roaming_2002.mdb"

 

 

 

' valeur(colonne,ligne)

Dim i, lign1, lign2, lign3, lign4, lign5, lign6, lign7, lign8, lign9, lign10, lign11, repère As Integer

Dim valeur_1(1, 10000), valeur_2(2, 10000), valeur_3(3, 10000), valeur_4(4, 10000), valeur_5(5, 10000), valeur_6(6, 10000) As String

Dim valeur_7(7, 10000), valeur_8(8, 10000), valeur_9(9, 10000), valeur_10(10, 10000), valeur_11(11, 10000) As String

Dim n As Decimal

'ProgressBar1.Value = 0

'ProgressBar1.Maximum = 1650

'ProgressBar1.Minimum = 0

'ProgressBar1.Value = 0

'ProgressBar1.Step = 1

appxls =

New Microsoft.Office.Interop.Excel.Application

book = appxls.Workbooks.Open(excelfile)

repère = 1

lign1 = 2

valeur_1(1, lign1) = appxls.ActiveWorkbook.Worksheets(

"Données_Cartes_SIM" ).Range( "A" & lign1).Value            l'erreur est ici!!!!!!!!!

'Recuperation de la première colonne

Do Until valeur_1(1, lign1) = ""

valeur_1(1, lign1) = appxls.ActiveWorkbook.Worksheets(

"Données_Cartes_SIM" ).Range( "A" & lign1).Value

lign1 = lign1 + 1

valeur_1(1, lign1) = appxls.ActiveWorkbook.Worksheets(

"Données_Cartes_SIM" ).Range( "A" & lign1).Value

Loop

lign2 = 2

repère = lign1 - 1

ProgressBar1.Value = 0

ProgressBar1.Maximum = repère

ProgressBar1.Minimum = 0

ProgressBar1.Value = 0

ProgressBar1.Step = 1

'Recuperation de la deuxième colonne

Do Until repère = lign2

valeur_2(2, lign2) = appxls.ActiveWorkbook.Worksheets(

"Données_Cartes_SIM" ).Range( "B" & lign2).Value

valeur_3(3, lign2) = appxls.ActiveWorkbook.Worksheets(

"Données_Cartes_SIM" ).Range( "C" & lign2).Value

valeur_4(4, lign2) = appxls.ActiveWorkbook.Worksheets(

"Données_Cartes_SIM" ).Range( "D" & lign2).Value

valeur_5(5, lign2) = appxls.ActiveWorkbook.Worksheets(

"Données_Cartes_SIM" ).Range( "E" & lign2).Value

valeur_6(6, lign2) = appxls.ActiveWorkbook.Worksheets(

"Données_Cartes_SIM" ).Range( "F" & lign2).Value

valeur_7(7, lign2) = appxls.ActiveWorkbook.Worksheets(

"Données_Cartes_SIM" ).Range( "G" & lign2).Value

valeur_8(8, lign2) = appxls.ActiveWorkbook.Worksheets(

"Données_Cartes_SIM" ).Range( "H" & lign2).Value

valeur_9(9, lign2) = appxls.ActiveWorkbook.Worksheets(

"Données_Cartes_SIM" ).Range( "I" & lign2).Value

valeur_10(10, lign2) = appxls.ActiveWorkbook.Worksheets(

"Données_Cartes_SIM" ).Range( "j" & lign2).Value

valeur_11(11, lign2) = appxls.ActiveWorkbook.Worksheets(

"Données_Cartes_SIM" ).Range( "K" & lign2).Value

If valeur_8(8, lign2) = "" Then

valeur_8(8, lign2) =

"0"

End If

If valeur_9(9, lign2) = "" Then

valeur_9(9, lign2) =

"0"

End If



samedi 20 octobre 2007 à 19:18:46 | Re : probleme avec excel commande

jack

Administrateur CodeS-SourceS
Salut
Je n'ai pas testé si le phénomène est le même en .Net que tu utilises, mais en VB6, la déclaration de variable suivante ne veut pas dire que chaque variable sera de type Integer
   Dimi, lign1, lign2, lign3, lign4, lign5, lign6, lign7, lign8, lign9, lign10, lign11, repère AsInteger
Seule "repère" sera de ce type, les précédente, non renseignées, seront du type Variant.
Idem pour tes tableaux, il faut répéter "As Integer" ou "As String" à chaque variable.
Est-ce que cela résoudra ton erreur, je ne le sais pas, mais .Net est très pointilleux avec les définitions.

D'autre part, méfie-toi du mélange des type de variables différentes entre elles.
Pense à convertir ton chiffre proprement en chaine avant de le concaténer.
   "A" & lign1.ToString

ATTENTION : Le VBA réagit comme du VB6 et le comportement de cette opération est différente de celle de .Net (catégorie de ta question) :
Si, en VBA, tu fais ceci, tu obtiendras cela :
   "A" & lign1         "A 2"    avec un espace entre le A et le 2 (pour le signe)
Utilise :
   "A" & CStr(lign1)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)



Cette discussion est classé dans : valeur, worksheets, appxls, activeworkbook, lign2


Répondre à ce message

Sujets en rapport avec ce message

Ecrire une valeur d'un fichier à un autre [ par Dusse95 ] Salut,mon problème est certainement très simple mais je ne m'en sors pas. En fait j'utilise plusieurs fichiers excel où j'entre presque les mêmes info Classement: macro automatique [ par ikawn ] Bonjour à tous,Je vous explique mon problème:Je cherche à effectuer un classement de football automatique, cependant après plusieurs recherches, je ne enrgistrer un fichier excel sous format 97-2003 [ par dsigmoun ] Bonjour à tous,J'ai un problème pour enregistrer un classeur Excel au format 2003.J'ai les éléments suivants : appxls = New Microsoft.Office.Interop.E Importer et traiter des données d'un fichier CSV dans VB [ par Dan2468 ] Bonjour, J'ai un projet en VBA et j'aimerais le développer en VB (VB 2008 express). Comment stocker une valeur hexa dans une variable [ par rol64 ] Salut,Langage VB6Mon problème est le suivant:Je voudrais stocker des valeurs hexa correspondant aux caractères numériques (0,1,2....9) dans un tableau vba textbox copie valeur dans cellule avec ligne variable [ par dusmy ] Bonjour à tous,Dans un UserForm, j'utilise un TextBox et je voudrais récupérer la valeur que l'on saisie dans le TextBox afin de le copier dans une ce récupéré une valeur dans un Checkbox [ par petchy ] bonjourdans ma base ACCESS,j'ai une table avec pas mal de champsdont un champ (film_vu) ou j'ai mis comme type de données "oui/non" dans mon programme Obtenir et modifier la valeur d'un scrollbar dans un listview [ par deltaxxx ] Bonjour à tous, comme le dit le titre, je cherche à connaitre ainsi qu'à modifier la valeur d'un scrollbar qui se trouve dans un listview en vb6. Merc valeur dans cellule sans effacer macro [ par jacv0444 ] Bonjour à tous, Je travaille avec excel et les macros mais,comment puis-je introduire manuellement une valeur dans une cellule sans que la macro dans Probleme avec bloc with... [ par Jesusdenazarrete ] Soit le texte de code suivant (Excel VBA) : Option Explicit Dim semaine As String Dim rngtrouve As range Dim colonne As Integer Dim i As String Su


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.