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

macro quand on active une feuiile

4 réponses
Avatar
André free
Bonjour,
J'ai besoin de vérifier que dans une feuille, l'utilisateur a bien renseigné
une cellule:
If Range("B5").Value...
où dois-je mettre la macro et comment la nommer pour que à chaque sélection
de la feuille elle s'exécute ?
Merci de votre aide

4 réponses

Avatar
JB
Bonsoir,

L'événement SheetActivate?

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
MsgBox "coucou"
End Sub

JB
On 22 mar, 20:15, "André free" wrote:
Bonjour,
J'ai besoin de vérifier que dans une feuille, l'utilisateur a bien rens eigné
une cellule:
If Range("B5").Value...
où dois-je mettre la macro et comment la nommer pour que à chaque s élection
de la feuille elle s'exécute ?
Merci de votre aide


Avatar
André free
Oui,
et si je ne veux que pour une feuille, tout simplement:

Private Sub Worksheet_Activate()

Merci !

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

L'événement SheetActivate?

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
MsgBox "coucou"
End Sub

JB
On 22 mar, 20:15, "André free" wrote:
Bonjour,
J'ai besoin de vérifier que dans une feuille, l'utilisateur a bien
renseigné

une cellule:
If Range("B5").Value...
où dois-je mettre la macro et comment la nommer pour que à chaque
sélection

de la feuille elle s'exécute ?
Merci de votre aide


Avatar
LSteph
Bonjour,
Donc s'il y a déjà une valeur en B5 il n' y aura plus jamais besoin
de renseigner cette cellule...§?!
Alors voici mais il suffirait de désactiver les macros:

http://cjoint.com/?dwvkOcwWHa

où dois-je mettre la macro et comment la nommer pour que à chaque sélection
'''''****dans code Feuil1**************

Private Sub Worksheet_Change(ByVal Target As Range)
If IsEmpty([b5]) Then

[b5].Select
MsgBox "désolé impossible de laisser b5 vide"
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo fin
Application.enablecancelkey=true
If IsEmpty([b5]) Then
Application.EnableEvents = False
MsgBox ("Vous devez impérativement renseigner b5")
[b5].Select
End If
fin:
Application.EnableEvents = True
End Sub

'''''**********dans Thisworkbook***********

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If IsEmpty(Feuil1.[b5]) Then
Cancel = True
MsgBox "désolé vous devez renseigner b5"
End If
End Sub

Private Sub Workbook_Open()
Feuil1.[a1].Select
End Sub



Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error GoTo fin
Application.EnableEvents = False
If IsEmpty(Feuil1.[b5]) Then
Feuil1.Activate
[b5].Select

End If
fin:

Application.EnableEvents = True
End Sub



'*********************

'Cordialement

'lSteph

Bonjour,
J'ai besoin de vérifier que dans une feuille, l'utilisateur a bien renseigné
une cellule:
If Range("B5").Value...
où dois-je mettre la macro et comment la nommer pour que à chaque sélection
de la feuille elle s'exécute ?
Merci de votre aide




Avatar
André free
Oui, LSteph !

Quand l'utilisateur ouvre la feuille la première fois cette cellule est vide
et son renseignement est nécessaire pour la justesse des calculs
Ta proposition est top, puisque l'utilisateur ne peut pas fermer sans
renseigner la cellule !
Alors voici mais il suffirait de désactiver les macros:
Certes, mais s'il désactive les macros, le classeur n'a plus d'intérêt...


merci !

"LSteph" a écrit dans le message de
news:
Bonjour,
Donc s'il y a déjà une valeur en B5 il n' y aura plus jamais besoin
de renseigner cette cellule...§?!
Alors voici mais il suffirait de désactiver les macros:

http://cjoint.com/?dwvkOcwWHa

où dois-je mettre la macro et comment la nommer pour que à chaque
sélection


'''''****dans code Feuil1**************
Private Sub Worksheet_Change(ByVal Target As Range)
If IsEmpty([b5]) Then

[b5].Select
MsgBox "désolé impossible de laisser b5 vide"
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo fin
Application.enablecancelkey=true
If IsEmpty([b5]) Then
Application.EnableEvents = False
MsgBox ("Vous devez impérativement renseigner b5")
[b5].Select
End If
fin:
Application.EnableEvents = True
End Sub

'''''**********dans Thisworkbook***********

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If IsEmpty(Feuil1.[b5]) Then
Cancel = True
MsgBox "désolé vous devez renseigner b5"
End If
End Sub

Private Sub Workbook_Open()
Feuil1.[a1].Select
End Sub



Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error GoTo fin
Application.EnableEvents = False
If IsEmpty(Feuil1.[b5]) Then
Feuil1.Activate
[b5].Select

End If
fin:

Application.EnableEvents = True
End Sub



'*********************

'Cordialement

'lSteph

Bonjour,
J'ai besoin de vérifier que dans une feuille, l'utilisateur a bien
renseigné


une cellule:
If Range("B5").Value...
où dois-je mettre la macro et comment la nommer pour que à chaque
sélection


de la feuille elle s'exécute ?
Merci de votre aide