Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème macro barre perso

5 réponses
Avatar
Thierry
Bonjour,

Je suis actuellement sur la création d'une barre perso et j'ai deux
questions :

Est il possible d'activer un bouton seulement quand on se trouve sur la
bonne feuille ?

Pour l'instant mon bouton est toujours actif (quelque soit la feuille sur
laquelle je suis) :

Sub auto_open()
Dim MaBarre As CommandBar
Dim NouvBtn As CommandBarButton
Set MaBarre = Application.CommandBars.Add(Name:="Cra")
MaBarre.Visible = True

Set NouvBtn = MaBarre.Controls.Add(Type:=msoControlButton)
NouvBtn.Caption = "Mise à jour des dates"
NouvBtn.Style = msoButtonIconAndCaptionBelow
NouvBtn.OnAction = "AnMois"
NouvBtn.State = msoButtonUp
NouvBtn.Tag = "btn1"
End Sub

Lorsque je suis dans la macro je fais cela :

Sub AnMois()
Dim MonBtn As CommandBarButton
'
' Alimentation des données AN et Mois
'
[C1] = [An]
[C2] = [Mois]
[C3] = ActiveSheet.Name


If ActiveSheet.Name = "Janvier" Then
[B1] = [An]
[B2] = Month([Mois])
End If
'
'
' Ces lignes mettent le bouton dans l'état inverse
' le tag nous permet alors de retrouver le bouton,
' c'est le seul moyen pour un bouton personnalisé
'
Set MonBtn = Application.CommandBars("Cra").FindControl(, , "btn1")
MonBtn.State = Not MonBtn.State
'
End Sub


C1 et C2 me renvoie la bonne valeur l'un l'année l'autre le mois et C3 =
Janvier. Pourtant le IF ne s'execute pas Pourquoi ?

Merci.




---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000739-3, 11/05/2007
Analyse le : 13/05/2007 15:55:52
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com

5 réponses

Avatar
JB
Bonjour,

Private Sub Worksheet_Activate()
Application.CommandBars("Cra").Controls(1).Enabled = True
End Sub

Private Sub Worksheet_Deactivate()
Application.CommandBars("Cra").Controls(1).Enabled = False
End Sub

JB

On 13 mai, 15:55, "Thierry" wrote:
Bonjour,

Je suis actuellement sur la création d'une barre perso et j'ai deux
questions :

Est il possible d'activer un bouton seulement quand on se trouve sur la
bonne feuille ?

Pour l'instant mon bouton est toujours actif (quelque soit la feuille sur
laquelle je suis) :

Sub auto_open()
Dim MaBarre As CommandBar
Dim NouvBtn As CommandBarButton
Set MaBarre = Application.CommandBars.Add(Name:="Cra")
MaBarre.Visible = True

Set NouvBtn = MaBarre.Controls.Add(Type:=msoControlButton)
NouvBtn.Caption = "Mise à jour des dates"
NouvBtn.Style = msoButtonIconAndCaptionBelow
NouvBtn.OnAction = "AnMois"
NouvBtn.State = msoButtonUp
NouvBtn.Tag = "btn1"
End Sub

Lorsque je suis dans la macro je fais cela :

Sub AnMois()
Dim MonBtn As CommandBarButton
'
' Alimentation des données AN et Mois
'
[C1] = [An]
[C2] = [Mois]
[C3] = ActiveSheet.Name

If ActiveSheet.Name = "Janvier" Then
[B1] = [An]
[B2] = Month([Mois])
End If
'
'
' Ces lignes mettent le bouton dans l'état inverse
' le tag nous permet alors de retrouver le bouton,
' c'est le seul moyen pour un bouton personnalisé
'
Set MonBtn = Application.CommandBars("Cra").FindControl(, , "btn1")
MonBtn.State = Not MonBtn.State
'
End Sub

C1 et C2 me renvoie la bonne valeur l'un l'année l'autre le mois et C3 =
Janvier. Pourtant le IF ne s'execute pas Pourquoi ?

Merci.

---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000739-3, 11/05/2007
Analyse le : 13/05/2007 15:55:52
avast! - copyright (c) 1988-2007 ALWIL Software.http://www.avast.com


Avatar
Thierry
Dans ma feuille de Janvier (Worksheet) j'ai mis :
Private Sub Worksheet_Activate()
Application.CommandBars("Cra").Controls(1).Enabled = True
End Sub
et
Private Sub Worksheet_Deactivate()
Application.CommandBars("Cra").Controls(2).Enabled = False
End Sub

Je veux que le premier bouton soit actif et pas le second pourtant ils sont
actif ????

et que penses tu de mon test :

