Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichDenis
Copy ceci dans le ThisWorkbook de ton classeur. Cela devrait être suffisant :
'--------------------------- Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
MsgBox Sh.Name
End Sub '---------------------------
"Alain79" a écrit dans le message de news: em67in$b0l$ Bonjour - En introduisant le code suivant dans chaque feuille d'un classeur
Private Sub Worksheet_Deactivate() msgbox activesheet.name end sub
Je m'attendais à voir affichée le nom de la feuille quittée et non pas celui de la feuille activée!!!
Autrement dit, savez vous comment faire pour récupérer le nom de la feuille quittée? et lui faire subir un traitement avant de passer à la suivante...
Merci à vous Alain79
Copy ceci dans le ThisWorkbook de ton classeur.
Cela devrait être suffisant :
'---------------------------
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
MsgBox Sh.Name
End Sub
'---------------------------
"Alain79" <desaivresanospam@free.fr> a écrit dans le message de news:
em67in$b0l$1@s1.news.oleane.net...
Bonjour - En introduisant le code suivant dans chaque feuille d'un classeur
Private Sub Worksheet_Deactivate()
msgbox activesheet.name
end sub
Je m'attendais à voir affichée le nom de la feuille quittée et non pas celui
de la feuille activée!!!
Autrement dit, savez vous comment faire pour récupérer le nom de la feuille
quittée? et lui faire subir un traitement avant de passer à la suivante...
Copy ceci dans le ThisWorkbook de ton classeur. Cela devrait être suffisant :
'--------------------------- Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
MsgBox Sh.Name
End Sub '---------------------------
"Alain79" a écrit dans le message de news: em67in$b0l$ Bonjour - En introduisant le code suivant dans chaque feuille d'un classeur
Private Sub Worksheet_Deactivate() msgbox activesheet.name end sub
Je m'attendais à voir affichée le nom de la feuille quittée et non pas celui de la feuille activée!!!
Autrement dit, savez vous comment faire pour récupérer le nom de la feuille quittée? et lui faire subir un traitement avant de passer à la suivante...
Merci à vous Alain79
Alain79
Bien vu mais alors comment appeler à partir de cette routine située dans l'objet "Classeur" la routine déjà disponible dans la feuille en question? Désolé pour ces questions un peu basiques mais jusqu'à présent je travaillais essentiellement à partir d'un Addin, le passage au code dans les objet d'un classeur me déroute un peu... Alain79
"MichDenis" wrote in message news:%239sQx$
Copy ceci dans le ThisWorkbook de ton classeur. Cela devrait être suffisant :
'--------------------------- Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
MsgBox Sh.Name
End Sub '---------------------------
"Alain79" a écrit dans le message de news: em67in$b0l$ Bonjour - En introduisant le code suivant dans chaque feuille d'un classeur
Private Sub Worksheet_Deactivate() msgbox activesheet.name end sub
Je m'attendais à voir affichée le nom de la feuille quittée et non pas celui
de la feuille activée!!!
Autrement dit, savez vous comment faire pour récupérer le nom de la feuille
quittée? et lui faire subir un traitement avant de passer à la suivante...
Merci à vous Alain79
Bien vu mais alors comment appeler à partir de cette routine située dans
l'objet "Classeur" la routine déjà disponible dans la feuille en question?
Désolé pour ces questions un peu basiques mais jusqu'à présent je
travaillais essentiellement à partir d'un Addin, le passage au code dans les
objet d'un classeur me déroute un peu...
Alain79
"MichDenis" <michdenis@hotmail.com> wrote in message
news:%239sQx$qIHHA.3872@TK2MSFTNGP06.phx.gbl...
Copy ceci dans le ThisWorkbook de ton classeur.
Cela devrait être suffisant :
'---------------------------
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
MsgBox Sh.Name
End Sub
'---------------------------
"Alain79" <desaivresanospam@free.fr> a écrit dans le message de news:
em67in$b0l$1@s1.news.oleane.net...
Bonjour - En introduisant le code suivant dans chaque feuille d'un
classeur
Private Sub Worksheet_Deactivate()
msgbox activesheet.name
end sub
Je m'attendais à voir affichée le nom de la feuille quittée et non pas
celui
de la feuille activée!!!
Autrement dit, savez vous comment faire pour récupérer le nom de la
feuille
quittée? et lui faire subir un traitement avant de passer à la suivante...
Bien vu mais alors comment appeler à partir de cette routine située dans l'objet "Classeur" la routine déjà disponible dans la feuille en question? Désolé pour ces questions un peu basiques mais jusqu'à présent je travaillais essentiellement à partir d'un Addin, le passage au code dans les objet d'un classeur me déroute un peu... Alain79
"MichDenis" wrote in message news:%239sQx$
Copy ceci dans le ThisWorkbook de ton classeur. Cela devrait être suffisant :
'--------------------------- Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
MsgBox Sh.Name
End Sub '---------------------------
"Alain79" a écrit dans le message de news: em67in$b0l$ Bonjour - En introduisant le code suivant dans chaque feuille d'un classeur
Private Sub Worksheet_Deactivate() msgbox activesheet.name end sub
Je m'attendais à voir affichée le nom de la feuille quittée et non pas celui
de la feuille activée!!!
Autrement dit, savez vous comment faire pour récupérer le nom de la feuille
quittée? et lui faire subir un traitement avant de passer à la suivante...
Merci à vous Alain79
lSteph
Bonjour,
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) 'ce code aura lieu après Dim départ As String Dim arrivée As String
départ = Sh.Name arrivée = ActiveSheet.Name
'Si on voulait que le traitement ait lieu avant 'avoir quitté la feuille on peut contourner en 'désactivant les évènements et en revenant dessus 'avant de repasser à l'autre et de réactiver les 'événnements 'mais on peut simplement aussi en y faisant référence Application.EnableEvents = False Sheets(départ).Activate MsgBox "Ceci est la feuille que vous alliez quitter" Sheets(arrivée).Activate MsgBox "Ceci est la feuille que vous avez activée" Application.EnableEvents = True End Sub
'Cdlt.
'lSteph
Bonjour - En introduisant le code suivant dans chaque feuille d'un classe ur
Private Sub Worksheet_Deactivate() msgbox activesheet.name end sub
Je m'attendais à voir affichée le nom de la feuille quittée et non pas celui de la feuille activée!!!
Autrement dit, savez vous comment faire pour récupérer le nom de la f euille quittée? et lui faire subir un traitement avant de passer à la suivan te...
Merci à vous Alain79
Bonjour,
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
'ce code aura lieu après
Dim départ As String
Dim arrivée As String
départ = Sh.Name
arrivée = ActiveSheet.Name
'Si on voulait que le traitement ait lieu avant
'avoir quitté la feuille on peut contourner en
'désactivant les évènements et en revenant dessus
'avant de repasser à l'autre et de réactiver les
'événnements
'mais on peut simplement aussi en y faisant référence
Application.EnableEvents = False
Sheets(départ).Activate
MsgBox "Ceci est la feuille que vous alliez quitter"
Sheets(arrivée).Activate
MsgBox "Ceci est la feuille que vous avez activée"
Application.EnableEvents = True
End Sub
'Cdlt.
'lSteph
Bonjour - En introduisant le code suivant dans chaque feuille d'un classe ur
Private Sub Worksheet_Deactivate()
msgbox activesheet.name
end sub
Je m'attendais à voir affichée le nom de la feuille quittée et non pas celui
de la feuille activée!!!
Autrement dit, savez vous comment faire pour récupérer le nom de la f euille
quittée? et lui faire subir un traitement avant de passer à la suivan te...
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) 'ce code aura lieu après Dim départ As String Dim arrivée As String
départ = Sh.Name arrivée = ActiveSheet.Name
'Si on voulait que le traitement ait lieu avant 'avoir quitté la feuille on peut contourner en 'désactivant les évènements et en revenant dessus 'avant de repasser à l'autre et de réactiver les 'événnements 'mais on peut simplement aussi en y faisant référence Application.EnableEvents = False Sheets(départ).Activate MsgBox "Ceci est la feuille que vous alliez quitter" Sheets(arrivée).Activate MsgBox "Ceci est la feuille que vous avez activée" Application.EnableEvents = True End Sub
'Cdlt.
'lSteph
Bonjour - En introduisant le code suivant dans chaque feuille d'un classe ur
Private Sub Worksheet_Deactivate() msgbox activesheet.name end sub
Je m'attendais à voir affichée le nom de la feuille quittée et non pas celui de la feuille activée!!!
Autrement dit, savez vous comment faire pour récupérer le nom de la f euille quittée? et lui faire subir un traitement avant de passer à la suivan te...
Merci à vous Alain79
lSteph
.. Pour répondre à ta seconde question, il faut touty mettre dans le ThisWorkbook, Si tant est que chaque feuille ait eu en outre sa propre routine , tu peux gèrer cela avec un select case .
Cdlt.
LSteph
Bonjour,
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) 'ce code aura lieu après Dim départ As String Dim arrivée As String
départ = Sh.Name arrivée = ActiveSheet.Name
'Si on voulait que le traitement ait lieu avant 'avoir quitté la feuille on peut contourner en 'désactivant les évènements et en revenant dessus 'avant de repasser à l'autre et de réactiver les 'événnements 'mais on peut simplement aussi en y faisant référence Application.EnableEvents = False Sheets(départ).Activate MsgBox "Ceci est la feuille que vous alliez quitter" Sheets(arrivée).Activate MsgBox "Ceci est la feuille que vous avez activée" Application.EnableEvents = True End Sub
'Cdlt.
'lSteph
Bonjour - En introduisant le code suivant dans chaque feuille d'un clas seur
Private Sub Worksheet_Deactivate() msgbox activesheet.name end sub
Je m'attendais à voir affichée le nom de la feuille quittée et no n pas celui de la feuille activée!!!
Autrement dit, savez vous comment faire pour récupérer le nom de la feuille quittée? et lui faire subir un traitement avant de passer à la suiv ante...
Merci à vous Alain79
..
Pour répondre à ta seconde question, il faut touty mettre dans le
ThisWorkbook,
Si tant est que chaque feuille ait eu en outre sa propre routine , tu
peux gèrer cela
avec un select case .
Cdlt.
LSteph
Bonjour,
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
'ce code aura lieu après
Dim départ As String
Dim arrivée As String
départ = Sh.Name
arrivée = ActiveSheet.Name
'Si on voulait que le traitement ait lieu avant
'avoir quitté la feuille on peut contourner en
'désactivant les évènements et en revenant dessus
'avant de repasser à l'autre et de réactiver les
'événnements
'mais on peut simplement aussi en y faisant référence
Application.EnableEvents = False
Sheets(départ).Activate
MsgBox "Ceci est la feuille que vous alliez quitter"
Sheets(arrivée).Activate
MsgBox "Ceci est la feuille que vous avez activée"
Application.EnableEvents = True
End Sub
'Cdlt.
'lSteph
Bonjour - En introduisant le code suivant dans chaque feuille d'un clas seur
Private Sub Worksheet_Deactivate()
msgbox activesheet.name
end sub
Je m'attendais à voir affichée le nom de la feuille quittée et no n pas celui
de la feuille activée!!!
Autrement dit, savez vous comment faire pour récupérer le nom de la feuille
quittée? et lui faire subir un traitement avant de passer à la suiv ante...
.. Pour répondre à ta seconde question, il faut touty mettre dans le ThisWorkbook, Si tant est que chaque feuille ait eu en outre sa propre routine , tu peux gèrer cela avec un select case .
Cdlt.
LSteph
Bonjour,
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) 'ce code aura lieu après Dim départ As String Dim arrivée As String
départ = Sh.Name arrivée = ActiveSheet.Name
'Si on voulait que le traitement ait lieu avant 'avoir quitté la feuille on peut contourner en 'désactivant les évènements et en revenant dessus 'avant de repasser à l'autre et de réactiver les 'événnements 'mais on peut simplement aussi en y faisant référence Application.EnableEvents = False Sheets(départ).Activate MsgBox "Ceci est la feuille que vous alliez quitter" Sheets(arrivée).Activate MsgBox "Ceci est la feuille que vous avez activée" Application.EnableEvents = True End Sub
'Cdlt.
'lSteph
Bonjour - En introduisant le code suivant dans chaque feuille d'un clas seur
Private Sub Worksheet_Deactivate() msgbox activesheet.name end sub
Je m'attendais à voir affichée le nom de la feuille quittée et no n pas celui de la feuille activée!!!
Autrement dit, savez vous comment faire pour récupérer le nom de la feuille quittée? et lui faire subir un traitement avant de passer à la suiv ante...
Merci à vous Alain79
MichDenis
Si à partir de la procédure proposée tu désirais appeler une procédure à l'intérieur d'un module feuille, tu as 2 possibilités :
A ) Dans la procédure du module feuille en question, tu enlèves le mot "private" dans la ligne de déclaration de la procédure : Exemple : Tu remplaces Private Sub Worksheet_Deactivate() Par Sub Worksheet_Deactivate()
Dans le Thisworkbook, tu aurais : '----------------- Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) Sheets(Sh.Name).Worksheet_Deactivate End Sub '-----------------
B ) Tu peux aussi utiliser cette ligne de code et laisser intacte la ligne de code du module feuille '------------------------------- Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) Application.Run Sh.Parent.Name & "!" & _ Sh.CodeName & "." & "Worksheet_Deactivate" End Sub '-------------------------------
P.S. La procédure "Worksheet_Deactivate" doit exister sinon la procédure se plante...
"Alain79" a écrit dans le message de news: em697p$bsa$ Bien vu mais alors comment appeler à partir de cette routine située dans l'objet "Classeur" la routine déjà disponible dans la feuille en question? Désolé pour ces questions un peu basiques mais jusqu'à présent je travaillais essentiellement à partir d'un Addin, le passage au code dans les objet d'un classeur me déroute un peu... Alain79
"MichDenis" wrote in message news:%239sQx$
Copy ceci dans le ThisWorkbook de ton classeur. Cela devrait être suffisant :
'--------------------------- Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
MsgBox Sh.Name
End Sub '---------------------------
"Alain79" a écrit dans le message de news: em67in$b0l$ Bonjour - En introduisant le code suivant dans chaque feuille d'un classeur
Private Sub Worksheet_Deactivate() msgbox activesheet.name end sub
Je m'attendais à voir affichée le nom de la feuille quittée et non pas celui
de la feuille activée!!!
Autrement dit, savez vous comment faire pour récupérer le nom de la feuille
quittée? et lui faire subir un traitement avant de passer à la suivante...
Merci à vous Alain79
Si à partir de la procédure proposée tu désirais appeler
une procédure à l'intérieur d'un module feuille, tu as 2
possibilités :
A ) Dans la procédure du module feuille en question, tu enlèves
le mot "private" dans la ligne de déclaration de la procédure :
Exemple :
Tu remplaces
Private Sub Worksheet_Deactivate()
Par
Sub Worksheet_Deactivate()
Dans le Thisworkbook, tu aurais :
'-----------------
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Sheets(Sh.Name).Worksheet_Deactivate
End Sub
'-----------------
B ) Tu peux aussi utiliser cette ligne de code et laisser intacte
la ligne de code du module feuille
'-------------------------------
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Application.Run Sh.Parent.Name & "!" & _
Sh.CodeName & "." & "Worksheet_Deactivate"
End Sub
'-------------------------------
P.S. La procédure "Worksheet_Deactivate" doit exister
sinon la procédure se plante...
"Alain79" <desaivresanospam@free.fr> a écrit dans le message de news:
em697p$bsa$1@s1.news.oleane.net...
Bien vu mais alors comment appeler à partir de cette routine située dans
l'objet "Classeur" la routine déjà disponible dans la feuille en question?
Désolé pour ces questions un peu basiques mais jusqu'à présent je
travaillais essentiellement à partir d'un Addin, le passage au code dans les
objet d'un classeur me déroute un peu...
Alain79
"MichDenis" <michdenis@hotmail.com> wrote in message
news:%239sQx$qIHHA.3872@TK2MSFTNGP06.phx.gbl...
Copy ceci dans le ThisWorkbook de ton classeur.
Cela devrait être suffisant :
'---------------------------
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
MsgBox Sh.Name
End Sub
'---------------------------
"Alain79" <desaivresanospam@free.fr> a écrit dans le message de news:
em67in$b0l$1@s1.news.oleane.net...
Bonjour - En introduisant le code suivant dans chaque feuille d'un
classeur
Private Sub Worksheet_Deactivate()
msgbox activesheet.name
end sub
Je m'attendais à voir affichée le nom de la feuille quittée et non pas
celui
de la feuille activée!!!
Autrement dit, savez vous comment faire pour récupérer le nom de la
feuille
quittée? et lui faire subir un traitement avant de passer à la suivante...
Si à partir de la procédure proposée tu désirais appeler une procédure à l'intérieur d'un module feuille, tu as 2 possibilités :
A ) Dans la procédure du module feuille en question, tu enlèves le mot "private" dans la ligne de déclaration de la procédure : Exemple : Tu remplaces Private Sub Worksheet_Deactivate() Par Sub Worksheet_Deactivate()
Dans le Thisworkbook, tu aurais : '----------------- Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) Sheets(Sh.Name).Worksheet_Deactivate End Sub '-----------------
B ) Tu peux aussi utiliser cette ligne de code et laisser intacte la ligne de code du module feuille '------------------------------- Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) Application.Run Sh.Parent.Name & "!" & _ Sh.CodeName & "." & "Worksheet_Deactivate" End Sub '-------------------------------
P.S. La procédure "Worksheet_Deactivate" doit exister sinon la procédure se plante...
"Alain79" a écrit dans le message de news: em697p$bsa$ Bien vu mais alors comment appeler à partir de cette routine située dans l'objet "Classeur" la routine déjà disponible dans la feuille en question? Désolé pour ces questions un peu basiques mais jusqu'à présent je travaillais essentiellement à partir d'un Addin, le passage au code dans les objet d'un classeur me déroute un peu... Alain79
"MichDenis" wrote in message news:%239sQx$
Copy ceci dans le ThisWorkbook de ton classeur. Cela devrait être suffisant :
'--------------------------- Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
MsgBox Sh.Name
End Sub '---------------------------
"Alain79" a écrit dans le message de news: em67in$b0l$ Bonjour - En introduisant le code suivant dans chaque feuille d'un classeur
Private Sub Worksheet_Deactivate() msgbox activesheet.name end sub
Je m'attendais à voir affichée le nom de la feuille quittée et non pas celui
de la feuille activée!!!
Autrement dit, savez vous comment faire pour récupérer le nom de la feuille
quittée? et lui faire subir un traitement avant de passer à la suivante...