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

Exécuter une macro, quand on change le nom d'une feuille ?

6 réponses
Avatar
Céline
Bonjour,
j'ai mis en place une macro afin que certaines cellules de ma feuille
prennent le nom de cette dernière, voici ma macro (elle fonctionne très bien)

Sub nommee()

Dim x As Object

Application.ScreenUpdating = False
For Each x In ActiveWorkbook.Sheets
x.Activate
[B1, A10, A12, A16, A18, A22, A24, A28, A30, A34, A36, A40, A42, A46, A48,
A52, A54, A58, A60, A64, A66, A70, A72, A76, A78, A86, A88] = ActiveSheet.Name
Next
End Sub

Mais voilà, j'ai besoin que cette macro démarre automatiquement, tant qu'à
faire le mieux est qu'elle démarre une fois que le nom de la feuille a été
changé, y a t il un moyen pour ça, j'ai cherché un démarrage sur une action
d'onglet de feuille mais j'ai pas trouvé, qqu'un peut-il m'aider ??

Merci
Céline

6 réponses

Avatar
Pounet95
Bonjour,
Utilises le module Thisworkbook du classeur

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
Nommee
End Sub

Je pense que ça doit faire !
Oui ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Céline" <Cé a écrit dans le message de news:

Bonjour,
j'ai mis en place une macro afin que certaines cellules de ma feuille
prennent le nom de cette dernière, voici ma macro (elle fonctionne très
bien)

Sub nommee()

Dim x As Object

Application.ScreenUpdating = False
For Each x In ActiveWorkbook.Sheets
x.Activate
[B1, A10, A12, A16, A18, A22, A24, A28, A30, A34, A36, A40, A42, A46, A48,
A52, A54, A58, A60, A64, A66, A70, A72, A76, A78, A86, A88] =
ActiveSheet.Name
Next
End Sub

Mais voilà, j'ai besoin que cette macro démarre automatiquement, tant qu'à
faire le mieux est qu'elle démarre une fois que le nom de la feuille a été
changé, y a t il un moyen pour ça, j'ai cherché un démarrage sur une
action
d'onglet de feuille mais j'ai pas trouvé, qqu'un peut-il m'aider ??

Merci
Céline




Avatar
Céline
Bonjour Pounet et merci, seulement ça ne se déclanche pas en la déclarant
ainsi, si tu as une autre idée ...

Céline


Bonjour,
Utilises le module Thisworkbook du classeur

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
Nommee
End Sub

Je pense que ça doit faire !
Oui ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Céline" <Cé a écrit dans le message de news:

Bonjour,
j'ai mis en place une macro afin que certaines cellules de ma feuille
prennent le nom de cette dernière, voici ma macro (elle fonctionne très
bien)

Sub nommee()

Dim x As Object

Application.ScreenUpdating = False
For Each x In ActiveWorkbook.Sheets
x.Activate
[B1, A10, A12, A16, A18, A22, A24, A28, A30, A34, A36, A40, A42, A46, A48,
A52, A54, A58, A60, A64, A66, A70, A72, A76, A78, A86, A88] =
ActiveSheet.Name
Next
End Sub

Mais voilà, j'ai besoin que cette macro démarre automatiquement, tant qu'à
faire le mieux est qu'elle démarre une fois que le nom de la feuille a été
changé, y a t il un moyen pour ça, j'ai cherché un démarrage sur une
action
d'onglet de feuille mais j'ai pas trouvé, qqu'un peut-il m'aider ??

Merci
Céline








Avatar
Pounet95
Re,
Ta Sub est dans un module standard ?
Si oui, quand tu changes de cellule dans n'importe laquelle feuille du
classeur,
il y a appel à l'évènement de 'Thisworkbook_SheetDelection_Change

Donc, :
ta procédure nommée "Nommee" est en PUBLIC dans un module STANDARD
est est appelée telle quelle en renseignant l'évènement cité du Thisworkbook
Pour moi, Excel 2000, ça fonctionne très bien.

Reviens si problème ...

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Céline" a écrit dans le message de news:

Bonjour Pounet et merci, seulement ça ne se déclanche pas en la déclarant
ainsi, si tu as une autre idée ...

Céline