If ActiveSheet.Name = "Janvier" Then
[B1] = [An]
[B2] = [Mois]
End If

qui ne s'execute pas ?????


"JB" a écrit dans le message de news:

Bonjour,

Private Sub Worksheet_Activate()
Application.CommandBars("Cra").Controls(1).Enabled = True
End Sub

Private Sub Worksheet_Deactivate()
Application.CommandBars("Cra").Controls(1).Enabled = False
End Sub

JB

On 13 mai, 15:55, "Thierry" wrote:
Bonjour,

Je suis actuellement sur la création d'une barre perso et j'ai deux
questions :

Est il possible d'activer un bouton seulement quand on se trouve sur la
bonne feuille ?

Pour l'instant mon bouton est toujours actif (quelque soit la feuille sur
laquelle je suis) :

Sub auto_open()
Dim MaBarre As CommandBar
Dim NouvBtn As CommandBarButton
Set MaBarre = Application.CommandBars.Add(Name:="Cra")
MaBarre.Visible = True

Set NouvBtn = MaBarre.Controls.Add(Type:=msoControlButton)
NouvBtn.Caption = "Mise à jour des dates"
NouvBtn.Style = msoButtonIconAndCaptionBelow
NouvBtn.OnAction = "AnMois"
NouvBtn.State = msoButtonUp
NouvBtn.Tag = "btn1"
End Sub

Lorsque je suis dans la macro je fais cela :

Sub AnMois()
Dim MonBtn As CommandBarButton
'
' Alimentation des données AN et Mois
'
[C1] = [An]
[C2] = [Mois]
[C3] = ActiveSheet.Name

If ActiveSheet.Name = "Janvier" Then
[B1] = [An]
[B2] = Month([Mois])
End If
'
'
' Ces lignes mettent le bouton dans l'état inverse
' le tag nous permet alors de retrouver le bouton,
' c'est le seul moyen pour un bouton personnalisé
'
Set MonBtn = Application.CommandBars("Cra").FindControl(, , "btn1")
MonBtn.State = Not MonBtn.State
'
End Sub

C1 et C2 me renvoie la bonne valeur l'un l'année l'autre le mois et C3 > Janvier. Pourtant le IF ne s'execute pas Pourquoi ?

Merci.

---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000739-3, 11/05/2007
Analyse le : 13/05/2007 15:55:52
avast! - copyright (c) 1988-2007 ALWIL Software.http://www.avast.com





---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000739-3, 11/05/2007
Analyse le : 13/05/2007 16:46:26
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com






---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000739-3, 11/05/2007
Analyse le : 13/05/2007 17:08:51
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com

Avatar
JB
Private Sub Worksheet_Activate()
Application.CommandBars("Cra").Controls(2).Enabled = True
End Sub

Private Sub Worksheet_Deactivate()
Application.CommandBars("Cra").Controls(2).Enabled = False
End Sub

http://cjoint.com/?fnrrqJJXGg

JB

On 13 mai, 17:08, "Thierry" wrote:
Dans ma feuille de Janvier (Worksheet) j'ai mis :
Private Sub Worksheet_Activate()
Application.CommandBars("Cra").Controls(1).Enabled = True
End Sub
et
Private Sub Worksheet_Deactivate()
Application.CommandBars("Cra").Controls(2).Enabled = False
End Sub

Je veux que le premier bouton soit actif et pas le second pourtant ils so nt
actif ????

et que penses tu de mon test :

If ActiveSheet.Name = "Janvier" Then
[B1] = [An]
[B2] = [Mois]
End If

qui ne s'execute pas ?????

"JB" a écrit dans le message de news:

Bonjour,

Private Sub Worksheet_Activate()
Application.CommandBars("Cra").Controls(1).Enabled = True
End Sub

Private Sub Worksheet_Deactivate()
Application.CommandBars("Cra").Controls(1).Enabled = False
End Sub

JB

On 13 mai, 15:55, "Thierry" wrote:





Bonjour,

Je suis actuellement sur la création d'une barre perso et j'ai deux
questions :

Est il possible d'activer un bouton seulement quand on se trouve sur la
bonne feuille ?

Pour l'instant mon bouton est toujours actif (quelque soit la feuille s ur
laquelle je suis) :

Sub auto_open()
Dim MaBarre As CommandBar
Dim NouvBtn As CommandBarButton
Set MaBarre = Application.CommandBars.Add(Name:="Cra")
MaBarre.Visible = True

Set NouvBtn = MaBarre.Controls.Add(Type:=msoControlButton)
NouvBtn.Caption = "Mise à jour des dates"
NouvBtn.Style = msoButtonIconAndCaptionBelow
NouvBtn.OnAction = "AnMois"
NouvBtn.State = msoButtonUp
NouvBtn.Tag = "btn1"
End Sub

