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 :

Excel : Probleme d'insertion de code en vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3
    Par défaut Excel : Probleme d'insertion de code en vba
    Bonjour,
    Je voudrais créer une feuille et lui attribuer du code en vba, sous excel.
    Il me renvoi l'erreur suivante:
    Erreur d'exécution '9'
    L'indice n'appartient pas à la sélection
    J'ai vu que le sujet était traité, mais je ne trouve pas mes réponses.

    Mon code est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Worksheets.Add.Name = nomFeuille
    Worksheets(nomFeuille).Activate
    Code = "Private Sub Worksheet_Activate()" & vbCrLf
    Code = Code & ...
    ...
    With ActiveWorkbook.VBProject.VBComponents(nomFeuille).CodeModule
        .insertlines .CountOfLines + 1, Code
    End With
    Je ne comprend pas!!

    J'ai oublié de préciser que mon erreur se fait sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    With ActiveWorkbook.VBProject.VBComponents(nomFeuille).CodeModule

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Par défaut
    Bonjour,

    Je crois que ton souci vient d'une confusion entre (1) le nom de la feuille pour Excel et (2) le nom du VBComponent correspondant pour VBA.

    L'objet Worksheet possède une propriété CodeName qui retourne le nom du VBComponent correspondant.

    Je te propose une petite fonction:
    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
     
    Public Sub Ajoute(sNomFeuille As String)
        Dim oWS As Excel.Worksheet
        Dim sNomComposant As String
        Dim sCode As String
     
        Set oWS = Worksheets.Add
        oWS.Name = sNomFeuille
        sNomComposant = oWS.CodeName
     
        sCode = "Private Sub Worksheet_Activate()" & vbCrLf & "End Sub"
     
        With oWS.Parent.VBProject.VBComponents(sNomComposant).CodeModule
            .InsertLines .CountOfLines + 1, sCode
        End With
    End Sub

Discussions similaires

  1. [AC-2000] Probleme d'insertion de données en VBA
    Par Tydher dans le forum VBA Access
    Réponses: 8
    Dernier message: 25/05/2011, 11h09
  2. {VBA Excel}Probleme de code sur l'export Excel à Word
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 21/06/2007, 10h59
  3. probleme d'insertion de code assembleur dans du c++
    Par Pragmateek dans le forum C++
    Réponses: 4
    Dernier message: 05/03/2006, 23h30
  4. [VBA excel] Probleme sur bouton commande
    Par RedBurn dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 22/11/2005, 10h10
  5. [VBA] [Excel] Probleme de rafraichissement d'un label
    Par lejert dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/11/2005, 17h09

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