Code excel qui influe sur autre fichier excel

apnart

XLDnaute Occasionnel
Bonjour,

J'ai fait une "application" excel, je dis "application", car j'ai tout masqué dans excel (barres outils, barre formule,...) pour n'avoir qu'une sorte de formulaire de saisie qui fait plein de trucs. J'ai fait ça à l'aide du code ci dessous qui s'éxécute à l'ouverture du fichier excel.

Code:
Sub Workbook_Open()                                 ' Macro d'ouverture excel

    Application.ScreenUpdating = False              ' Affichage des action de la macro OFF
    Dim CmdB As CommandBar
    Application.DisplayFormulaBar = False           ' Masque la barre formule
    For Each CmdB In Application.CommandBars        ' Masque toutes les barres d'outil
    CmdB.Enabled = False                            ' "
    Next CmdB                                       ' "
    For Boucle = 1 To Sheets.Count                  ' Boucle pour lire tous les onglets
        Sheets(Boucle).ScrollArea = TailleFenetre   ' Fixe le scroll à la zone "TailleFenetre"
        Sheets(Array(Boucle)).Select                ' Sélectionne l'onglet en cours
        With ActiveWindow                           ' Pour la fenêtre active =>
            .DisplayHeadings = False                ' SUPPRIME : Entêtes lignes / colonnes
            .DisplayHorizontalScrollBar = False     ' SUPPRIME : Ascenseur horizontal
            .DisplayVerticalScrollBar = False       ' SUPPRIME : Ascenseur vertical
            .DisplayWorkbookTabs = False            ' SUPPRIME : Onglets
        End With
    Next Boucle                                     ' Fin boucle lecture onglets
    
    Sheets("Aide").ScrollArea = ""                  ' Libère le scroll pour onglet "Aide"
    Sheets("Aide").Select                           ' Sélectionne l'onglet "Aide"
    Sheets(1).Select                                ' Activation de la 1ère feuille
    
    Application.WindowState = xlNormal                  ' Affichage "normal" de excel
    Application.Width = Range(TailleFenetre).Width      ' Fixe la Largeur de la fenêtre
    Application.Height = Range(TailleFenetre).Height    ' Fixe la Hauteur de la fenêtre

    Dim FIcone As String                            ' Icone dans la barre excel (en haut)
        FIcone = Me.Path & "\" & FichierIco
        If Dir$(FIcone) <> "" Then
            hWnd = FindWindowA(vbNullString, Application.Caption)
            HIcon = GetClassLongA(hWnd, -14)
            SetClassLongA hWnd, -14, LoadImageA(0, FIcone, 1, 0, 0, &H10)
        End If

End Sub


Tout ça fonctionne bien mais si j'ai un autre fichier excel ouvert avant, la macro s'éxécute également dessus... et ça c'est problématique pour les utilisateurs de mon "application".

Avez-vous des idées pour que cette macro de démarrage ne s'éxécute QUE sur mon application ?

Merci d'avance à vous ;-)
 

thomlau

XLDnaute Occasionnel
Re : Code excel qui influe sur autre fichier excel

Bonjour Apnart

Je sais pas si ça va fonctionner, mais en remplaçant le sub par private sub...
Essaye et dis nous si ça marche.
Je ne peux pas tester car la macro ne fonctionne pas sous excel 2007.
A bientôt
 

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 879
Membres
103 981
dernier inscrit
vinsalcatraz