MsFlexGrid et Indice hors limites '381'

Résolu
Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015 - 6 oct. 2012 à 00:53
Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015 - 7 oct. 2012 à 02:03
Salut à tous !

Indice hors limites '381'

Voilà, ce code :
Dim I As Integer
I = 0
If Not (Rs.BOF And Rs.EOF) Then
Rs.MoveFirst
Tableau.Rows = Rs.RecordCount + 1
I = 1
Do While Not Rs.EOF
Tableau.TextMatrix(I, 0) = Rs!NumId
Tableau.TextMatrix(I, 1) = Rs!Validite
I = I + 1
Rs.MoveNext
Loop
End If
m'affiche cette erreur... je ne comprends pas pourquoi :s

Avez-vous une idée svp ?

Merci

----------
OS : Windows 7 Pro 64 Bit
Platforme : VB6
A voir également:

10 réponses

LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
7 oct. 2012 à 01:59
Essaies ceci;

Dim I As Integer
On Erreur GoTo err_

With Tableau
If Not (Rs.BOF And Rs.EOF) Then
   Rs.MoveFirst
  .FixedRows =1
  .Rows =2
  .FixedCols =1
  .Cols =4  
   Do While Not Rs.EOF
     I=.Rows-1
    .TextMatrix(I, 0) = Rs!NumId
    .TextMatrix(I, 1) = Rs!Codes
    .TextMatrix(I, 2) = Rs!Validite
    .TextMatrix(I, 3) = Rs!CodeClient

    .Rows =.Rows+1
     Rs.MoveNext
   Loop
End If
End With
Exit Sub
err_:
MsgBox Err.Descriptio




[] Ce qui va sans dire. va mieux en le disant.
3
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
6 oct. 2012 à 01:46
Bonjour,

Sur quelle ligne, et quelles sont les valeurs de la ligne ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
0
Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015
6 oct. 2012 à 10:47
Ma table contient 10.000 lignes
La ligne d'erreur est :
Tableau.TextMatrix(I, 0) = Rs!NumId
Merci NHenry
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 oct. 2012 à 10:57
Bonjour,
Sur quelle ligne, et quelles sont les valeurs de la ligne ?

tu n'as pas répondu à la partie soulignée !
Pour connaître ces valeurs : rentre en mode debug.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015
7 oct. 2012 à 00:29
J'ai fais le débogage, il souligne la ligne que je t'ai donné, me met dessus :
Tableau.TextMatrix(I, 0) = 


Soit je n'ai pas compris le mode debug soit... je en sais pas le faire :s
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
7 oct. 2012 à 01:04
Bonsoir,

En fait, le but est de savoir quelle valeur de i provoque l' erreur.
Quand l' erreur survient et que la ligne est soulignée, en mettant
le pointeur de la souris sur la variable i, sa valeur est indiquée dans
une tooltiptext.

Autre solution, mettre en place une gestion d' erreur.
Dim I As Integer
I = 0
If Not (Rs.BOF And Rs.EOF) Then
Rs.MoveFirst
Tableau.Rows = Rs.RecordCount + 1

On erreur GoTo err_indice 
I = 1
Do While Not Rs.EOF
Tableau.TextMatrix(I, 0) = Rs!NumId
Tableau.TextMatrix(I, 1) = Rs!Validite
I = I + 1
Rs.MoveNext
Loop
End If

Exit Sub
err_indice:
MsgBox Err.Description & " / " & i 




[] Ce qui va sans dire. va mieux en le disant.
0
Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015
7 oct. 2012 à 01:18
C'est bizarre. Quand je fais ça, il me donne la première ligne de la table et sans le reste des données :
Dim I As Integer
I = 0
If Not (Rs.BOF And Rs.EOF) Then
Rs.MoveFirst
On Error Resume Next
'Tableau.Rows = Rs.RecordCount + 1
I = 1
Do While Not Rs.EOF

Tableau.TextMatrix(I, 0) = Rs!NumId
Tableau.TextMatrix(I, 1) = Rs!Codes
Tableau.TextMatrix(I, 2) = Rs!Validite
Tableau.TextMatrix(I, 3) = Rs!CodeClient

I = I + 1
Rs.MoveNext
Loop
End If

On Error Resume Next
'Tableau.Rows = Rs.RecordCount + 1

Si je retire le On Error Resume Next, là il me renvois le même message mais sur :
Tableau.TextMatrix(I, 3) = Rs!CodeClient
0
Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015
7 oct. 2012 à 01:29
C'est bien le texte du tootltiptext que j'avais envoyé plus haut :
Tableau.TextMatrix(I, 0) =

Et lorsque je viens sur le I,0 il affiche I=1
Tout les I sont égales à 1

Avec ton code, il me fait pareil... il m'envoie en mode debug directement en s'en foutant du message err_indice
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
7 oct. 2012 à 01:42
et donc il s'agit de l' indice de colonne.
T' as combien de colonnes dans ton tableau ?

D' après ton code, il doit en avoir 4.
tableau.FixedCols=1
tableau.Cols=4

Vérifies aussi pour la ligne fixe:
tableau.FixedRows=1


PS:Pour gerer l' erreur on n' utilise pas le On Erreur Resume Next.Mais une etiquette.
[] Ce qui va sans dire. va mieux en le disant.
0
Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015
7 oct. 2012 à 02:03
Hi hi merci ça fonctionne ^^

Impécable :p
0
Rejoignez-nous