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'éxécution '9' (L'indice n'appartient pas à la sélection)


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien informatique
    Inscrit en
    Mai 2011
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2011
    Messages : 105
    Points : 55
    Points
    55
    Par défaut Erreur d'éxécution '9' (L'indice n'appartient pas à la sélection)
    Bonjour,

    J'ai créé un classeur excel avec un bouton qui lorsque je clique dessus va récupérer des données dans un autre classeur excel sur un partage réseau.

    Par moment la fonction fonctionne parfaitement et d'autres fois j'obtiens ce message:

    Erreur d'éxécution '9' (L'indice n'appartient pas à la sélection)

    Sur votre forum j'ai trouvé des personnes qui ont le même problème mais je n'ai malheureusement pas réussi à résoudre le mien. Voici mon code du bouton.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Rafraichir()
     
     Workbooks.Open Filename:= _
            "\\mon_serveur\d$\data\Rapports\xls\copie_donnees.xlsx"
        Sheets("Feuil4").Select
        Range("A2:B3").Select
        Selection.Copy
        Windows("resume.xltm").Activate
        Range("B4").Select
        ActiveSheet.Paste
        Windows("copie_donnees.xlsx").Activate
        ActiveWindow.Close
     
    End Sub
    Merci pour votre aide

    Meilleures salutations

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut
    Salut,


    Sur quelle ligne apparaît l'erreur ?

    Par ailleurs, ton classeur s'appelle bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     "Windows("resume.xltm").Activate"

    Tu as fait ton code avec l'enregistreur de macro à priori ? Tu as modifié quoi ?

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien informatique
    Inscrit en
    Mai 2011
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2011
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    Oui je l'ai fait avec l'enregistreur de macro.

    L'erreur se trouve sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Windows("resume.xltm").Activate
    Je n'ai rien modifié.

    Merci

  4. #4
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    A priori, tu as sans doute un problème avec le nom d'un fichier.

    Au passage, il est conseillé de retravailler le code récupérer de l'enregistreur de macro.
    Par exemple, ton code peut être simplifié ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Rafraichir()
     
        Workbooks.Open Filename:= "\\mon_serveur\d$\data\Rapports\xls\copie_donnees.xlsx"
        Sheets("Feuil4").Range("A2:B3").Copy
        Windows("resume.xltm").ActiveSheet.Range("B4").Paste
        Windows("copie_donnees.xlsx").Close
     
    End Sub
    Personnellement, je remplacerais les Windows par des WorkBooks.

  5. #5
    Membre du Club
    Homme Profil pro
    Technicien informatique
    Inscrit en
    Mai 2011
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2011
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    Oui modifié mon code avec votre proposition mais j'obtiens toujours la même erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Workbooks.Open Filename:="\\mon_serveur\d$\data\Rapports\xls\copie_donnees.xlsx"
        Sheets("Feuil4").Range("A2:B3").Copy
        Workbooks("resume.xltm").ActiveSheet.Range("B4").Paste
        Workbooks("copie_donnees.xlsx").Close
    Merci

  6. #6
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Ton erreur est une erreur d'indice.
    Le seul indice qu'il y avait sur la ligne qui générait l'erreur était un nom de fichier.
    Donc l'erreur vient du nom de fichier.
    Si tu laisses le même nom de fichier, il est évident que l'erreur persistera.

  7. #7
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    ça n'a peut être rien à voir mais il est toujours préférable de "parenter" les objets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("Feuil4").Range("A2:B3").Copy
    plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub Test()
     
        Dim Cls As Workbook
     
        Set Cls = Workbooks.Open("\\mon_serveur\d$\data\Rapports\xls\copie_donnees.xlsx")
        Cls.Sheets("Feuil4").Range("A2:B3").Copy Workbooks("resume.xltm").ActiveSheet.Range("B4")
        Cls.Close
     
    End Sub
    et quand on travaille sur plus d'un classeur, il est conseiller d'utiliser des variables Workbook

  8. #8
    Membre du Club
    Homme Profil pro
    Technicien informatique
    Inscrit en
    Mai 2011
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2011
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    Bonsoir,

    Je viens de tester et toujours la même erreur.

    Merci pour vos réponses

  9. #9
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    As-tu vérifié si le nom de fichier était correct ? Il n'y aurait pas un accent en trop ou en moins qui traine ?
    As-tu essayé en enlevant l’extension "xlsm" ?

  10. #10
    Membre du Club
    Homme Profil pro
    Technicien informatique
    Inscrit en
    Mai 2011
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2011
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    Merci pour votre aide. C'était l'extension.

    Belle journée

  11. #11
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Un conseil : au lieu d'enlever l'extension dans ton code, va dans les options de dossier de ton explorateur Windows et décoche l'option "Masquer les extensions de fichiers".
    Ca te donnera une meilleure visibilité sur les types de fichiers.

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

Discussions similaires

  1. [XL-2010] Erreur d'execution '9' : L'indice n'appartient pas à la sélection
    Par twentycent dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/02/2013, 13h58
  2. Réponses: 3
    Dernier message: 19/06/2012, 17h38
  3. Réponses: 13
    Dernier message: 27/04/2012, 11h57
  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, 18h34
  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, 22h04

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