SPARKLETOF
XLDnaute Junior
Bonjour à tous,
dans le cadre de mon boulot j'ai été amené à faire un assez gros document sur excel 2000 (eh oui vive l'administration !!!) et j'ai un gros problème car lorsque je veux travailler dessus chez moi quelques macro ne fonctionnent pas du tout ! Je vous explique :
à l'ouverture du document je dois avoir une barre d'outils qui s'affiche en haut à gauche, j'ai donc la macro suivante :
Private Sub Workbook_Open()
Worksheets("Menu").Activate
format
CreateBO7
End Sub
ma BO7 est dans un module et ressemble à ça :
Public Const nomBO7 = "Menu"
Sub CreateBO7()
Dim BO7 As CommandBar
On Error Resume Next
DeleteBO7 'en cas de plantage d'Excel
Set BO7 = Application.CommandBars.Add(nomBO7)
With Application.CommandBars("Menu")
.Position = msoBarTop
.Visible = True
End With
With BO7.Controls.Add(msoControlButton)
.Caption = "plein ecran"
.FaceId = 519
.OnAction = "plein"
End With
With BO7.Controls.Add(msoControlButton)
.Caption = "fermer"
.FaceId = 478
.OnAction = "fermer"
End With
BO7.Visible = True
End Sub
Sub DeleteBO7()
On Error Resume Next
Application.CommandBars(nomBO7).Delete
End Sub
chaque contrôle est bien défini :
"plein ecran" :
Sub plein()
Dim motdepasse As String
'Saisie du rayon sous forme d'une chaîne de caractères
motdepasse = InputBox("Veuillez entrer le mot de passe")
'Ne rien faire en cas d'annulation
If motdepasse = "*****" Then
normal
End If
End Sub
"fermer" :
Private Sub fermer()
Application.Quit
End Sub
format :
Sub format()
Dim cmdB As CommandBar
For Each cmdB In Application.CommandBars
cmdB.Enabled = False
Next cmdB
' si tu veux masquer en plus la barre d'état
' la barre de formule
' les onglets...
With Application
.DisplayFullScreen = True
.DisplayStatusBar = False
.DisplayFormulaBar = False
End With
With ActiveWindow
.DisplayWorkbookTabs = False
.DisplayHeadings = False
.DisplayGridlines = False
.Zoom = 100
End With
End Sub
Menu:
Private Sub menu()
DeleteBO1
DeleteBO2
DeleteBO3
DeleteBO4
DeleteBO5
DeleteBO6
DeleteBO8
DeleteBO9
Sheets("Menu").Select
CreateBO7
End Sub
voilà je pense que je n'ai rien oublié !!! Si quelqu'un pouvait m'aider ca serait vraiment sympa quand je suis entrain de galérer à mort de plus j'ai appris hier que nous allions migrer vers Excel 2007 courant de l'année prochaine!!!
Un grand merci d'avance à ceux qui pourront passer un peu de leur temps à m'aider.
SKF
J'ai réessayer de faire mon doc directement avec excel 2007 et moment de l'enregistrement j'ai mis l'extension xslm et pas de changement.....
Je me décompose !!!!
dans le cadre de mon boulot j'ai été amené à faire un assez gros document sur excel 2000 (eh oui vive l'administration !!!) et j'ai un gros problème car lorsque je veux travailler dessus chez moi quelques macro ne fonctionnent pas du tout ! Je vous explique :
à l'ouverture du document je dois avoir une barre d'outils qui s'affiche en haut à gauche, j'ai donc la macro suivante :
Private Sub Workbook_Open()
Worksheets("Menu").Activate
format
CreateBO7
End Sub
ma BO7 est dans un module et ressemble à ça :
Public Const nomBO7 = "Menu"
Sub CreateBO7()
Dim BO7 As CommandBar
On Error Resume Next
DeleteBO7 'en cas de plantage d'Excel
Set BO7 = Application.CommandBars.Add(nomBO7)
With Application.CommandBars("Menu")
.Position = msoBarTop
.Visible = True
End With
With BO7.Controls.Add(msoControlButton)
.Caption = "plein ecran"
.FaceId = 519
.OnAction = "plein"
End With
With BO7.Controls.Add(msoControlButton)
.Caption = "fermer"
.FaceId = 478
.OnAction = "fermer"
End With
BO7.Visible = True
End Sub
Sub DeleteBO7()
On Error Resume Next
Application.CommandBars(nomBO7).Delete
End Sub
chaque contrôle est bien défini :
"plein ecran" :
Sub plein()
Dim motdepasse As String
'Saisie du rayon sous forme d'une chaîne de caractères
motdepasse = InputBox("Veuillez entrer le mot de passe")
'Ne rien faire en cas d'annulation
If motdepasse = "*****" Then
normal
End If
End Sub
"fermer" :
Private Sub fermer()
Application.Quit
End Sub
format :
Sub format()
Dim cmdB As CommandBar
For Each cmdB In Application.CommandBars
cmdB.Enabled = False
Next cmdB
' si tu veux masquer en plus la barre d'état
' la barre de formule
' les onglets...
With Application
.DisplayFullScreen = True
.DisplayStatusBar = False
.DisplayFormulaBar = False
End With
With ActiveWindow
.DisplayWorkbookTabs = False
.DisplayHeadings = False
.DisplayGridlines = False
.Zoom = 100
End With
End Sub
Menu:
Private Sub menu()
DeleteBO1
DeleteBO2
DeleteBO3
DeleteBO4
DeleteBO5
DeleteBO6
DeleteBO8
DeleteBO9
Sheets("Menu").Select
CreateBO7
End Sub
voilà je pense que je n'ai rien oublié !!! Si quelqu'un pouvait m'aider ca serait vraiment sympa quand je suis entrain de galérer à mort de plus j'ai appris hier que nous allions migrer vers Excel 2007 courant de l'année prochaine!!!
Un grand merci d'avance à ceux qui pourront passer un peu de leur temps à m'aider.
SKF
J'ai réessayer de faire mon doc directement avec excel 2007 et moment de l'enregistrement j'ai mis l'extension xslm et pas de changement.....
Je me décompose !!!!
Dernière édition: