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 :

Ajouter du code dans le code d'une feuille


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut Ajouter du code dans le code d'une feuille
    Bonjour,

    J'ai besoin de faire une macro qui me change le code d'une feuille excel, et en plus, le nom de la feuille peut-changer d'un classeur à l'autres.

    J'ai déjà fais ça pour le thisworkbook, mais cette procédure ne marche pas sur une feuille.

    Voici le code pour la modification du thisworkbook
    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
    Sub AddCodeTWB()
    On Error GoTo faux
    Dim S As String, I As Integer, J As Integer, name As String
     
    Application.Run "macroform.xls!recherche_nom_classeur"
     
      With ThisWorkbook.VBProject.VBComponents("DonneedAjoutTWB").CodeModule
        S = .Lines(1, .CountOfLines)
      End With
     
      With Workbooks(nw).VBProject.VBComponents("ThisWorkBook").CodeModule
        I = Workbooks(nw).VBProject.VBComponents("ThisWorkBook").CodeModule.CountOfLines
        If I > 0 Then
          For J = 1 To I
          .DeleteLines (1)
          Next J
        End If
          .AddFromString S
      End With
     
    exit_erreur:
        Exit Sub
    faux:
        Msgerror = "N°001-Erreur de déroulement de Macro. Notez le numéro et voir avec SRA."
        response = MsgBox(Msgerror)
        Resume Next
    End Sub
    J'aurrais voulu adapter cela pour une feuille dont le nom est : "CH.OUT-xxxx" (les xxxx changent d'un classeur a l'autres.

    Mais j'arrive à rien

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    J'ai trouvé pourquoi ça marchais pas. Le nom de ma feuille n'est pas "CH.OUT-XXX"(le nom de l'onglet) mais le nom de code "Feuil2" et là ça marche.

    Alors, nouveau problème, comment récupérer ce nom en sachant qu'il peux changer d'un classeur à l'autre.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    en fait, il faut que je récupère le "(name)" et non pas "name"

    Dans le VBAProject
    Feuil2(CH.OUT-XXX)

    Je dois récupérer le "Feuil2" comment je fais ça ?

    Pour le nom j'ai ceci qui marche qui me trouve le "CH.OUT-XXXX:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Dim f As Worksheet, nomfeuil
            For Each f In ThisWorkbook.Sheets
                If f.name Like "CH.OUT*" Then
                    nomfeuil = f.name
                End If
            Next
        '
    Une idée ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut


    C'est bon j'ai réeussi, je suis juste un peu trop con, j'avais oublié d'enlever les "" lorsque j'utilise une variable et non le nom réelle.

    Voici mon code au cas ou :
    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
    Sub AddCodeCHOUT()
    On Error GoTo faux
    Dim S As String, I As Integer, J As Integer, name As String
     
    Application.Run "macroform.xls!recherche_nom_classeur"
     
        Dim f As Worksheet, nomfeuil
            For Each f In ThisWorkbook.Sheets
                If f.name Like "CH.OUT*" Then
                    nomfeuil = f.CodeName
                End If
            Next
     
      With ThisWorkbook.VBProject.VBComponents("DonneedAjoutCHOUT").CodeModule
        S = .Lines(1, .CountOfLines)
      End With
     
      With Workbooks(nw).VBProject.VBComponents(nomfeuil).CodeModule
        I = Workbooks(nw).VBProject.VBComponents(nomfeuil).CodeModule.CountOfLines
        If I > 0 Then
          For J = 1 To I
          .DeleteLines (1)
          Next J
        End If
          .AddFromString S
      End With
     
    exit_erreur:
        Exit Sub
    faux:
        Msgerror = "N°002-Erreur de déroulement de Macro. Notez le numéro et voir avec SRA."
        response = MsgBox(Msgerror)
        Resume Next
    End Sub
    Dans un module avec le nom "DonneedAjoutCHOUT" je lui ai mis ce que j'avais besoin.


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

Discussions similaires

  1. Ajout de régions dans un code Java
    Par manu f dans le forum Eclipse
    Réponses: 1
    Dernier message: 23/03/2010, 13h38
  2. Ajouter des couleurs dans le code visual studio ?
    Par barbuslex dans le forum Visual Studio
    Réponses: 2
    Dernier message: 31/10/2009, 14h24
  3. ajout panier erreur dans le code
    Par widi70 dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2009, 16h30
  4. Réponses: 2
    Dernier message: 29/11/2007, 19h54
  5. Ajout de variable (par le code) dans les Paramètres d'application
    Par hellspawn_ludo dans le forum Windows Forms
    Réponses: 13
    Dernier message: 31/07/2007, 16h50

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