Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2785 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Erreur d'exécution 9, l'indice n'appartient pas à la selection

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur d'exécution 9, l'indice n'appartient pas à la selection

n°2296854
king520
Rigamortus
Posté le 25-02-2017 à 21:25:37  profilanswer
 

Bonjour,
 
Je suis entrain d’écrire une fonction qui me permet d'initialiser des vecteurs en interagissant avec l'utilisateur en lui demandant:
 
nom As String 'nom du vecteur
NbrElt As Long 'nombre de composantes
Comp() As Double 'composantes des vecteurs
 
La fonction est la suivante:
 
Function udtInitVect() As udtVecteur
 
udtInitVect.nom = Application.InputBox("Donner le nom du vecteur", Type:=2)
 
udtInitVect.NbrElt = Application.InputBox("Donner le nombre de composantes", Type:=1)
 
ReDim Comp(udtInitVect.NbrElt)
 
Dim i As Long
 
Do
 
udtInitVect.Comp(i) = Application.InputBox("Entrez la valeur de la composante " + CStr(i) + " de " + udtInitVect.nom, Type:=1)
 
Loop While i <= udtInitVect.NbrElt
 
 
End Function
 
Mon problème est qu'au moment d'entrer la valeur des composantes, il y a affiché:
"Erreur d’exécution 9, l'indice n'appartient pas à la sélection"
 
Quelqu'un aurait il une idée d’où se situe le problème?
 
Merci d'avance.

mood
Publicité
Posté le 25-02-2017 à 21:25:37  profilanswer
 

n°2297255
patrice337​40
Avec la réponse, c'est facile.
Posté le 06-03-2017 à 01:45:33  profilanswer
 

Bonjour,
 
Peut-être comme ceci :

Code :
  1. Option Explicit
  2. Type udtVecteur
  3.   nom As String 'nom du vecteur
  4.   NbrElt As Long 'nombre de composantes
  5.   Comp() As Double 'composantes des vecteurs
  6. End Type
  7. Function udtInitVect() As udtVecteur
  8. Dim r As Variant
  9. Dim i As Long
  10.   r = Application.InputBox("Donner le nom du vecteur", Type:=2)
  11.   If r <> False Then udtInitVect.nom = r Else Exit Function
  12.   r = Application.InputBox("Donner le nombre de composantes", Type:=1)
  13.   If r <> False Then
  14.     udtInitVect.NbrElt = r
  15.   Else
  16.     udtInitVect.nom = ""
  17.     Exit Function
  18.   End If
  19.   ReDim udtInitVect.Comp(1 To udtInitVect.NbrElt)
  20.   Do
  21.     r = Application.InputBox("Entrez la valeur de la composante " + CStr(i + 1) + " de " + udtInitVect.nom, Type:=1)
  22.     If r <> False Then
  23.       i = i + 1
  24.       udtInitVect.Comp(i) = r
  25.     Else
  26.       udtInitVect.nom = ""
  27.       udtInitVect.NbrElt = 0
  28.       Erase udtInitVect.Comp
  29.     End If
  30.   Loop While i < udtInitVect.NbrElt
  31. End Function


---------------
Cordialement, Patrice
n°2297434
rat de com​bat
attention rongeur méchant!
Posté le 08-03-2017 à 23:03:41  profilanswer
 

(code initial)
Faudrait pas initialiser i quelque part avant la boucle?


Message édité par rat de combat le 08-03-2017 à 23:03:54

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Erreur d'exécution 9, l'indice n'appartient pas à la selection

 

Sujets relatifs
Macro VBA ListBox : erreur si une seule entréePage personnalisée pour erreur 500
execution du code c sous linuxErreur java avec TextureLoader.getTexture OpenGl
Dupral erreur internal server error 500 après installation?Erreur XAML - InvalidOperationException???
Sélection des cellules via une boîte de dialogueProblème ordre d'exécution - Processing
Execution Commande Dos en VBSErreur d'execution '9' : L'indice n'appartient pas à la sélection
Plus de sujets relatifs à : Erreur d'exécution 9, l'indice n'appartient pas à la selection


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR