IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Message L'indice n'appartient pas à la sélection [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien de laboratoire
    Inscrit en
    Août 2013
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien de laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 172
    Points : 93
    Points
    93
    Par défaut Message L'indice n'appartient pas à la sélection
    Salut à tous

    dans une procédure événementielle j'ai ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Set SF = Forms("F_Planning").SF_Planning_PosteT_Sem2.Form
    Colonne = 4
     
    For Ligne = 1 To 20
       MsgBox "Ligne " & Ligne & " = " & IIf(Eclatage(Nz(SF.Controls("PosteL" & Ligne & "C" & Colonne), "0/0"), 0) = "1" Or Eclatage(Nz(SF.Controls("PosteL" & Ligne & "C" & Colonne), "0/0"), 0) = "1+" Or Eclatage(Nz(SF.Controls("PosteL" & Ligne & "C" & Colonne), "0/0"), 0) = "1*", 1, 0)
    Next
    mais lorsque j'arrive à la ligne 19 colonne 4 (champ vide) j'ai le message "L'indice n'appartient pas à la sélection" alors qu'il y a d'autres champ vide dans la même colonne qui ne déclenchent pas le message

    Le débogueur bloque sur la ligne 10 de la fonction Eclatage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Function Eclatage(strDonnees As String, bytPos As Byte)
     
    ' déclaration
    Dim Eclat() As String
     
    ' éclatage
    Eclat = Split(strDonnees, "/")
     
    ' récupération en fonction de la position
    Eclatage = Eclat(bytPos)
     
    End Function
    Voyez-vous l'erreur ???

    Merci de votre aide c'est assez urgent.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour

    Split se base sur le séparateur donc probablement qu'il manque un séparateur et que tu récupères moins d'éléments que tu t'y attendais.

    Une solution si c'est normal c'est d'utiliser un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For i = lbound(tableau) to ubound(tableau)
    Qui parcourt toutes les données quels que soient les indices min et max.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Suppression du message "l'indice n'appartient pas à la sélection "
    Par had4789 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 17/07/2014, 12h29
  2. Réponses: 2
    Dernier message: 22/05/2014, 14h09
  3. Réponses: 3
    Dernier message: 19/06/2012, 16h38
  4. Réponses: 13
    Dernier message: 27/04/2012, 10h57
  5. l'indice n'appartient pas à la sélection ??
    Par Bernard83140 dans le forum Access
    Réponses: 4
    Dernier message: 06/05/2006, 22h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo