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


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 36
    Par défaut Erreur d'exécution 9
    Bonjour,

    J'essaye de coder en vba la copie d'un tableau d'un fichier excel vers un autre fichier excel. La copie se faire ligne par ligne. Seulement, mon code bug, et m'affiche "Erreur d'exécution 9 : L'indice n'appartient pas à la sélection".

    Voici mon 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
     
    Sub Impact_normes_IAS()
     
        Sheets("data").Select
     
        ' Supprimer toutes les données de A2:H65536
        Range("A2:J65536").Select
        Selection.ClearContents
     
         Dim DerniereLigne As Integer
         DerniereLigne = Workbooks("test.xls").Worksheets("Impact_normes_IAS").Range("A65536").End(xlUp).Offset(1, 0)
     
     
         Workbooks.Open Filename:="P:\Non_Derivatives_P&L\Prod\Treso\Deals_du_jour\test.xls"
         Dim i As Integer
         Dim j As Integer
     
         For i = 2 To DerniereLigne
            j = i
            Range("a" & j) = Workbooks("test.xls").Worksheets("Impact_normes_IAS").Range("a" & i)
            Range("b" & j) = Workbooks("test.xls").Worksheets("Impact_normes_IAS").Range("b" & i)
            Range("c" & j) = Workbooks("test.xls").Worksheets("Impact_normes_IAS").Range("c" & i)
            Range("d" & j) = Workbooks("test.xls").Worksheets("Impact_normes_IAS").Range("d" & i)
            Range("e" & j) = Workbooks("test.xls").Worksheets("Impact_normes_IAS").Range("e" & i)
            Range("f" & j) = Workbooks("test.xls").Worksheets("Impact_normes_IAS").Range("f" & i)
            Range("g" & j) = Workbooks("test.xls").Worksheets("Impact_normes_IAS").Range("g" & i)
            Range("h" & j) = Workbooks("test.xls").Worksheets("Impact_normes_IAS").Range("h" & i)
            i = i + 1
            Next i
     
    End Sub
    Pouvez-vous m'aider à résoudre ce problème?

    Merci !

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Premièrement, pourquoi copier ligne par ligne, cellule par cellule plutôt que tout d'un coup ?

    Deuxièmement, pourquoi utiliser la variable j si elle est identique à i ?

    Troisièmement, pourquoi incrémenter i (i = i + 1) à l'intérieur d'une boucle qui l'incrémente déjà ?

    Et aussi ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
         DerniereLigne = Workbooks("test.xls").Worksheets("Impact_normes_IAS").Range("A65536").End(xlUp).Offset(1, 0)
     
     
         Workbooks.Open Filename:="P:\Non_Derivatives_P&L\Prod\Treso\Deals_du_jour\test.xls"
    Si je comprends bien, tu recherches la dernière ligne dans un fichier qui n'est pas encore ouvert... Il faudrait inverser ces 2 lignes...

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 36
    Par défaut
    Waw en effet j'avais pas vu toutes ces betises, j'ai changé mon code tellement de fois que j'ai la tête dans les choux. Merci ! (J'ai un peu honte là...)

    J'ai corrigé les erreurs. Il n'y a plus le bug, mais rien n'est copié...

    Comment puis-je faire pour tout copier d'un coup?

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Quelque chose comme ceci peut-être ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Workbooks.Open Filename:="P:\Non_Derivatives_P&L\Prod\Treso\Deals_du_jour\test.xls"
        DerniereLigne = Workbooks("test.xls").Worksheets("Impact_normes_IAS").Range("A65536").End(xlUp).Row
     
        Workbooks("test.xls").Worksheets("Impact_normes_IAS").Range("a2:h" & DerniereLigne).Copy ThisWorkbook.Sheets("data").Range("A2")

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 36
    Par défaut
    Oh mon dieu ça marche youloulouloulou.

    Merci !!

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

Discussions similaires

  1. [JVM][8.1.7] Erreur d'exécution de initjvm.sql
    Par Escuzze dans le forum Oracle
    Réponses: 4
    Dernier message: 01/07/2005, 15h39
  2. Message d'erreur à l'exécution d'une install
    Par titof dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 22/03/2005, 11h20
  3. [CR8][VB6] Erreur d'exécution 20533
    Par pvava dans le forum SDK
    Réponses: 1
    Dernier message: 01/02/2005, 10h27
  4. Erreurs d'exécution sous delphi 5
    Par nkd dans le forum Langage
    Réponses: 3
    Dernier message: 06/11/2004, 17h25
  5. [Apache Perl] Erreur à l'exécution de mes cgi
    Par GLDavid dans le forum Apache
    Réponses: 4
    Dernier message: 28/08/2004, 20h23

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