Bonjour,
Utilises le module Thisworkbook du classeur

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target
As Range)
Nommee
End Sub

Je pense que ça doit faire !
Oui ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Céline" <Cé a écrit dans le message de
news:

Bonjour,
j'ai mis en place une macro afin que certaines cellules de ma feuille
prennent le nom de cette dernière, voici ma macro (elle fonctionne très
bien)

Sub nommee()

Dim x As Object

Application.ScreenUpdating = False
For Each x In ActiveWorkbook.Sheets
x.Activate
[B1, A10, A12, A16, A18, A22, A24, A28, A30, A34, A36, A40, A42, A46,
A48,
A52, A54, A58, A60, A64, A66, A70, A72, A76, A78, A86, A88] >> > ActiveSheet.Name
Next
End Sub

Mais voilà, j'ai besoin que cette macro démarre automatiquement, tant
qu'à
faire le mieux est qu'elle démarre une fois que le nom de la feuille a
été
changé, y a t il un moyen pour ça, j'ai cherché un démarrage sur une
action
d'onglet de feuille mais j'ai pas trouvé, qqu'un peut-il m'aider ??

Merci
Céline










Avatar
Céline
Oui, bon c'est ça ça me va pas de la déclarer ainsi car on ne peut plus
travailler dans les feuilles, à chaque fois elle se déclenche, c'est pourquoi
j'avais besoin qu'elle soit en rapport avec le fait de nommer la feuille.


Oui si ça marche, c'est qu'en fait je ne touchais pas à la feuille, mais en
fait il va falloir que je bosse encore car je ne veux pas que ça se déclenche
à chaque fois qu'on inscrit quelque chose dans les cellules, c'est un tableau
qui sert souvent il aura des modif dans les feuilles, alors que le changement
d'onglet ne se pas toujours.
En plus au passage, pourrais-tu me dire, dans ma macro nommée, elle se lance
sur toutes les feuilles, sais-tu si je peux ne pas le faire sur toutes, il y
en a deux où ça m'arrangerait de ne pas le faire, je dois pouvoir soit dire
sauf telle et telle feuille ou alors dire juste pour telles feuilles.

Merci


Re,
Ta Sub est dans un module standard ?
Si oui, quand tu changes de cellule dans n'importe laquelle feuille du
classeur,
il y a appel à l'évènement de 'Thisworkbook_SheetDelection_Change

Donc, :
ta procédure nommée "Nommee" est en PUBLIC dans un module STANDARD
est est appelée telle quelle en renseignant l'évènement cité du Thisworkbook
Pour moi, Excel 2000, ça fonctionne très bien.

Reviens si problème ...

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Céline" a écrit dans le message de news:

Bonjour Pounet et merci, seulement ça ne se déclanche pas en la déclarant
ainsi, si tu as une autre idée ...

Céline


Bonjour,
Utilises le module Thisworkbook du classeur

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target
As Range)
Nommee
End Sub

Je pense que ça doit faire !
Oui ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Céline" <Cé a écrit dans le message de
news:

Bonjour,
j'ai mis en place une macro afin que certaines cellules de ma feuille
prennent le nom de cette dernière, voici ma macro (elle fonctionne très
bien)

Sub nommee()

Dim x As Object

Application.ScreenUpdating = False
For Each x In ActiveWorkbook.Sheets
x.Activate
[B1, A10, A12, A16, A18, A22, A24, A28, A30, A34, A36, A40, A42, A46,
A48,
A52, A54, A58, A60, A64, A66, A70, A72, A76, A78, A86, A88] > > >> > ActiveSheet.Name
Next
End Sub

Mais voilà, j'ai besoin que cette macro démarre automatiquement, tant
qu'à
faire le mieux est qu'elle démarre une fois que le nom de la feuille a
été
changé, y a t il un moyen pour ça, j'ai cherché un démarrage sur une
action
d'onglet de feuille mais j'ai pas trouvé, qqu'un peut-il m'aider ??

Merci
Céline
















Avatar
Céline
Oui ma sub "nommee" est dans un module, comment faut-il que je la déclare ?


Re,
Ta Sub est dans un module standard ?
Si oui, quand tu changes de cellule dans n'importe laquelle feuille du
classeur,
il y a appel à l'évènement de 'Thisworkbook_SheetDelection_Change

