begin process at 2012 02 16 10:29:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Windows

 > 

Autre

 > 

probleme avec excel commande


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme avec excel commande

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ée 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 tri decroissant des données [ par dianbobo ] bonjour tout le monde je voudrai faire un tri décroissant puis retourner l'avant derniere valeur plus petite du tableau dans une cellule. les 100 dern Problème avec Excel [ par matttop ] Bonjour mon problème est le suivant J'ai un classeur excel avec avec des cellules préremplies et d'autre vierges car en attente d'une saisie. Je veux [Déplacé VB6 --> VBA] SOS - Dépassement de capacité [ par karapass2 ] Bonjour, J'utilise des macro sur excel que je n'ai pas et je suis vraimment novice en VBA. 'Remplacer les numéros abrégés de la colonne Num J de l compatibilité excel 2007/2003 VBA [ par scampy ] Bonjour, J'ai fait une petite macro VBA sous excel 2007 depuis mon PC qui permet de trier automatiquement une colonne et je voudrais pouvoir l'ouvri Faire tourner une image selon un axe calculé [ par Attila54 ] Bonsoir, Comme un bon dessin vaut mieux qu'une mauvaise explication ....... [IMG]http://img17.imageshack.us/img17/1843/sanstitreijb.jpg[/IMG] voila Dependencyproperty PropertyChangedCallback [ par ricky84 ] Bonsoir. Encore une galère avec VB Net et WPF ! Normal, y'a rien de simple avec ! Je crée un usercontrol qui a un Dependencyproperty "Valeur" : [code [VBA]recherche d'une valeur "X" dans une matrice [ par sd69 ] Bonjour, Je cherche à faire en VBA une recherche de la valeur "X" dans une matrice. Ex : étape 1 : pour une ligne donnée, je souhaite chercher l'en


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,014 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales