Mémorisation emplacement barre d'outil
#1
Aspirant XLPages

Inscription: 17/08/2009

Messages: 27

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 20-08-2009 20h21
Pour mon projet, une barre d'outil se lance automatiquement à l'ouverture du fichier Excel.

Savez-vous s'il est possible que la barre d'outil mémorise son dernier emplacement ?

Je vous joins mon fichier pour exemple.

Par avance merci de votre aide
Pièce jointe:
zip Projet Gantt ABA V1_1.zip   [ Taille: 52.16 Ko - Téléchargements: 508 ]
Hors Ligne
Rapport   Haut 

Re: Mémorisation emplacement barre d'outil
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 21-08-2009 01h51
Bonsoir Alragorn, le Forum,

Tu trouveras en pièce jointe une proposition de réponse à ton problème. A un ou deux détails près, il devrait pouvoir coller à ta demande...

J'ai modifé le code comme suit :

DANS LE MODULE DE CODE DE L'OBJET THISWORKBOOK
Private Sub Workbook_Open()
    Barre_Outil_Projet True
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Barre_Outil_Projet False
End Sub
Remarque : le mot clé Call que tu avais utilisé est inutile et, sauf erreur, n'a aucun intérêt (sauf si tu veux faire appel à des fonctions issues de bibliothèques externes : type API Windows par exemple).


DANS LE MODULE DE CODE STANDARD : Module2
Après avoir créé (et caché) un onglet supplémentaire nommé Param pour stocker les attributs de la barre d'outils, j'ai modifié ta procédure Barre_Outil_Projet comme suit :
Sub Barre_Outil_Projet(CreerBarre As Boolean)
Dim TBar As CommandBar
Dim F As Worksheet
    Set F = Sheets("Param")
    If CreerBarre Then
    '   Crée la barre d'outils
        On Error Resume Next
        Set TBar = Application.CommandBars("Projet Outil")
        On Error GoTo 0
        If TBar Is Nothing Then
            Set TBar = Application.CommandBars.Add("Projet Outil", Temporary:=True)
        End If
        With TBar
            .Visible = True
            'Position barre
            .Position = F.Cells(1, 1).Value
            If .Position = msoBarFloating Then
                .Top = F.Cells(1, 4).Value
            Else
                .RowIndex = F.Cells(1, 2).Value
            End If
            .Left = F.Cells(1, 3).Value
            'Création boutons
            CreerBouton TBar, msoButtonIconAndCaption, "AjoutTâche", 4088
            CreerBouton TBar, msoButtonIconAndCaption, "AjoutContact", 4088
            CreerBouton TBar, msoButtonIconAndCaption, "EnvoiMail", 1757
        End With
    Else
        'On mémorise la position de la barre d'outil dans un onglet caché
        With Application.CommandBars("Projet Outil")
            F.Cells(1, 1).Value = .Position
            F.Cells(1, 2).Value = .RowIndex
            F.Cells(1, 3).Value = .Left
            F.Cells(1, 4).Value = .Top
            .Delete
        End With
    End If
End Sub

Private Sub CreerBouton(Bar As CommandBar, St As Byte, Capt As String, Fid As Integer)
'Création boutons barre
    With Bar.Controls.Add(Type:=msoControlButton, Temporary:=True)
        .Style = St
        .OnAction = Capt
        .FaceId = Fid
        .Caption = Capt
    End With
End Sub
Le principe est donc simple : au moment de la fermeture, on stocke dans un onglet caché les paramètres de position de la barre d'outils et on rétablit l'ensemble lors de la réouverture du classeur.

En espérant que ça puisse répondre à ton besoin...

Cordialement,
Pièce jointe:
zip PourAlragorn.zip   [ Taille: 49.52 Ko - Téléchargements: 536 ]

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Mémorisation emplacement barre d'outil
#3
Aspirant XLPages

Inscription: 17/08/2009

Messages: 27

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 21-08-2009 09h09
My Dear Friend

Merci beaucoup pour ta réponse qui correspond à mon besoin.

Je vais continuer à bosser sur mon projet et je te suis reconnaissant pour ton aide

Cordialement
Hors Ligne
Rapport   Haut 

Re: Mémorisation emplacement barre d'outil
#4
Aspirant XLPages

Inscription: 17/08/2009

Messages: 27

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 21-08-2009 11h35
My dear Friend

Je n'ai finalement pas retenu ta solution car l'ouverture du fichier Excel prenait trop de temps, en revanche j'ai contourné le problème en intégrant directement mes boutons dans la barre d'outil devant "?".

J'ai également repris tes idées pour l'ouverture et la fermeture des feuilles Excel et je suis satisfait du résultat obtenu... pour l'instant

Merci encore pour ton aide, la discussion relative à la barre de tâche peut être close.

Cordialement
Hors Ligne
Rapport   Haut 

Re: Mémorisation emplacement barre d'outil
#5
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 21-08-2009 13h31
Bonjour Alragorn, le Forum,

Citation :
Alragorn a écrit :
Merci encore pour ton aide, la discussion relative à la barre de tâche peut être close.

Dans ce cas, merci à toi de mettre en pratique ce qui est indiqué au bas de ma signature...

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Mémorisation emplacement barre d'outil
#6
Aspirant XLPages

Inscription: 17/08/2009

Messages: 27

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 21-08-2009 20h17
merci pour tout grâce a vous j'ai beaucoup progressé, et mon projet avance bien
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes