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 :

Comment lancer une macro automatique lors d'ouverture de fichier EXcel


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Points : 23
    Points
    23
    Par défaut Comment lancer une macro automatique lors d'ouverture de fichier EXcel
    Salut mes amis,

    j'ai cherché dans le forum des sujet concernant le lancement d'une macro automatique lors de l'ouverture de fichier Excel. J'ai pas atteint au résultat, voici le macro que j'ai trouvé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private sub workbook_open()
    msgBox "Salut   "& environ("Username") & "Lancement de la mise à jour ? "
    Application.run ("'Miseajour'")
    end sub
    mais mon cas est le suivant, je veux que lorsque j'ouvre le fichier excel, ce dernier lance cette macro :

    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
    59
    60
    61
    62
    63
    64
    65
    Sub Acceuil()
    Dim MaPlage As Range, Police As Font, Commentaire As Comment
    Dim MaFeuille As Worksheet
    Set MaFeuille = ThisWorkbook.Worksheets("Feuil10")
    With MaFeuille
        .Cells.ClearContents
        .Cells.ClearFormats
        .Cells.Interior.Color = 13434879
    End With
    With MaFeuille.Range("E13:M26")
    With .Borders(xlEdgeLeft)
    .LineStyle = xlDouble
    .Weight = xlThick
    .ColorIndex = vbBlack
    End With
    With .Borders(xlEdgeTop)
    .LineStyle = xlDouble
    .Weight = xlThick
    .ColorIndex = vbBlack
    End With
    With .Borders(xlEdgeBottom)
    .LineStyle = xlDouble
    .Weight = xlThick
    .ColorIndex = vbBlack
    End With
    With .Borders(xlEdgeRight)
    .LineStyle = xlDouble
    .Weight = xlThick
    .ColorIndex = vbBlack
    End With
    End With
     
    Range("E13:M15").Select
        Selection.Interior.ColorIndex = 44
    Range("E13:M15").MergeCells = True
    Range("E16:M17").Select
        Selection.Interior.ColorIndex = 36
    Range("E22:M23").Select
        Selection.Interior.ColorIndex = 36
    Range("E18:M19").Select
        Selection.Interior.ColorIndex = 36
    Range("E18:M19").MergeCells = True
    Range("E20:M21").Select
        Selection.Interior.ColorIndex = 36
    Range("E20:M21").MergeCells = True
    Range("E24:M26").Select
        Selection.Interior.ColorIndex = 44
    Range("E24:M26").MergeCells = True
     
    Set MaPlage = ThisWorkbook.Worksheets("Feuil10").Range("E18:M19")
    Range("E18").Font.Name = "Book Antiqua"
    Worksheets("Feuil10").Range("E18").Value = "Application d'ordonnancement et de "
    Range("E18").Font.Size = 22  'Taille du texte
    Range("E18").HorizontalAlignment = -4108
    Range("E18").VerticalAlignment = -4108
    Range("E18").Font.Bold = True 'Ecriture gras
     
    Range("E20").Font.Name = "Book Antiqua"
    Worksheets("Feuil10").Range("E20").Value = " planification de la production "
    Range("E20").Font.Size = 22  'Taille du texte
    Range("E20").HorizontalAlignment = -4108
    Range("E20").VerticalAlignment = -4108
    Range("E20").Font.Bold = True 'Ecriture gras
     
    End Sub
    Mes amis est ce que c'est possible lors d'ouverture du fichier excel, ce dernier lance automatique la macro précédente qui permet de créer une page de garde dans une feuille qui s'appelle "feuil10" (par exemple) et merci.

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
    Acceuil
    End Sub
    mets ta sub Acceuil dans un module standard avec Public

    PS: au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("E13:M15").Select
        Selection.Interior.ColorIndex = 44
    mets directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("E13:M15").Interior.ColorIndex = 44
    ajoute au début de ta public sub acceuil()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.screenupdating=false
    pour éviter le scintillement de la page

    EDIT
    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
    Public Sub Acceuil()
    Dim MaPlage As Range, Police As Font, Commentaire As Comment
    Dim MaFeuille As Worksheet
     
    Application.ScreenUpdating = False
    Set MaFeuille = Worksheets("Feuil10")
    With MaFeuille
        .Cells.ClearContents
        .Cells.ClearFormats
        .Cells.Interior.Color = 13434879
     
        With .Range("E13:M26").Borders
            .LineStyle = xlDouble
            .Weight = xlThick
            .ColorIndex = vbBlack
        End With
     
        .Range("E13:M15").Interior.ColorIndex = 44
        .Range("E13:M15").Merge
        .Range("E16:M17").Interior.ColorIndex = 36
        .Range("E22:M23").Interior.ColorIndex = 36
        .Range("E18:M19").Interior.ColorIndex = 36
        .Range("E18:M19").Merge
        .Range("E20:M21").Interior.ColorIndex = 36
        .Range("E20:M21").Merge
        .Range("E24:M26").Interior.ColorIndex = 44
        .Range("E24:M26").Merge
     
        .Range("E18").Font.Name = "Book Antiqua"
        .Range("E18").Value = "Application d'ordonnancement et de "
        .Range("E18").Font.Size = 22  'Taille du texte
        .Range("E18").HorizontalAlignment = -4108
        .Range("E18").VerticalAlignment = -4108
        .Range("E18").Font.Bold = True 'Ecriture gras
     
        .Range("E20").Font.Name = "Book Antiqua"
        .Range("E20").Value = " planification de la production "
        .Range("E20").Font.Size = 22  'Taille du texte
        .Range("E20").HorizontalAlignment = -4108
        .Range("E20").VerticalAlignment = -4108
        .Range("E20").Font.Bold = True 'Ecriture gras
        .Activate
    End With
    End Sub

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Points : 23
    Points
    23
    Par défaut
    Encore lorsque j'ouvre le fichier excel, le macro ne se lance pas !!

  4. #4
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Où tu as mis la macro?
    je viens de tester ici et ça fonctionne.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Points : 23
    Points
    23
    Par défaut
    j'ai mis la macro dans un nouveau module et avec sub déja j'ai copier le code que tu as modifié : j'a mis les deux codes avec sub

  6. #6
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Public Sub Acceuil() dans un module standard
    et dans le module de ThisWorkbook mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
    Acceuil
    End Sub

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Points : 23
    Points
    23
    Par défaut
    Merci mon ami pour votre aide

    Cordialement
    Yassine

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 23/04/2012, 12h19
  2. Réponses: 7
    Dernier message: 14/05/2008, 11h41
  3. Comment lancer une macro excel en selectionnant une cellule?
    Par itony dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 04/03/2008, 10h08
  4. Réponses: 1
    Dernier message: 26/08/2007, 20h07
  5. Réponses: 9
    Dernier message: 25/01/2006, 15h35

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