Lorsque je suis dans la macro je fais cela :

Sub AnMois()
Dim MonBtn As CommandBarButton
'
' Alimentation des données AN et Mois
'
[C1] = [An]
[C2] = [Mois]
[C3] = ActiveSheet.Name

If ActiveSheet.Name = "Janvier" Then
[B1] = [An]
[B2] = Month([Mois])
End If
'
'
' Ces lignes mettent le bouton dans l'état inverse
' le tag nous permet alors de retrouver le bouton,
' c'est le seul moyen pour un bouton personnalisé
'
Set MonBtn = Application.CommandBars("Cra").FindControl(, , "btn1")
MonBtn.State = Not MonBtn.State
'
End Sub

C1 et C2 me renvoie la bonne valeur l'un l'année l'autre le mois et C 3 =
Janvier. Pourtant le IF ne s'execute pas Pourquoi ?

Merci.

---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000739-3, 11/05/2007
Analyse le : 13/05/2007 15:55:52
avast! - copyright (c) 1988-2007 ALWIL Software.http://www.avast.com


---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000739-3, 11/05/2007
Analyse le : 13/05/2007 16:46:26
avast! - copyright (c) 1988-2007 ALWIL Software.http://www.avast.com

---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000739-3, 11/05/2007
Analyse le : 13/05/2007 17:08:51
avast! - copyright (c) 1988-2007 ALWIL Software.http://www.avast.com- Mas quer le texte des messages précédents -

- Afficher le texte des messages précédents -



Avatar
JB
Private Sub Worksheet_Activate()
Application.CommandBars("Cra").Controls(2).Enabled = True
End Sub

Private Sub Worksheet_Deactivate()
Application.CommandBars("Cra").Controls(2).Enabled = False
End Sub

http://cjoint.com/?fnrrqJJXGg

JB


On 13 mai, 17:08, "Thierry" wrote:
Dans ma feuille de Janvier (Worksheet) j'ai mis :
Private Sub Worksheet_Activate()
Application.CommandBars("Cra").Controls(1).Enabled = True
End Sub
et
Private Sub Worksheet_Deactivate()
Application.CommandBars("Cra").Controls(2).Enabled = False
End Sub

Je veux que le premier bouton soit actif et pas le second pourtant ils so nt
actif ????

et que penses tu de mon test :

If ActiveSheet.Name = "Janvier" Then
[B1] = [An]
[B2] = [Mois]
End If

qui ne s'execute pas ?????

"JB" a écrit dans le message de news:

Bonjour,

Private Sub Worksheet_Activate()
Application.CommandBars("Cra").Controls(1).Enabled = True
End Sub

Private Sub Worksheet_Deactivate()
Application.CommandBars("Cra").Controls(1).Enabled = False
End Sub

JB

On 13 mai, 15:55, "Thierry" wrote:





Bonjour,

Je suis actuellement sur la création d'une barre perso et j'ai deux
questions :

Est il possible d'activer un bouton seulement quand on se trouve sur la
bonne feuille ?

Pour l'instant mon bouton est toujours actif (quelque soit la feuille s ur
laquelle je suis) :

Sub auto_open()
Dim MaBarre As CommandBar
Dim NouvBtn As CommandBarButton
Set MaBarre = Application.CommandBars.Add(Name:="Cra")
MaBarre.Visible = True

Set NouvBtn = MaBarre.Controls.Add(Type:=msoControlButton)
NouvBtn.Caption = "Mise à jour des dates"
NouvBtn.Style = msoButtonIconAndCaptionBelow
NouvBtn.OnAction = "AnMois"
NouvBtn.State = msoButtonUp
NouvBtn.Tag = "btn1"
End Sub

Lorsque je suis dans la macro je fais cela :

Sub AnMois()
Dim MonBtn As CommandBarButton
'
' Alimentation des données AN et Mois
'
[C1] = [An]
[C2] = [Mois]
[C3] = ActiveSheet.Name

If ActiveSheet.Name = "Janvier" Then
[B1] = [An]
[B2] = Month([Mois])
End If
'
'
' Ces lignes mettent le bouton dans l'état inverse
' le tag nous permet alors de retrouver le bouton,
' c'est le seul moyen pour un bouton personnalisé
'
Set MonBtn = Application.CommandBars("Cra").FindControl(, , "btn1")
MonBtn.State = Not MonBtn.State
'
End Sub

