Bonjour,
j'ai une petite question sur Les procédures événementielles,
Un petit exemple pour illustrer ma demande : A chaque fois que je
sélectionne une cellule dans la feuille, un MsgBox apparait en indiquant la
valeur de la cellule sélectionnée.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MaCellule = Target.Value
MsgBox "la valeur de la cellule est : " & MaCellule
End Sub
Le code de cette procédure évènementielle est situé dans le code de la
feuille de calcul elle-même.
Ma question est la suivante :
Comment faire que cette procédure évènementielle fonctionne quel que soit le
fichier Excel ouvert via une macro complémentaire XLA?
La question est en fait de savoir quand l'utilisateur change de cellule pour
une XLA, afin d'appliquer une macro.
Je ne sais pas si je me suis bien exprimé dans ma requête
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
Bonjour Xtof,
Sauf errreur , je ne crois pas que ce que tu désires puisse être obtenu par un fichier XLA. Mais si tu le désires, tu peux utiliser un module de classe.
Voici la démarche avec un module de classe :
A ) Insère un module de Classe : insertion / module de classe B ) Baptise-le "MonApp" : La proprité Name de l'objet C) Dans le module de classe : ajoute le code suivant
'Déclaration de la variable dans le haut du module Public WithEvents XlEvent As Application
'---------------------------- Private Sub XlEvent_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim Message As String Message = "Le nom du classeur est : " & Sh.Parent.Name & vbCrLf Message = Message & "Le nom de la feuille est : " & Sh.Name & vbCrLf Message = Message & "L'adresse de la cellule est : " & Target.Address
MsgBox Message
End Sub '----------------------------
D ) Dans un module Standard :
'Déclaration de la variable dans le haut du module Dim VarApp As New MonApp
'Tu exécutes cette procédure à l'ouverture du fichier en 'utilisant l'événement "Workbook_Open" situé dans le ThisWorkbook '------------------------------ Sub InitialisationDeMonApp()
Set VarApp.XlEvent = Application
End Sub '------------------------------
Si tu ouvres maintenant ce fichier ....tu vas pouvoir sélectionner la feuille et la cellule du classeur que tu désires et avoir un message qui te retournera l'adresse de la cellule sélectionnée.
Salutations!
"Xtof" a écrit dans le message de news: Bonjour, j'ai une petite question sur Les procédures événementielles,
Un petit exemple pour illustrer ma demande : A chaque fois que je sélectionne une cellule dans la feuille, un MsgBox apparait en indiquant la valeur de la cellule sélectionnée.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) MaCellule = Target.Value MsgBox "la valeur de la cellule est : " & MaCellule End Sub
Le code de cette procédure évènementielle est situé dans le code de la feuille de calcul elle-même.
Ma question est la suivante : Comment faire que cette procédure évènementielle fonctionne quel que soit le fichier Excel ouvert via une macro complémentaire XLA? La question est en fait de savoir quand l'utilisateur change de cellule pour une XLA, afin d'appliquer une macro.
Je ne sais pas si je me suis bien exprimé dans ma requête
A+ Xtof
Bonjour Xtof,
Sauf errreur , je ne crois pas que ce que tu désires puisse être obtenu par un fichier XLA. Mais si tu le désires, tu
peux utiliser un module de classe.
Voici la démarche avec un module de classe :
A ) Insère un module de Classe : insertion / module de classe
B ) Baptise-le "MonApp" : La proprité Name de l'objet
C) Dans le module de classe : ajoute le code suivant
'Déclaration de la variable dans le haut du module
Public WithEvents XlEvent As Application
'----------------------------
Private Sub XlEvent_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim Message As String
Message = "Le nom du classeur est : " & Sh.Parent.Name & vbCrLf
Message = Message & "Le nom de la feuille est : " & Sh.Name & vbCrLf
Message = Message & "L'adresse de la cellule est : " & Target.Address
MsgBox Message
End Sub
'----------------------------
D ) Dans un module Standard :
'Déclaration de la variable dans le haut du module
Dim VarApp As New MonApp
'Tu exécutes cette procédure à l'ouverture du fichier en
'utilisant l'événement "Workbook_Open" situé dans le ThisWorkbook
'------------------------------
Sub InitialisationDeMonApp()
Set VarApp.XlEvent = Application
End Sub
'------------------------------
Si tu ouvres maintenant ce fichier ....tu vas pouvoir sélectionner la feuille et la cellule du classeur que tu désires
et avoir un message qui te retournera l'adresse de la cellule sélectionnée.
Salutations!
"Xtof" <canari@lavache.com> a écrit dans le message de news: eYv5AsxxEHA.3976@TK2MSFTNGP09.phx.gbl...
Bonjour,
j'ai une petite question sur Les procédures événementielles,
Un petit exemple pour illustrer ma demande : A chaque fois que je
sélectionne une cellule dans la feuille, un MsgBox apparait en indiquant la
valeur de la cellule sélectionnée.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MaCellule = Target.Value
MsgBox "la valeur de la cellule est : " & MaCellule
End Sub
Le code de cette procédure évènementielle est situé dans le code de la
feuille de calcul elle-même.
Ma question est la suivante :
Comment faire que cette procédure évènementielle fonctionne quel que soit le
fichier Excel ouvert via une macro complémentaire XLA?
La question est en fait de savoir quand l'utilisateur change de cellule pour
une XLA, afin d'appliquer une macro.
Je ne sais pas si je me suis bien exprimé dans ma requête
Sauf errreur , je ne crois pas que ce que tu désires puisse être obtenu par un fichier XLA. Mais si tu le désires, tu peux utiliser un module de classe.
Voici la démarche avec un module de classe :
A ) Insère un module de Classe : insertion / module de classe B ) Baptise-le "MonApp" : La proprité Name de l'objet C) Dans le module de classe : ajoute le code suivant
'Déclaration de la variable dans le haut du module Public WithEvents XlEvent As Application
'---------------------------- Private Sub XlEvent_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim Message As String Message = "Le nom du classeur est : " & Sh.Parent.Name & vbCrLf Message = Message & "Le nom de la feuille est : " & Sh.Name & vbCrLf Message = Message & "L'adresse de la cellule est : " & Target.Address
MsgBox Message
End Sub '----------------------------
D ) Dans un module Standard :
'Déclaration de la variable dans le haut du module Dim VarApp As New MonApp
'Tu exécutes cette procédure à l'ouverture du fichier en 'utilisant l'événement "Workbook_Open" situé dans le ThisWorkbook '------------------------------ Sub InitialisationDeMonApp()
Set VarApp.XlEvent = Application
End Sub '------------------------------
Si tu ouvres maintenant ce fichier ....tu vas pouvoir sélectionner la feuille et la cellule du classeur que tu désires et avoir un message qui te retournera l'adresse de la cellule sélectionnée.
Salutations!
"Xtof" a écrit dans le message de news: Bonjour, j'ai une petite question sur Les procédures événementielles,
Un petit exemple pour illustrer ma demande : A chaque fois que je sélectionne une cellule dans la feuille, un MsgBox apparait en indiquant la valeur de la cellule sélectionnée.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) MaCellule = Target.Value MsgBox "la valeur de la cellule est : " & MaCellule End Sub
Le code de cette procédure évènementielle est situé dans le code de la feuille de calcul elle-même.
Ma question est la suivante : Comment faire que cette procédure évènementielle fonctionne quel que soit le fichier Excel ouvert via une macro complémentaire XLA? La question est en fait de savoir quand l'utilisateur change de cellule pour une XLA, afin d'appliquer une macro.
Je ne sais pas si je me suis bien exprimé dans ma requête
A+ Xtof
Alain CROS
Bonjour
Essaye comme ça.
Dans le module ThisWorkbook du xla
Dim WithEvents myxl As Excel.Application Private Sub myxl_SheetSelectionChange(ByVal Sh As Object, _ ByVal Target As Excel.Range) If ThisWorkbook.Sheets(1).Range("A1") = "" Then Exit Sub If Evaluate("ISBLANK(" & Target.Address & ")") Then Exit Sub MsgBox Target End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) Set myxl = Nothing End Sub Private Sub Workbook_Open() Set myxl = Excel.Application End Sub
Dans le module de chaque feuille du classeur pour lesquelles tu veux ce message
Private Sub Worksheet_Activate() Workbooks("LeNomDeTonXla").Sheets(1).Range("A1") = ThisWorkbook.Name End Sub Private Sub Worksheet_Deactivate() Workbooks("LeNomDeTonXla").Sheets(1).Range("A1") = "" End Sub
Alain CROS
"Xtof" a écrit dans le message de news:
Bonjour, j'ai une petite question sur Les procédures événementielles,
Un petit exemple pour illustrer ma demande : A chaque fois que je sélectionne une cellule dans la feuille, un MsgBox apparait en indiquant la valeur de la cellule sélectionnée.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) MaCellule = Target.Value MsgBox "la valeur de la cellule est : " & MaCellule End Sub
Le code de cette procédure évènementielle est situé dans le code de la feuille de calcul elle-même.
Ma question est la suivante : Comment faire que cette procédure évènementielle fonctionne quel que soit le fichier Excel ouvert via une macro complémentaire XLA? La question est en fait de savoir quand l'utilisateur change de cellule pour une XLA, afin d'appliquer une macro.
Je ne sais pas si je me suis bien exprimé dans ma requête
A+ Xtof
Bonjour
Essaye comme ça.
Dans le module ThisWorkbook du xla
Dim WithEvents myxl As Excel.Application
Private Sub myxl_SheetSelectionChange(ByVal Sh As Object, _
ByVal Target As Excel.Range)
If ThisWorkbook.Sheets(1).Range("A1") = "" Then Exit Sub
If Evaluate("ISBLANK(" & Target.Address & ")") Then Exit Sub
MsgBox Target
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set myxl = Nothing
End Sub
Private Sub Workbook_Open()
Set myxl = Excel.Application
End Sub
Dans le module de chaque feuille du classeur pour lesquelles tu veux ce message
Private Sub Worksheet_Activate()
Workbooks("LeNomDeTonXla").Sheets(1).Range("A1") = ThisWorkbook.Name
End Sub
Private Sub Worksheet_Deactivate()
Workbooks("LeNomDeTonXla").Sheets(1).Range("A1") = ""
End Sub
Alain CROS
"Xtof" <canari@lavache.com> a écrit dans le message de news: eYv5AsxxEHA.3976@TK2MSFTNGP09.phx.gbl...
Bonjour,
j'ai une petite question sur Les procédures événementielles,
Un petit exemple pour illustrer ma demande : A chaque fois que je
sélectionne une cellule dans la feuille, un MsgBox apparait en indiquant la
valeur de la cellule sélectionnée.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MaCellule = Target.Value
MsgBox "la valeur de la cellule est : " & MaCellule
End Sub
Le code de cette procédure évènementielle est situé dans le code de la
feuille de calcul elle-même.
Ma question est la suivante :
Comment faire que cette procédure évènementielle fonctionne quel que soit le
fichier Excel ouvert via une macro complémentaire XLA?
La question est en fait de savoir quand l'utilisateur change de cellule pour
une XLA, afin d'appliquer une macro.
Je ne sais pas si je me suis bien exprimé dans ma requête
Dim WithEvents myxl As Excel.Application Private Sub myxl_SheetSelectionChange(ByVal Sh As Object, _ ByVal Target As Excel.Range) If ThisWorkbook.Sheets(1).Range("A1") = "" Then Exit Sub If Evaluate("ISBLANK(" & Target.Address & ")") Then Exit Sub MsgBox Target End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) Set myxl = Nothing End Sub Private Sub Workbook_Open() Set myxl = Excel.Application End Sub
Dans le module de chaque feuille du classeur pour lesquelles tu veux ce message
Private Sub Worksheet_Activate() Workbooks("LeNomDeTonXla").Sheets(1).Range("A1") = ThisWorkbook.Name End Sub Private Sub Worksheet_Deactivate() Workbooks("LeNomDeTonXla").Sheets(1).Range("A1") = "" End Sub
Alain CROS
"Xtof" a écrit dans le message de news:
Bonjour, j'ai une petite question sur Les procédures événementielles,
Un petit exemple pour illustrer ma demande : A chaque fois que je sélectionne une cellule dans la feuille, un MsgBox apparait en indiquant la valeur de la cellule sélectionnée.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) MaCellule = Target.Value MsgBox "la valeur de la cellule est : " & MaCellule End Sub
Le code de cette procédure évènementielle est situé dans le code de la feuille de calcul elle-même.
Ma question est la suivante : Comment faire que cette procédure évènementielle fonctionne quel que soit le fichier Excel ouvert via une macro complémentaire XLA? La question est en fait de savoir quand l'utilisateur change de cellule pour une XLA, afin d'appliquer une macro.
Je ne sais pas si je me suis bien exprimé dans ma requête
A+ Xtof
Xtof
Merci pour la réponse michdenis, celà fonctionne et on peut même transformer ce fichier en xla Je vais essayer avec ma macro et je reviendrais pour une aide si je bloque.
A+ Xtof
PS : ou peut on trouver des infos didactiques sur les modules de classes, j'ai regardé sur Excelabo
"michdenis" a écrit dans le message de news:
Bonjour Xtof,
Sauf errreur , je ne crois pas que ce que tu désires puisse être obtenu par un fichier XLA. Mais si tu le désires, tu
peux utiliser un module de classe.
Voici la démarche avec un module de classe :
A ) Insère un module de Classe : insertion / module de classe B ) Baptise-le "MonApp" : La proprité Name de l'objet C) Dans le module de classe : ajoute le code suivant
'Déclaration de la variable dans le haut du module Public WithEvents XlEvent As Application
'---------------------------- Private Sub XlEvent_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim Message As String Message = "Le nom du classeur est : " & Sh.Parent.Name & vbCrLf Message = Message & "Le nom de la feuille est : " & Sh.Name & vbCrLf Message = Message & "L'adresse de la cellule est : " & Target.Address
MsgBox Message
End Sub '----------------------------
D ) Dans un module Standard :
'Déclaration de la variable dans le haut du module Dim VarApp As New MonApp
'Tu exécutes cette procédure à l'ouverture du fichier en 'utilisant l'événement "Workbook_Open" situé dans le ThisWorkbook '------------------------------ Sub InitialisationDeMonApp()
Set VarApp.XlEvent = Application
End Sub '------------------------------
Si tu ouvres maintenant ce fichier ....tu vas pouvoir sélectionner la feuille et la cellule du classeur que tu désires
et avoir un message qui te retournera l'adresse de la cellule sélectionnée.
Salutations!
"Xtof" a écrit dans le message de news:
Bonjour, j'ai une petite question sur Les procédures événementielles,
Un petit exemple pour illustrer ma demande : A chaque fois que je sélectionne une cellule dans la feuille, un MsgBox apparait en indiquant la
valeur de la cellule sélectionnée.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) MaCellule = Target.Value MsgBox "la valeur de la cellule est : " & MaCellule End Sub
Le code de cette procédure évènementielle est situé dans le code de la feuille de calcul elle-même.
Ma question est la suivante : Comment faire que cette procédure évènementielle fonctionne quel que soit le
fichier Excel ouvert via une macro complémentaire XLA? La question est en fait de savoir quand l'utilisateur change de cellule pour
une XLA, afin d'appliquer une macro.
Je ne sais pas si je me suis bien exprimé dans ma requête
A+ Xtof
Merci pour la réponse michdenis,
celà fonctionne et on peut même transformer ce fichier en xla
Je vais essayer avec ma macro et je reviendrais pour une aide si je bloque.
A+
Xtof
PS : ou peut on trouver des infos didactiques sur les modules de classes,
j'ai regardé sur Excelabo
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:OdnkARyxEHA.2876@TK2MSFTNGP12.phx.gbl...
Bonjour Xtof,
Sauf errreur , je ne crois pas que ce que tu désires puisse être obtenu
par un fichier XLA. Mais si tu le désires, tu
peux utiliser un module de classe.
Voici la démarche avec un module de classe :
A ) Insère un module de Classe : insertion / module de classe
B ) Baptise-le "MonApp" : La proprité Name de l'objet
C) Dans le module de classe : ajoute le code suivant
'Déclaration de la variable dans le haut du module
Public WithEvents XlEvent As Application
'----------------------------
Private Sub XlEvent_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
Dim Message As String
Message = "Le nom du classeur est : " & Sh.Parent.Name & vbCrLf
Message = Message & "Le nom de la feuille est : " & Sh.Name & vbCrLf
Message = Message & "L'adresse de la cellule est : " & Target.Address
MsgBox Message
End Sub
'----------------------------
D ) Dans un module Standard :
'Déclaration de la variable dans le haut du module
Dim VarApp As New MonApp
'Tu exécutes cette procédure à l'ouverture du fichier en
'utilisant l'événement "Workbook_Open" situé dans le ThisWorkbook
'------------------------------
Sub InitialisationDeMonApp()
Set VarApp.XlEvent = Application
End Sub
'------------------------------
Si tu ouvres maintenant ce fichier ....tu vas pouvoir sélectionner la
feuille et la cellule du classeur que tu désires
et avoir un message qui te retournera l'adresse de la cellule
sélectionnée.
Salutations!
"Xtof" <canari@lavache.com> a écrit dans le message de news:
eYv5AsxxEHA.3976@TK2MSFTNGP09.phx.gbl...
Bonjour,
j'ai une petite question sur Les procédures événementielles,
Un petit exemple pour illustrer ma demande : A chaque fois que je
sélectionne une cellule dans la feuille, un MsgBox apparait en indiquant
la
valeur de la cellule sélectionnée.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MaCellule = Target.Value
MsgBox "la valeur de la cellule est : " & MaCellule
End Sub
Le code de cette procédure évènementielle est situé dans le code de la
feuille de calcul elle-même.
Ma question est la suivante :
Comment faire que cette procédure évènementielle fonctionne quel que soit
le
fichier Excel ouvert via une macro complémentaire XLA?
La question est en fait de savoir quand l'utilisateur change de cellule
pour
une XLA, afin d'appliquer une macro.
Je ne sais pas si je me suis bien exprimé dans ma requête
Merci pour la réponse michdenis, celà fonctionne et on peut même transformer ce fichier en xla Je vais essayer avec ma macro et je reviendrais pour une aide si je bloque.
A+ Xtof
PS : ou peut on trouver des infos didactiques sur les modules de classes, j'ai regardé sur Excelabo
"michdenis" a écrit dans le message de news:
Bonjour Xtof,
Sauf errreur , je ne crois pas que ce que tu désires puisse être obtenu par un fichier XLA. Mais si tu le désires, tu
peux utiliser un module de classe.
Voici la démarche avec un module de classe :
A ) Insère un module de Classe : insertion / module de classe B ) Baptise-le "MonApp" : La proprité Name de l'objet C) Dans le module de classe : ajoute le code suivant
'Déclaration de la variable dans le haut du module Public WithEvents XlEvent As Application
'---------------------------- Private Sub XlEvent_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim Message As String Message = "Le nom du classeur est : " & Sh.Parent.Name & vbCrLf Message = Message & "Le nom de la feuille est : " & Sh.Name & vbCrLf Message = Message & "L'adresse de la cellule est : " & Target.Address
MsgBox Message
End Sub '----------------------------
D ) Dans un module Standard :
'Déclaration de la variable dans le haut du module Dim VarApp As New MonApp
'Tu exécutes cette procédure à l'ouverture du fichier en 'utilisant l'événement "Workbook_Open" situé dans le ThisWorkbook '------------------------------ Sub InitialisationDeMonApp()
Set VarApp.XlEvent = Application
End Sub '------------------------------
Si tu ouvres maintenant ce fichier ....tu vas pouvoir sélectionner la feuille et la cellule du classeur que tu désires
et avoir un message qui te retournera l'adresse de la cellule sélectionnée.
Salutations!
"Xtof" a écrit dans le message de news:
Bonjour, j'ai une petite question sur Les procédures événementielles,
Un petit exemple pour illustrer ma demande : A chaque fois que je sélectionne une cellule dans la feuille, un MsgBox apparait en indiquant la
valeur de la cellule sélectionnée.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) MaCellule = Target.Value MsgBox "la valeur de la cellule est : " & MaCellule End Sub
Le code de cette procédure évènementielle est situé dans le code de la feuille de calcul elle-même.
Ma question est la suivante : Comment faire que cette procédure évènementielle fonctionne quel que soit le
fichier Excel ouvert via une macro complémentaire XLA? La question est en fait de savoir quand l'utilisateur change de cellule pour
une XLA, afin d'appliquer une macro.
Je ne sais pas si je me suis bien exprimé dans ma requête
A+ Xtof
JpPradier
Bonjour Xtof Sur ce site tu devrais trouver ton bonheur : http://longre.free.fr
j-p
Bonjour Xtof
Sur ce site tu devrais trouver ton bonheur :
http://longre.free.fr
Bonjour Xtof Sur ce site tu devrais trouver ton bonheur : http://longre.free.fr
j-p
Xtof
Merci pour la réponse Alain, Je vais essayer
A+ Xtof
"Alain CROS" a écrit dans le message de news:%23v5xD%
Bonjour
Essaye comme ça.
Dans le module ThisWorkbook du xla
Dim WithEvents myxl As Excel.Application Private Sub myxl_SheetSelectionChange(ByVal Sh As Object, _ ByVal Target As Excel.Range) If ThisWorkbook.Sheets(1).Range("A1") = "" Then Exit Sub If Evaluate("ISBLANK(" & Target.Address & ")") Then Exit Sub MsgBox Target End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) Set myxl = Nothing End Sub Private Sub Workbook_Open() Set myxl = Excel.Application End Sub
Dans le module de chaque feuille du classeur pour lesquelles tu veux ce message
Private Sub Worksheet_Activate() Workbooks("LeNomDeTonXla").Sheets(1).Range("A1") = ThisWorkbook.Name End Sub Private Sub Worksheet_Deactivate() Workbooks("LeNomDeTonXla").Sheets(1).Range("A1") = "" End Sub
Alain CROS
"Xtof" a écrit dans le message de news:
Bonjour, j'ai une petite question sur Les procédures événementielles,
Un petit exemple pour illustrer ma demande : A chaque fois que je sélectionne une cellule dans la feuille, un MsgBox apparait en indiquant la
valeur de la cellule sélectionnée.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) MaCellule = Target.Value MsgBox "la valeur de la cellule est : " & MaCellule End Sub
Le code de cette procédure évènementielle est situé dans le code de la feuille de calcul elle-même.
Ma question est la suivante : Comment faire que cette procédure évènementielle fonctionne quel que soit le
fichier Excel ouvert via une macro complémentaire XLA? La question est en fait de savoir quand l'utilisateur change de cellule pour
une XLA, afin d'appliquer une macro.
Je ne sais pas si je me suis bien exprimé dans ma requête
A+ Xtof
Merci pour la réponse Alain,
Je vais essayer
A+
Xtof
"Alain CROS" <Personne@ICI> a écrit dans le message de
news:%23v5xD%230xEHA.2804@TK2MSFTNGP15.phx.gbl...
Bonjour
Essaye comme ça.
Dans le module ThisWorkbook du xla
Dim WithEvents myxl As Excel.Application
Private Sub myxl_SheetSelectionChange(ByVal Sh As Object, _
ByVal Target As Excel.Range)
If ThisWorkbook.Sheets(1).Range("A1") = "" Then Exit Sub
If Evaluate("ISBLANK(" & Target.Address & ")") Then Exit Sub
MsgBox Target
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set myxl = Nothing
End Sub
Private Sub Workbook_Open()
Set myxl = Excel.Application
End Sub
Dans le module de chaque feuille du classeur pour lesquelles tu veux ce
message
Private Sub Worksheet_Activate()
Workbooks("LeNomDeTonXla").Sheets(1).Range("A1") = ThisWorkbook.Name
End Sub
Private Sub Worksheet_Deactivate()
Workbooks("LeNomDeTonXla").Sheets(1).Range("A1") = ""
End Sub
Alain CROS
"Xtof" <canari@lavache.com> a écrit dans le message de news:
eYv5AsxxEHA.3976@TK2MSFTNGP09.phx.gbl...
Bonjour,
j'ai une petite question sur Les procédures événementielles,
Un petit exemple pour illustrer ma demande : A chaque fois que je
sélectionne une cellule dans la feuille, un MsgBox apparait en indiquant
la
valeur de la cellule sélectionnée.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MaCellule = Target.Value
MsgBox "la valeur de la cellule est : " & MaCellule
End Sub
Le code de cette procédure évènementielle est situé dans le code de la
feuille de calcul elle-même.
Ma question est la suivante :
Comment faire que cette procédure évènementielle fonctionne quel que
soit le
fichier Excel ouvert via une macro complémentaire XLA?
La question est en fait de savoir quand l'utilisateur change de cellule
pour
une XLA, afin d'appliquer une macro.
Je ne sais pas si je me suis bien exprimé dans ma requête
"Alain CROS" a écrit dans le message de news:%23v5xD%
Bonjour
Essaye comme ça.
Dans le module ThisWorkbook du xla
Dim WithEvents myxl As Excel.Application Private Sub myxl_SheetSelectionChange(ByVal Sh As Object, _ ByVal Target As Excel.Range) If ThisWorkbook.Sheets(1).Range("A1") = "" Then Exit Sub If Evaluate("ISBLANK(" & Target.Address & ")") Then Exit Sub MsgBox Target End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) Set myxl = Nothing End Sub Private Sub Workbook_Open() Set myxl = Excel.Application End Sub
Dans le module de chaque feuille du classeur pour lesquelles tu veux ce message
Private Sub Worksheet_Activate() Workbooks("LeNomDeTonXla").Sheets(1).Range("A1") = ThisWorkbook.Name End Sub Private Sub Worksheet_Deactivate() Workbooks("LeNomDeTonXla").Sheets(1).Range("A1") = "" End Sub
Alain CROS
"Xtof" a écrit dans le message de news:
Bonjour, j'ai une petite question sur Les procédures événementielles,
Un petit exemple pour illustrer ma demande : A chaque fois que je sélectionne une cellule dans la feuille, un MsgBox apparait en indiquant la
valeur de la cellule sélectionnée.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) MaCellule = Target.Value MsgBox "la valeur de la cellule est : " & MaCellule End Sub
Le code de cette procédure évènementielle est situé dans le code de la feuille de calcul elle-même.
Ma question est la suivante : Comment faire que cette procédure évènementielle fonctionne quel que soit le
fichier Excel ouvert via une macro complémentaire XLA? La question est en fait de savoir quand l'utilisateur change de cellule pour
une XLA, afin d'appliquer une macro.
Je ne sais pas si je me suis bien exprimé dans ma requête