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 :

Problème VBEditor lors de l'ajout de code par macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1
    Par défaut Problème VBEditor lors de l'ajout de code par macro
    Bonjour à tous,
    J'ai un gros problème que je n'arrive pas à résoudre : je cherche à ajouter du code dans une feuille à l'aide d'une macro. J'ai déjà fait fait cela pour une macro, ça ne pose aucun problème seulement je n'arrive pas à le faire pour une 2ème macro, je ne comprends pas pourquoi car le code est très ressemblant et les références chargées sont les mêmes. Pourriez-vous m'aider s'il vous plait?

    Code qui fonctionne :
    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
     
    Sub AjoutFeuil()
    Dim Feuil As Worksheet
    Dim classeur As Workbook
    Dim code As String
        Set classeur = ActiveWorkbook
        Set Feuil = Sheets.Add(After:=Sheets(Sheets.Count))
        ThisWorkbook.Sheets("Modèle").Cells.Copy
        Feuil.Paste Feuil.Cells(1, 1)
        Application.CutCopyMode = False
        code = "Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)" & vbLf
        code = code & "Dim lig As Long" & vbLf
        code = code & "Dim col As Long" & vbLf
        code = code & "On Error GoTo fin" & vbLf
        code = code & "lig = Target.Row" & vbLf
        code = code & "col = Target.Column" & vbLf
        code = code & "If lig = 1 And col = 5 Then" & vbLf
        code = code & "Sheets(1).Select" & vbLf
        code = code & "End If" & vbLf
        code = code & "fin:" & vbLf
        code = code & "End Sub"
        Application.VBE.MainWindow.Visible = True
        classeur.VBProject.VBComponents.Item(Feuil.CodeName).CodeModule.AddFromString code
        Application.VBE.MainWindow.Visible = False
    End Sub
    Code qui ne fonctionne pas (erreur Excel avec redémarrage d'excel) :
    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
     
    Sub AccesFeuilVBA()
    Dim code As String
    Dim Feuil As Worksheet
    Dim classeur As Workbook
    Dim n As Integer
        Set classeur = ActiveWorkbook
        Application.VBE.MainWindow.Visible = True
        code = "Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)" & vbLf
        code = code & "Dim lig As Long" & vbLf
        code = code & "Dim col As Long" & vbLf
        code = code & "On Error GoTo fin" & vbLf
        code = code & "lig = Target.Row" & vbLf
        code = code & "col = Target.Column" & vbLf
        code = code & "If lig >= 7 And col <= 7 Then" & vbLf
        code = code & "Sheets(Cells(lig,1) & "" - "" & Cells(lig,4)).Select" & vbLf
        code = code & "End If" & vbLf
        code = code & "fin:" & vbLf
        code = code & "End Sub"
        Set Feuil = Sheets(1)
        classeur.VBProject.VBComponents.Item(Feuil.CodeName).CodeModule.AddFromString code
        code = "Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)" & vbLf
        code = code & "Dim lig As Long" & vbLf
        code = code & "Dim col As Long" & vbLf
        code = code & "On Error GoTo fin" & vbLf
        code = code & "lig = Target.Row" & vbLf
        code = code & "col = Target.Column" & vbLf
        code = code & "If lig = 1 And col = 6 Then" & vbLf
        code = code & "Sheets(1).Select" & vbLf
        code = code & "End If" & vbLf
        code = code & "fin:" & vbLf
        code = code & "End Sub"
        For n = 2 To classeur.Sheets.Count
            Set Feuil = Sheets(n)
            classeur.VBProject.VBComponents.Item(Feuil.CodeName).CodeModule.AddFromString code
        Next
        Application.VBE.MainWindow.Visible = False
    End Sub

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    Dans ton deuxième code il me semble que cette ligne est inutile :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.VBE.MainWindow.Visible = True

Discussions similaires

  1. [AC-2007] Problème requête lors de l'ajout de certaines tables
    Par SixteenVBA dans le forum Access
    Réponses: 2
    Dernier message: 12/05/2015, 12h12
  2. [XL-2003] Ajouter du code par le code
    Par comme de bien entendu dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/09/2011, 13h48
  3. Réponses: 1
    Dernier message: 16/09/2009, 16h52
  4. Problème d'insertion de code par macro
    Par melouille56 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/01/2008, 20h31
  5. [AJAX] ie et l'ajout de code par ajax
    Par cybersplash dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/04/2007, 11h26

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