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

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Erreur d'exécution 9
    Bonjour à tous,

    j'ai commencé la programmation VBA Ecel depuis peu et là je bloque sur une erreur d'exécution 9 (l'indice n'appartient pas à la sélection).

    Mon programme copie des onglets en leur attribuant un nom qui dépend d'une cellule préalablement remplie. Ensuite il faut remplir qqs cellules des nouveaux onglets.

    Voici la programmation :

    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
    Sub Copie_Modele()
     
     
    Dim lin As Long
    Dim maliste As Range
    Dim NomOnglet As String
     
    'délaration du tableau qui va stocker le nom des onglets créés
     
    Dim tabloNomOnglet() As String 'le tableau
    Dim I As Integer ' le compteur
    I = 0
     
     
    'Déclaration des variables à recopier
     
    'Client
    Dim col_tab_Client As Long, lin_tab_Client As Long, col_FA_Client As Long, lin_FA_Client As Long
    col_tab_Client = 5
    lin_tab_Client = 3
    col_FA_Client = 5
    lin_FA_Client = 2
     
     
    For lin = 31 To 500
     
    ThisWorkbook.Sheets(1).Activate
     
    If Cells(lin, 1) = "X" Then
     
    NomOnglet = Cells(lin, 3).Value
    Sheets("Modele").Copy , Before:=Sheets("Modele")
    ActiveSheet.Name = NomOnglet
     
    ReDim tabloNomOnglet(I)
    I = I + 1
    tabloNomOnglet(I) = NomOnglet
     
    End If
     
    Next lin
     
    'remplissage des onglets
     
    For I = 0 To UBound(tabloNomOnglet)
    Sheets(tabloNomOnglet(I)).Select               'ERREUR ICI
     
    With ActiveSheet
     
    'Nom du client
    Cells(lin_FA_Client, col_FA_Client) = Worksheets(1).Cells(lin_tab_Client, col_tab_Client)
     
     
    End With
     
    Next I
     
    End Sub

    Quelqu'un a une idée de mon erreur?

    Merci d'avance !

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    Bonsoir

    pour moi le problème doit venir de là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    
    ReDim tabloNomOnglet(I)
    I = I + 1
    tabloNomOnglet(I) = NomOnglet
    premièrement : utilise plutot Redim Preserve car sinon à chaque fois tu efface ton tableau et la ou tu as ton erreur c'est que tu essaye de selectionner une feuille avec un nom qui est egal à ""

    ensuite il faut que tu écrive dans le tableau avant d'incrémenter la variable car sinon tu essais d'écrire dans une ligne du tableau que tu n'as pas encore créé avec redim.

    ce qui donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    
    ReDim Preserve tabloNomOnglet(I)
    tabloNomOnglet(I) =  NomOnglet
    I = I + 1

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Points : 6
    Points
    6
    Par défaut merci!
    super ça marche nickel maintenant!

    Merci pour l'explication!

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    Re bonsoir

    milles excuses je ne t'ai pas souhaité la bienvenu sur le Forum



    content d'avoir pus t'aider

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