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

Macros et VBA Excel Discussion :

Erreur d'exécution 9 . L'indice n'appartient pas à la sélection


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Février 2018
    Messages : 3
    Par défaut Erreur d'exécution 9 . L'indice n'appartient pas à la sélection
    Bonjour ,
    Je suis un peu agacé par un petit passage dans mon code VBA , qui devrait me permettre à partir d'une commande dans un userform à 3 onglets , d'activer une feuille d'un classeur tout en se positionnant sur une cellule indiquée .
    J'ai écrit la procédure ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub CmdVoirsource1_Click()
     
    Sheets("BASE DE DONNEES ").Activate
    Range("A1").Select
     
    End Sub
    CmdVoirsource1 étant le nom de la commande
    BASE DE DONNEES étant le nom de la feuille

    Je tiens à préciser que sur chacun des 3 onglets ( pages ) j'ai un bouton qui doit me permettre d'activer la feuille " BASE DE DONNEES " , alors j'ai fait le même code pour chaque page , en changeant juste le nom de la commande à chaque fois .

    Mais je suis très embêté parce que ça ne fonctionne pas . Je reçois le message " Erreur d'exécution 9 . L'indice n'appartient pas à la sélection " .

    Quelqu'un pour m'aider ?

    Merci d'avance .
    Images attachées Images attachées  

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Enlève l'espace à la fin de "BASE DE DONNEES ".

  3. #3
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Février 2018
    Messages : 3
    Par défaut
    Je viens de le faire , mais je reçois toujours le message " Erreur d'exécution 9 . L'indice n'appartient pas à la sélection " .

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Si VBA signale toujours la même ligne, c'est soit que le nom n'est pas bon, soit que le classeur actif n'est pas celui de cette feuille.

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    1) J'ignore personnellement que peut être le sens de :
    qui devrait me permettre à partir d'une commande dans un userform à 3 onglets
    2) la moindre des choses serait de dire quelle ligne est dénoncée
    3) il semble que soit évoqué un objet inexistant
    4) même si l'objet existait, on sombrerait alors dans une autre erreur (1004) ***** si la feuille active au départ n'est pas celle contenant la cellule A1 concernée. Et serait alors dénoncée la ligne disant :
    Range("A1").Select
    Difficile d'en dire pour l'instant plus, sans les précisions nécessaires.

    ***** Excel serait incapable de savoir quelle est la feuille correspondant à cette plage/cellule
    On évite ce genre de "piège à poules handicapées" en travaillant directement sur les objets Excel plutôt qu'à coups de Select, Activate, etc ...

    EDIT : je sais cette occasion pour pointer du doigt les failles de l'enregistreur de macro :
    Démo :
    dans un classeur neuf : se placer sur la feuille Feuil1, lancer l'enrtegistreur de macro, sélectionner la feuille Feuil2 puis la cellule B1 -->> arrêter l'enregistreur.
    Voici le code obtenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Macro1()
    '
    ' Macro1 Macro
    '
     
    '
        Sheets("Feuil2").Activate
        Range("B1").Select
    End Sub
    revenir sur la feuille Feuil1 et lancer la macro -->> parfait -->> on "atterrit" bien sur la cellule B1 de Feuil2

    Ah !
    Plaçons maintenant sur la feuil1 un bouton de commande Commandbutton1 et le même code --->>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub CommandButton1_Click()
     
        Sheets("Feuil2").Activate
        Range("B1").Select
     
    End Sub
    Cliquons maintenant sur ce bouton de commande --->> erreur 1004

    Voici le code qui, nonobstant cette méthode que je réprouve de activate, select, etc... fonctionnerait, lui, sans faille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub CommandButton1_Click()
      With Sheets("Feuil2")
        .Activate
        .Range("B1").Select
      End With
    End Sub
    Je dis bien "que je réprouve"...

  6. #6
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Février 2018
    Messages : 3
    Par défaut
    Bonjour ,
    La ligne dénoncée est " Sheets("BASE DE DONNEES").Activate " .
    Suis débutant alors je vous joins mon fichier pour m'aider si votre temps vous le permet.
    Merci d'avance .
    Fichiers attachés Fichiers attachés

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Je n'ouvre et n'ouvrirai JAMAIS un classeur tiers !
    Si tu as cette erreur, la raison t'en a été indiquée : une différence (probablement un espace) entre le nom réel de ta feuille et celui utilisé dans ton code !
    Et/mais après correction, tu risques d'en avoir une seconde, d'erreur ... pour encore une autre raison (relis mon message précédent).

  8. #8
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par ALAIN-STEPHANE Voir le message
    je vous joins mon fichier
    Comme Unparia et beaucoup d'autres participants à ce forum, je n'ouvre pas les pièces jointes.
    Mais j'ai indiqué dans mon message précédent quelles sont les causes probables du problème : il n'y a pas d'onglet nommé "BASE DE DONNEES" dans le classeur actif au moment où cette macro est lancée.
    Donc soit il y a une erreur dans le nom de l'onglet, soit le classeur actif au moment du lancement de la macro n'est pas celui contenant cet onglet.

  9. #9
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour, bonjour !

    Citation Envoyé par ALAIN-STEPHANE Voir le message
    activer une feuille d'un classeur tout en se positionnant sur une cellule indiquée
         Voir l'aide VBA de la méthode   Application.Goto   …

    Et ne pas oublier l'Enregistreur de macro, pratique pour aider à débroussailler ses erreurs !

    Voilà, voilà !

    ___________________________________________________________________________________________________________

         Merci de cliquer sur en bas à droite de chaque message ayant aidé puis sur pour clore cette discussion …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

Discussions similaires

  1. [XL-2010] Erreur d'exécution '9': L'indice n'appartient pas à la sélection
    Par Fred_rt dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 27/02/2015, 10h29
  2. Erreur d'exécution '9': L'indice n'appartient pas à la sélection
    Par Tho69 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 02/08/2013, 09h12
  3. Réponses: 13
    Dernier message: 27/04/2012, 10h57
  4. erreur d'exécution 9, l'indice n'appartient pas à la sélection
    Par Quentin15 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/06/2011, 17h34
  5. [XL-2007] Erreur d'exécution '9' : l'indice n'appartient pas à la sélection
    Par Akhane dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/02/2011, 21h04

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