C1 et C2 me renvoie la bonne valeur l'un l'année l'autre le mois et C 3 =
Janvier. Pourtant le IF ne s'execute pas Pourquoi ?

Merci.

---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000739-3, 11/05/2007
Analyse le : 13/05/2007 15:55:52
avast! - copyright (c) 1988-2007 ALWIL Software.http://www.avast.com


---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000739-3, 11/05/2007
Analyse le : 13/05/2007 16:46:26
avast! - copyright (c) 1988-2007 ALWIL Software.http://www.avast.com

---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000739-3, 11/05/2007
Analyse le : 13/05/2007 17:08:51
avast! - copyright (c) 1988-2007 ALWIL Software.http://www.avast.com- Mas quer le texte des messages précédents -

- Afficher le texte des messages précédents -



Avatar
Thierry
Merci,
Au fait mon test marche bien je ne sais pas ce qu'il y a eu.

"JB" a écrit dans le message de news:

Private Sub Worksheet_Activate()
Application.CommandBars("Cra").Controls(2).Enabled = True
End Sub

Private Sub Worksheet_Deactivate()
Application.CommandBars("Cra").Controls(2).Enabled = False
End Sub

http://cjoint.com/?fnrrqJJXGg

JB


On 13 mai, 17:08, "Thierry" wrote:
Dans ma feuille de Janvier (Worksheet) j'ai mis :
Private Sub Worksheet_Activate()
Application.CommandBars("Cra").Controls(1).Enabled = True
End Sub
et
Private Sub Worksheet_Deactivate()
Application.CommandBars("Cra").Controls(2).Enabled = False
End Sub

Je veux que le premier bouton soit actif et pas le second pourtant ils
sont
actif ????

et que penses tu de mon test :

If ActiveSheet.Name = "Janvier" Then
[B1] = [An]
[B2] = [Mois]
End If

qui ne s'execute pas ?????

"JB" a écrit dans le message de news:

Bonjour,

Private Sub Worksheet_Activate()
Application.CommandBars("Cra").Controls(1).Enabled = True
End Sub

Private Sub Worksheet_Deactivate()
Application.CommandBars("Cra").Controls(1).Enabled = False
End Sub

JB

On 13 mai, 15:55, "Thierry" wrote:





Bonjour,

Je suis actuellement sur la création d'une barre perso et j'ai deux
questions :

Est il possible d'activer un bouton seulement quand on se trouve sur la
bonne feuille ?

Pour l'instant mon bouton est toujours actif (quelque soit la feuille
sur
laquelle je suis) :

Sub auto_open()
Dim MaBarre As CommandBar
Dim NouvBtn As CommandBarButton
Set MaBarre = Application.CommandBars.Add(Name:="Cra")
MaBarre.Visible = True

Set NouvBtn = MaBarre.Controls.Add(Type:=msoControlButton)
NouvBtn.Caption = "Mise à jour des dates"
NouvBtn.Style = msoButtonIconAndCaptionBelow
NouvBtn.OnAction = "AnMois"
NouvBtn.State = msoButtonUp
NouvBtn.Tag = "btn1"
End Sub

Lorsque je suis dans la macro je fais cela :

Sub AnMois()
Dim MonBtn As CommandBarButton
'
' Alimentation des données AN et Mois
'
[C1] = [An]
[C2] = [Mois]
[C3] = ActiveSheet.Name

If ActiveSheet.Name = "Janvier" Then
[B1] = [An]
[B2] = Month([Mois])
End If
'
'
' Ces lignes mettent le bouton dans l'état inverse
' le tag nous permet alors de retrouver le bouton,
' c'est le seul moyen pour un bouton personnalisé
'
Set MonBtn = Application.CommandBars("Cra").FindControl(, , "btn1")
MonBtn.State = Not MonBtn.State
'
End Sub

C1 et C2 me renvoie la bonne valeur l'un l'année l'autre le mois et C3 > > Janvier. Pourtant le IF ne s'execute pas Pourquoi ?

Merci.

---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000739-3, 11/05/2007
Analyse le : 13/05/2007 15:55:52
avast! - copyright (c) 1988-2007 ALWIL Software.http://www.avast.com


---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000739-3, 11/05/2007
Analyse le : 13/05/2007 16:46:26
avast! - copyright (c) 1988-2007 ALWIL Software.http://www.avast.com

---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000739-3, 11/05/2007
Analyse le : 13/05/2007 17:08:51
avast! - copyright (c) 1988-2007 ALWIL Software.http://www.avast.com-
Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -





---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000739-3, 11/05/2007
Analyse le : 13/05/2007 17:31:32
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com






---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000739-3, 11/05/2007
Analyse le : 13/05/2007 17:32:10
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com