Donc, :
ta procédure nommée "Nommee" est en PUBLIC dans un module STANDARD
est est appelée telle quelle en renseignant l'évènement cité du Thisworkbook
Pour moi, Excel 2000, ça fonctionne très bien.

Reviens si problème ...

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Céline" a écrit dans le message de news:

Bonjour Pounet et merci, seulement ça ne se déclanche pas en la déclarant
ainsi, si tu as une autre idée ...

Céline


Bonjour,
Utilises le module Thisworkbook du classeur

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target
As Range)
Nommee
End Sub

Je pense que ça doit faire !
Oui ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Céline" <Cé a écrit dans le message de
news:

Bonjour,
j'ai mis en place une macro afin que certaines cellules de ma feuille
prennent le nom de cette dernière, voici ma macro (elle fonctionne très
bien)

Sub nommee()

Dim x As Object

Application.ScreenUpdating = False
For Each x In ActiveWorkbook.Sheets
x.Activate
[B1, A10, A12, A16, A18, A22, A24, A28, A30, A34, A36, A40, A42, A46,
A48,
A52, A54, A58, A60, A64, A66, A70, A72, A76, A78, A86, A88] > >> > ActiveSheet.Name
Next
End Sub

Mais voilà, j'ai besoin que cette macro démarre automatiquement, tant
qu'à
faire le mieux est qu'elle démarre une fois que le nom de la feuille a
été
changé, y a t il un moyen pour ça, j'ai cherché un démarrage sur une
action
d'onglet de feuille mais j'ai pas trouvé, qqu'un peut-il m'aider ??

Merci
Céline














Avatar
Céline
Oui si ça marche, c'est qu'en fait je ne touchais pas à la feuille, mais en
fait il va falloir que je bosse encore car je ne veux pas que ça se déclenche
à chaque fois qu'on inscrit quelque chose dans les cellules, c'est un tableau
qui sert souvent il aura des modif dans les feuilles, alors que le changement
d'onglet ne se pas toujours.
En plus au passage, pourrais-tu me dire, dans ma macro nommée, elle se lance
sur toutes les feuilles, sais-tu si je peux ne pas le faire sur toutes, il y
en a deux où ça m'arrangerait de ne pas le faire, je dois pouvoir soit dire
sauf telle et telle feuille ou alors dire juste pour telles feuilles.

Merci


Re,
Ta Sub est dans un module standard ?
Si oui, quand tu changes de cellule dans n'importe laquelle feuille du
classeur,
il y a appel à l'évènement de 'Thisworkbook_SheetDelection_Change

Donc, :
ta procédure nommée "Nommee" est en PUBLIC dans un module STANDARD
est est appelée telle quelle en renseignant l'évènement cité du Thisworkbook
Pour moi, Excel 2000, ça fonctionne très bien.

Reviens si problème ...

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Céline" a écrit dans le message de news:

Bonjour Pounet et merci, seulement ça ne se déclanche pas en la déclarant
ainsi, si tu as une autre idée ...

Céline


Bonjour,
Utilises le module Thisworkbook du classeur

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target
As Range)
Nommee
End Sub

Je pense que ça doit faire !
Oui ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Céline" <Cé a écrit dans le message de
news:

Bonjour,
j'ai mis en place une macro afin que certaines cellules de ma feuille
prennent le nom de cette dernière, voici ma macro (elle fonctionne très
bien)

Sub nommee()

Dim x As Object

Application.ScreenUpdating = False
For Each x In ActiveWorkbook.Sheets
x.Activate
[B1, A10, A12, A16, A18, A22, A24, A28, A30, A34, A36, A40, A42, A46,
A48,
A52, A54, A58, A60, A64, A66, A70, A72, A76, A78, A86, A88] > >> > ActiveSheet.Name
Next
End Sub

Mais voilà, j'ai besoin que cette macro démarre automatiquement, tant
qu'à
faire le mieux est qu'elle démarre une fois que le nom de la feuille a
été
changé, y a t il un moyen pour ça, j'ai cherché un démarrage sur une
action
d'onglet de feuille mais j'ai pas trouvé, qqu'un peut-il m'aider ??

Merci
Céline