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 :

Ecrire avec une macro dans Thisworkbook [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 10
    Par défaut Ecrire avec une macro dans Thisworkbook
    Bonjour,
    J'ai vraiment besoin de votre savoir car je ne suis pas très doué en VBA

    Voila la situation,
    J'ai une macro que je lance depuis les macro Perso sur le fichier1 qui est un fichier nouveau chaque jour et au nom variable.

    J'aimerai à l'aide de cette macro créer une macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    dans Thisworkbook.

    J'ai essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.VBProject.VBComponents(1)
    mais je n'arrive à rien du tout.

    Merci d'avance et bonne journée

  2. #2
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    bonjour rmmonaco,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub ÉcrireCode()
    Dim code(3)
    code(0) = "Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) "
    code(1) = "MagBox ""je suis la premiere ligne"""
    code(2) = "ligne2 = 2"
    code(3) = "End Sub"
    For i = 0 To 3
    S = S & code(i) & Chr(10)
    Next
    Set MyVB = Workbooks("fichier1.xls").VBProject.VBComponents("ThisWorkBook").CodeModule
    MyVB.AddFromString S
    End Sub

  3. #3
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 10
    Par défaut
    Bonjour et merci isabelle

    Après quelque retouche mon programme fait des merveilles ! Merci beaucoup!

    Pour information à quoi correspond le "Chr(10)"?

    Cela parait tellement simple pour toi, mais je n'ai jamais vu une réponse si claire à ce sujet!

    J’aurai cependant une autre requête à te faire parvenir


    Lors de l’ouverture du fichier(2) avec la macro lancé depuis thisworkbook du fichier(1) , la sélection d’une feuille de ce classeur conduit à une erreur.
    La manip x = activesheet.name donne le nom d’une feuille activé dans le fichier (1) malgré le fait de l’activation du fichier (2).
    Et la suite du programme s’effectue bien dans le fichier (2)

    Aurai tu une idée?

    merci encore

  4. #4
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    bonjour romain,

    Chr(10) renvoie un caractère de saut de ligne, c'est la fonction CAR de la feuille de calcul.

  5. #5
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 10
    Par défaut
    Bonjour, j'aurai encore une petite question qui je pense sera des plus faciles pour vous.

    Comment fait on pour créer une useform avec un code macro a l'intérieur?

    Merci encore pour l'aide

  6. #6
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    bonjour rmmonaco,

    Comment fait on pour créer une useform avec un code macro a l'intérieur?
    un petit exemple,

    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
    Sub CreerUserForm()
    Dim VBP As VBProject
    Dim VBC As VBComponent
    Dim VBMod As CodeModule
    Dim code(2)
     
    code(0) = "Private Sub UserForm_Initialize()"
    code(1) = "Me.BackColor = RGB(211, 239, 255)"
    code(2) = "End Sub"
     
    For i = 0 To 2
    S = S & code(i) & Chr(10)
    Next
     
    Set VBP = ActiveWorkbook.VBProject
    Set VBC = VBP.VBComponents.Add(vbext_ct_MSForm)
    VBC.Name = "MyUserform"
    Set VBMod = VBC.CodeModule
    VBMod.AddFromString S
     
    End Sub

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 18/11/2013, 10h50
  2. Ecrire dans un document Word avec une macro Word
    Par deruyter dans le forum VBA Word
    Réponses: 2
    Dernier message: 14/01/2010, 00h24
  3. rajouter des doublons avec une macro dans une colonne
    Par Banel dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/08/2008, 23h58
  4. Réponses: 17
    Dernier message: 12/07/2006, 22h04
  5. [VBA Excel] ecrire le caractere " avec une macro
    Par oktopuces dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/09/2005, 22h56

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