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 :

Erreur : L'indice n'appartient pas à la sélection [AC-2007]


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Points : 8
    Points
    8
    Par défaut Erreur : L'indice n'appartient pas à la sélection
    Bonjours à tous,

    Je poste aujourd'hui car je me retrouve devant l'enchainement d'une erreur récurente :

    Erreur : L'indice n'appartient pas à la sélection.

    Elle s'affiche pour le moment dans 2 cas :

    Quand je souhaite fractionner ma base de donnée.
    Quand je souhaite importer un fichier exel à la suite d'une table de ma base de donnée.

    J'ai pu lire à droit ou à gauche que cela était lié au code VBA, d'ou le post dans cette partie, seulement du code VBA je n'en ai que très peu, juste des listes déroulantes qui se mettent à jour en cascade suivant la sélection de la dernière (type ListeMachun.RowSource et ensuite une MAJ).

    Je suis à 2 doigts de recommencer complètement ma BDD,donc si jamais vous avez une quelconque solution, je suis à votre écoute !

  2. #2
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Bonjour Nayko,
    Imaginons que tu as une liste. Le premier élément de cette liste est accessible par l'utilisation de la syntaxe liste(0). Si le nombre des éléments contenus dans la liste est n alors pour accéder au dernier élément, il suffit d'écrire liste(n-1). Tu me suis? Ainsi si tu as 4 éléments dans la liste et si tu fais liste(4) ou liste(5), ceci devrait en principe générer une erreur du même genre car l'indice indiqué ne se trouve pas parmi la liste des indices, à savoir 0,1,2,et 3.
    Je ne sais pas si je l'ai bien expliqué mais je te souhaite quand même un bon courage.

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Heu.... :'(

    Je croi un tout petit peu saisir de quoi tu veux parler... Enfin pas sur !

    Pour mieu comprendre,voici mon très simplissime code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
     
    Private Sub ListeClient_DblClick(Cancel As Integer)
     
    ListeContrat.RowSource = " SELECT Contrat.[N°Contrat Locabureau Unique], Client.[N°Client Unique]" & _
                             " FROM Contrat INNER JOIN (Client INNER JOIN [Détail Contrat] ON Client.[N°Client Unique] = [Détail Contrat].[N°Client Unique]) ON Contrat.[N°Contrat Locabureau Unique] = [Détail Contrat].[N°Contrat Locabureau Unique]" & _
                             " GROUP BY Client.[N°Client Unique], Contrat.[N°Contrat Locabureau Unique]" & _
                             " HAVING (((Client.[N°Client Unique])=""" & LIsteClient & """));"
     
     
    ZoneNomduSignataire.RowSource = " SELECT Client.[Nom du Signataire], Client.[N°Client Unique] " & _
                                    " FROM Client " & _
                                    " WHERE (((Client.[N°Client Unique])=""" & LIsteClient & """)); "
     
    ZoneAdresse.RowSource = " SELECT Client.Adresse, Client.[N°Client Unique] " & _
                            " FROM Client " & _
                            " WHERE (((Client.[N°Client Unique])=""" & LIsteClient & """)); "
     
    ZoneCodePostal.RowSource = " SELECT Client.[Code Postal], Client.[N°Client Unique] " & _
                               " FROM Client " & _
                               " WHERE (((Client.[N°Client Unique])=""" & LIsteClient & """)); "
     
    ZoneVille.RowSource = " SELECT Client.Ville, Client.[N°Client Unique] " & _
                          " FROM Client " & _
                          " WHERE (((Client.[N°Client Unique])=""" & LIsteClient & """)); "
     
    ListeDetail.RowSource = " SELECT [Détail Contrat].[N°Série Unique], [Détail Contrat].[Référence Produit], [Détail Contrat].Désignation, [Détail Contrat].Quantité, [Détail Contrat].N°BL, [Détail Contrat].Total_a_Financer_HT, [Détail Contrat].[Date de Livraison], [Détail Contrat].[Adresse de livraison]" & _
                            " FROM Client INNER JOIN [Détail Contrat] ON Client.[N°Client Unique] = [Détail Contrat].[N°Client Unique]" & _
                            " WHERE (((Client.[N°Client Unique])=""" & LIsteClient & """)); "
     
    ListeContrat.Requery
    ZoneNomduSignataire.Requery
    ZoneAdresse.Requery
    ZoneCodePostal.Requery
    ZoneVille.Requery
    ListeDetail.Requery
     
    End Sub
     
     
    Private Sub ListeContrat_DblClick(Cancel As Integer)
     
    ZoneDatedeDebut.RowSource = " SELECT Contrat.Date_de_Debut, Contrat.[N°Contrat Locabureau Unique] " & _
                                " FROM Contrat " & _
                                " WHERE (((Contrat.[N°Contrat Locabureau Unique])=""" & ListeContrat & """)); "
     
     
    ZoneDatedeFin.RowSource = " SELECT Contrat.Date_de_Fin, Contrat.[N°Contrat Locabureau Unique] " & _
                              " FROM Contrat " & _
                              " WHERE (((Contrat.[N°Contrat Locabureau Unique])=""" & ListeContrat & """)); "
     
     
    ZoneDurée.RowSource = " SELECT Contrat.[Durée (en mois)], Contrat.[N°Contrat Locabureau Unique] " & _
                          " FROM Contrat " & _
                          " WHERE (((Contrat.[N°Contrat Locabureau Unique])=""" & ListeContrat & """)); "
     
     
    ZoneTaux.RowSource = " SELECT Contrat.[Taux de Financement], Contrat.[N°Contrat Locabureau Unique] " & _
                         " FROM Contrat " & _
                         " WHERE (((Contrat.[N°Contrat Locabureau Unique])=""" & ListeContrat & """)); "
     
     
    ZonePeriodeLoyer.RowSource = " SELECT Contrat.[Période du Loyer], Contrat.[N°Contrat Locabureau Unique] " & _
                                 " FROM Contrat " & _
                                 " WHERE (((Contrat.[N°Contrat Locabureau Unique])=""" & ListeContrat & """)); "
     
     
    ZoneDernièreFacturation.RowSource = " SELECT Contrat.[Date de Dernière Facturation], Contrat.[N°Contrat Locabureau Unique] " & _
                                        " FROM Contrat " & _
                                        " WHERE (((Contrat.[N°Contrat Locabureau Unique])=""" & ListeContrat & """)); "
     
    ZoneSignature.RowSource = " SELECT Contrat.[Date de Signature], Contrat.[N°Contrat Locabureau Unique] " & _
                              " FROM Contrat " & _
                              " WHERE (((Contrat.[N°Contrat Locabureau Unique])=""" & ListeContrat & """)); "
     
     
    ZoneTerme.RowSource = " SELECT Contrat.Terme, Contrat.[N°Contrat Locabureau Unique] " & _
                          " FROM Contrat " & _
                          " WHERE (((Contrat.[N°Contrat Locabureau Unique])=""" & ListeContrat & """)); "
     
     
    ZonePayement.RowSource = " SELECT Contrat.[Mode de Payement], Contrat.[N°Contrat Locabureau Unique] " & _
                             " FROM Contrat " & _
                             " WHERE (((Contrat.[N°Contrat Locabureau Unique])=""" & ListeContrat & """)); "
     
     
    ZoneCommentaire.RowSource = " SELECT Contrat.[Commentaire], Contrat.[N°Contrat Locabureau Unique] " & _
                                " FROM Contrat " & _
                                " WHERE (((Contrat.[N°Contrat Locabureau Unique])=""" & ListeContrat & """)); "
     
     
    ListeDetail.RowSource = " SELECT [Détail Contrat].[N°Série Unique], [Détail Contrat].[Référence Produit], [Détail Contrat].Désignation, [Détail Contrat].Quantité, [Détail Contrat].N°BL, [Détail Contrat].Total_a_Financer_HT, [Détail Contrat].[Date de Livraison], [Détail Contrat].[Adresse de livraison], Contrat.[N°Contrat Locabureau Unique]" & _
                            " FROM Contrat INNER JOIN [Détail Contrat] ON Contrat.[N°Contrat Locabureau Unique] = [Détail Contrat].[N°Contrat Locabureau Unique]" & _
                            " WHERE (((Contrat.[N°Contrat Locabureau Unique])=""" & ListeContrat & """));"
     
     
     
    ZoneDatedeDebut.Requery
    ZoneDatedeFin.Requery
    ZoneDurée.Requery
    ZoneTaux.Requery
    ZonePeriodeLoyer.Requery
    ZoneDernièreFacturation.Requery
    ZoneSignature.Requery
    ZoneTerme.Requery
    ZonePayement.Requery
    ZoneCommentaire.Requery
    ListeDetail.Requery
    End Sub
    Les listes n'affichent que ce qui m'interesse, donc certaines valeurs sont omisent (je ne spécifie que l'ordre d'affichage, je souhaite commencer à la colonne 1 et non pas à la colonne 0 qui contient la clef primaire dont je me moque par exemple)

  4. #4
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Re,
    Peux-tu indiquer exactement l'endroit où l'erreur apparait dans cette jungle de code?

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Nayko Voir le message

    Elle s'affiche pour le moment dans 2 cas :

    Quand je souhaite fractionner ma base de donnée.
    Quand je souhaite importer un fichier exel à la suite d'une table de ma base de donnée.
    Elle ne s'affiche pas lors de l'execution du code.

    J'ai pu lire que cette erreur avais pour source du code VBA, mais dans mon cas elle n'intervien jamais à l'éxecution de ce code. Je me pausais donc la question "Qu'est ce qui cloche ?"

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Février 2014
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Salut à tous,

    Je viens de perdre une demie heure sur ce problème d'"indice n'appartenant pas à la sélection". J'ai trouvé pas loin d'une demie douzaine de solutions par-ci par-là mais aucune ne m'a aidé. Et au final le problème était vraiment bête... il m'a suffit de supprimer la première colonne sur Excel qui était une clé primaire calculée automatiquement sous Access.

    Bonne journée,

    Cdt,

    Maxime.

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

Discussions similaires

  1. [XL-2003] Erreur : "L'indice n'appartient pas à la sélection"
    Par Vincent32 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/05/2012, 10h45
  2. [XL-2003] Erreur "L'indice n'appartient pas à la sélection"
    Par Nemo33 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/08/2011, 10h35
  3. [XL-2003] Erreur 9 indice n'appartient pas à la sélection
    Par tioch dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/07/2011, 16h39
  4. Erreur: l'indice n'appartient pas à la sélection!
    Par argaz01 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 29/06/2010, 08h23
  5. Erreur 9 indice n'appartient pas à la sélection
    Par alpilon dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2009, 19h14

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