OVH Cloud OVH Cloud

Changement de feuille

4 réponses
Avatar
Rekam
Bonjour à tous et à toutes !

Je cherche le moyen de changer, au sein d'une feuille, une variable déclarée
dans un module. Pour l'instant, j'ai ça (et ça ne marche pas, bien entendu...)

dans le module :

option explicit
dim pastCol as integer

et dans la feuille :
Option Explicit

Private Sub Worksheet_Activate()
pastCol = 0
End Sub

Voilà. En gros, ce que je veux, c'est de remettre à zéro pastCol à chaque
fois que change la feuille.

Merci!

4 réponses

Avatar
Pierre Fauconnier
Bonjour

Dans le code du module, remplace
dim pastCol...
par
Public pastCol...

Cela rendra ta variable publique et tu pourras l'utiliser partout dans ton
code...

Cela convient-il?


--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Rekam" a écrit dans le message de
news:
Bonjour à tous et à toutes !

Je cherche le moyen de changer, au sein d'une feuille, une variable
déclarée

dans un module. Pour l'instant, j'ai ça (et ça ne marche pas, bien
entendu...)


dans le module :

option explicit
dim pastCol as integer

et dans la feuille :
Option Explicit

Private Sub Worksheet_Activate()
pastCol = 0
End Sub

Voilà. En gros, ce que je veux, c'est de remettre à zéro pastCol à chaque
fois que change la feuille.

Merci!


Avatar
Michel Gaboly
Bonjour Rekam,

Comme le dit Pierre, remplace Dim par Public.

NB - Pour que cela marche, la déclaration doit être faite dans un module
standard.


En outre, si tu veux que pastCol soit remis à 0, chaque fois que la
feuille active change au sein du classeur, tu peux remplacer

Private Sub Worksheet_Activate(),

événement de niveau feuille par

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
pastCol = 0
End Sub
Avatar
Rekam
Merci, c'est bien ça. Il faut un Public pour spécifier la portée de la
variable. Super :) !

Quant à la suggestion de Michel pour le workbook_SheetActivate, je dois
avouer que j'avais pas essayé. Par contre, j'étais coïncé avec SheetChange.
Je pensais que c'était cet événement qui intervenait lors du changement de
feuille.

Ensuite, en essayant un à un les événements au niveau de la feuille, je suis
tombé sur Worksheet_Activate, et comme ça marchait, je ne suis pas allé plus
loin (grosse erreur ;)

Enfin, merci !
Avatar
Michel Gaboly
Re,

SheetChange est effectivement ambigü comme terme. L'événement intervient
en fait quand une feuille change (est modifiée par un recalcul par
exemple) et non quand on change de feuille active.

Le principal est que ton problème soit résolu ;-))


Merci, c'est bien ça. Il faut un Public pour spécifier la portée de la
variable. Super :) !

Quant à la suggestion de Michel pour le workbook_SheetActivate, je dois
avouer que j'avais pas essayé. Par contre, j'étais coïncé avec SheetChange.
Je pensais que c'était cet événement qui intervenait lors du changement de
feuille.

Ensuite, en essayant un à un les événements au niveau de la feuille, je suis
tombé sur Worksheet_Activate, et comme ça marchait, je ne suis pas allé plus
loin (grosse erreur ;)

Enfin, merci !



--
Cordialement,

Michel Gaboly
www.gaboly.com