|
Trouver une ressource
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)
Informations & options pour cette discussion
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.Applicationbook = 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).Valuelign1 = 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 = lign2valeur_2(2, lign2) = appxls.ActiveWorkbook.Worksheets(
"Données_Cartes_SIM"
).Range(
"B"
& lign2).Valuevaleur_3(3, lign2) = appxls.ActiveWorkbook.Worksheets(
"Données_Cartes_SIM"
).Range(
"C"
& lign2).Valuevaleur_4(4, lign2) = appxls.ActiveWorkbook.Worksheets(
"Données_Cartes_SIM"
).Range(
"D"
& lign2).Valuevaleur_5(5, lign2) = appxls.ActiveWorkbook.Worksheets(
"Données_Cartes_SIM"
).Range(
"E"
& lign2).Valuevaleur_6(6, lign2) = appxls.ActiveWorkbook.Worksheets(
"Données_Cartes_SIM"
).Range(
"F"
& lign2).Valuevaleur_7(7, lign2) = appxls.ActiveWorkbook.Worksheets(
"Données_Cartes_SIM"
).Range(
"G"
& lign2).Valuevaleur_8(8, lign2) = appxls.ActiveWorkbook.Worksheets(
"Données_Cartes_SIM"
).Range(
"H"
& lign2).Valuevaleur_9(9, lign2) = appxls.ActiveWorkbook.Worksheets(
"Données_Cartes_SIM"
).Range(
"I"
& lign2).Valuevaleur_10(10, lign2) = appxls.ActiveWorkbook.Worksheets(
"Données_Cartes_SIM"
).Range(
"j"
& lign2).Valuevaleur_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
|
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
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|