Erreur d'execution '9' [Résolu]

Messages postés
14
Date d'inscription
lundi 9 avril 2007
Dernière intervention
6 décembre 2010
- 24 juil. 2010 à 21:06 - Dernière réponse :
Messages postés
14
Date d'inscription
lundi 9 avril 2007
Dernière intervention
6 décembre 2010
- 25 juil. 2010 à 22:04
salut tous le monde

bien voila j'ai copier un bout de code de Renfield que j'utilise
dans une apli perso ,merci a lui pour ce bout de code
jusque la tout va bien
lorsque fait tourner l'apli dans l'environnement vb tous se passe bien
mais une foie compiler lorsque je click sur le bouton un message d'erreur
apparais " erreur d'exécution '9' Indice en dehors de la page"
je ne pige pas trop vue que sous vb sa fonctionne
voici le code apparemment qui ne fonctionne pas

Private mxsPics() As String

Private Sub Command6_Click()

Static nIndex As Long
Set Picture1.Picture = LoadPicture(mxsPics(nIndex))
nIndex = nIndex + 1
If nIndex > UBound(mxsPics) Then
nIndex = 0
End If

End Sub

si quelqu'un de bien aimable peut m'aider
merci
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
14
Date d'inscription
lundi 9 avril 2007
Dernière intervention
6 décembre 2010
- 25 juil. 2010 à 22:04
3
Merci
salut
Bon je suis enfin retomber sur mes pattes
j'ai simplement utiliser la lecture du dossier pour
remplir une liste box
ca a le même effet est en plus ca fonctionne

merci pour votre aide

A++

Merci cs_tracto 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_tracto
Messages postés
14
Date d'inscription
lundi 9 avril 2007
Dernière intervention
6 décembre 2010
- 24 juil. 2010 à 22:20
0
Merci
re bonjour

en faite je me suis tromper en collent le bout de code désoler
le code qui me parait ne pas marcher est plutôt celui la

Dim x As Long

Dim sFileName As String
sFileName = Dir$(App.path & "\images\*.jpg")
Do While LenB(sFileName)
ReDim Preserve mxsPics(x)
mxsPics(x) = App.path & "\images" & sFileName
x = x + 1
sFileName = Dir$()
Loop

désoler
Commenter la réponse de cs_tracto
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
- 25 juil. 2010 à 01:28
0
Merci
Salut
Et sur quelle ligne apparait l'erreur ?

Méthode de debugage :
F9 sur une ligne de code
Le programme s'y arrêtera au prochain passage
Survole avec la souris tes variables pour visualiser leur contenu, ou va dans la fenêtre de debogage (Ctrl-G) et tape
? maVariable
pour qu'elle s'inscrive dans la fenêtre.
F8 pour avancer d'une ligne de code
F5 pour continuer normalement

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)
Commenter la réponse de cs_Jack
Messages postés
14
Date d'inscription
lundi 9 avril 2007
Dernière intervention
6 décembre 2010
- 25 juil. 2010 à 14:23
0
Merci
bonjour
merci pour le coup de main jack

j'ai un problème apparemment sur cette ligne dans la boucle
Do While

ici >> mxsPics(i) = App.path & "\images" & sFileName

lorsque je survole avec ma sourie cette ligne de code en mode débogage
je voie le message suivant:
indice en dehors de la plage
et un foie passer le le point d'arrêt tout est ok
apparemment le problème survient uniquement a chaque passage de la boucle
sur cette ligne
je n'y comprend plus rien et je ne sais pas comment résoudre se problème

merci de ton aide

A++
Commenter la réponse de cs_tracto
Messages postés
3238
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
14 mars 2018
- 25 juil. 2010 à 15:08
0
Merci
Salut
Avec le debugger regarde mxsPics(i) tu vas avoir
toute une liste de 0 à i
ou plutot la valeur de i comme mxspics est une dynamic array,mxsPics(i) est dépassé
Bonne prog
Commenter la réponse de cs_ShayW
Messages postés
14
Date d'inscription
lundi 9 avril 2007
Dernière intervention
6 décembre 2010
- 25 juil. 2010 à 15:41
0
Merci
salut
effectivement la valeur de mxsPics(i) est dépassé
mais comment je peut faire pour régler le problème
mecri de votre aide

A++
Commenter la réponse de cs_tracto
Messages postés
3238
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
14 mars 2018
- 25 juil. 2010 à 16:07
0
Merci
Salut
pour résoudre comme ça c'est pas facile
envoies le code
Commenter la réponse de cs_ShayW
Messages postés
14
Date d'inscription
lundi 9 avril 2007
Dernière intervention
6 décembre 2010
- 25 juil. 2010 à 16:30
0
Merci
Re ^^

ok voila a nouveau le code

pour remplir mon tableau

Dim x As Long

Dim sFileName As String
sFileName = Dir$(App.path & "\images\*.jpg")
Do While LenB(sFileName)
ReDim Preserve mxsPics(x)
mxsPics(x) = App.path & "\images" & sFileName
x = x + 1
sFileName = Dir$()
Loop

A++
Commenter la réponse de cs_tracto
Messages postés
3238
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
14 mars 2018
- 25 juil. 2010 à 17:13
0
Merci
Salut
Dim x As Long
Où c'est defini dans la sub?
Si oui alors x = x+ 1 ne sert à rien parce que
à la sortie de la sub x n'existe plus et à chaque entrée x et redefini donc x = 0
efface Dim x As Long et copies le au début du programme
et encore selon ton code
Dim x As Long
Dim sFileName As String
sFileName = Dir$(App.path & "\images\*.jpg")
Do While LenB(sFileName)
quelle est la valeur de x ?ReDim Preserve mxsPics(x)

esperons que ça marchera
Commenter la réponse de cs_ShayW
Messages postés
14
Date d'inscription
lundi 9 avril 2007
Dernière intervention
6 décembre 2010
- 25 juil. 2010 à 20:40
0
Merci
salut
même en enlevant le Dim x As Long
cela ne fonction pas
ne peut on pas utilisé une autre formule que
Do While LenB(sFileName)
pour remplir une listbox a la place du tableau ?
Pour mon projet cela fonctionnerez ici
si quelqu'un a un bout de code sur ca
merci en attendant

A++
Commenter la réponse de cs_tracto

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.