actualiser automatiquement une macro sur changement de valeur

nike780

XLDnaute Junior
Bonjour,

J'ai un fichier excel pour établir la paie de ma société, j'ai plusieurs feuilles dont certaines que je voudrai actualiser sur le changement de valeur de la cellule (toujours la même "F13").
J'ai trouvé sur le forum des explications mais cela ne fonctionne que pour une feuille

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$13" Then
masquerlignes
End If
End Sub

Sub masquerlignes()
Dim cel As Range

Range("a29:a65").EntireRow.Hidden = False

For Each cel In Range("a29:a65")
If cel = "" Or cel = 0 Then
cel.EntireRow.Hidden = True
End If
Next
End Sub

je voudrai que cette macro se lance à chaque fois que je modifie la valeur de la cellule F13 sur chaque feuille de paie (nommées BP 1, BP2 ...) mais pas sur les autres feuilles qui elles contiennent des variables.

Merci d'avance
 

wilfried_42

XLDnaute Barbatruc
Re : actualiser automatiquement une macro sur changement de valeur

Bonjour et bienvenue

Dans le module WorkBook, Tu choisis :

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

pour ta macro evennementielle

tu y ajoutes pour exclure les feuilles non traitée (si j'ai tout compris)
en debut de macro :

Code:
If left(Sh.name,2) <> "BP" then exit sub
 

Dull

XLDnaute Barbatruc
Re : actualiser automatiquement une macro sur changement de valeur

Salut Nike780, le Forum

Peut-être un truc du genre
A mettre dans les Modules des feuilles nommées BP1, BP2...

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("F13")) Is Nothing Then
masquerlignes
End If
End Sub
On pourrait automatiser un peu mieux mais sans voir la structure de ton fichier...

Bonne Journée

EDITION: Salut Wilfried
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re : actualiser automatiquement une macro sur changement de valeur

Salut
Bonjour le fil
Bonjour le Forum
Arfff trop rapides les jeunes Lol
il faudrait je pense que tu regardes du coté de la procédure événementielle
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Left(Sh.name,2)="BP" then 'ici on teste si le nom de la feuille commence par BP
''''' Ici la procèdure
End if
End Sub
en espérant avoir pu t'aider
Bonne journée
 

nike780

XLDnaute Junior
Re : actualiser automatiquement une macro sur changement de valeur

Bonjour,

Hier j'ai été un peu trop rapide en répondant que cela fonctionnait, ce matin je me suis aperçu que la macro s'activait lors du changement de n'importe quelle valeur de la feuille alors que je le voulais juste sur le changement de valeur de la cellule F13.

Merci d'avance

Cdlt Michel
 

Dull

XLDnaute Barbatruc
Re : actualiser automatiquement une macro sur changement de valeur

Salut nike780, ChTi160, Wilfried, le Forum

Un petit mélange des codes de ChTi et du mien pourrait peut-être le faire

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Left(Sh.Name, 2) = "BP" Then 'ici on teste si le nom de la feuille commence par BP
    If Not Application.Intersect(Target, Range("F13")) Is Nothing Then ' Si ce n'est pas la Cellule F13 alors rien ne se passe, Sinon...
        masquerlignes
    End If
End If
End Sub
Bonne Journée
 

Discussions similaires

Réponses
1
Affichages
231
Réponses
2
Affichages
140
Réponses
7
Affichages
179

Membres actuellement en ligne

Statistiques des forums

Discussions
312 069
Messages
2 085 041
Membres
102 764
dernier inscrit
nestu