'Affiche ou cache les ligne vides des salaries
'sur les feuilles planning
LigneSalarie = 6
IndexFeuil = 16
For i = 1 To 52
If Salaries.Cells(LigneSalarie, 2) = "" Then
Janvier.Rows(LigneSalarie).Hidden = True
Fevrier.Rows(LigneSalarie).Hidden = True
Decembre.Rows(LigneSalarie).Hidden = True
Sheets(IndexFeuil).Visible = False
Else
Janvier.Rows(LigneSalarie).Hidden = False
Fevrier.Rows(LigneSalarie).Hidden = False
Sheets(IndexFeuil).Visible = True
End If
If i = 15 Then IndexFeuil = IndexFeuil - 1
If i = 37 Then IndexFeuil = IndexFeuil - 1
IndexFeuil = IndexFeuil + 1
LigneSalarie = LigneSalarie + 1
Next i
Call Renommer
End Sub
cette macro s'execute quel que soit la cellule modifiée
je voudrai qu'elle ne séxecute que si ce sont les cellules :
A6:B19 A21:B40
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
Dédé
Salut Christian !
Dans mon exemple, la macro qui affiche un message (coucou ...) se déclenche uniquement lors de la modification des cellules que tu veux ... Essaie et dis-moi des nouvelles ;-))
Private Sub Worksheet_Change(ByVal DD As Range) If Not Intersect(DD, [A6:B19]) Is Nothing Then MsgBox "coucou" Else: If Not Intersect(DD, [A21:B40]) Is Nothing Then MsgBox "Coucou" End If End Sub
Salutations Dédé
-- Pour répondre, enlever les lettres N O S P A M "Christian Raoux" a écrit dans le message de news:
Salut la liste
J'ai dans 1 feuille :
Sub Worksheet_Change(ByVal Target As Range)
Dim IndexFeuil As Byte
'Affiche ou cache les ligne vides des salaries 'sur les feuilles planning
LigneSalarie = 6 IndexFeuil = 16
For i = 1 To 52
If Salaries.Cells(LigneSalarie, 2) = "" Then Janvier.Rows(LigneSalarie).Hidden = True Fevrier.Rows(LigneSalarie).Hidden = True Decembre.Rows(LigneSalarie).Hidden = True Sheets(IndexFeuil).Visible = False Else Janvier.Rows(LigneSalarie).Hidden = False Fevrier.Rows(LigneSalarie).Hidden = False Sheets(IndexFeuil).Visible = True End If If i = 15 Then IndexFeuil = IndexFeuil - 1 If i = 37 Then IndexFeuil = IndexFeuil - 1 IndexFeuil = IndexFeuil + 1 LigneSalarie = LigneSalarie + 1 Next i Call Renommer End Sub
cette macro s'execute quel que soit la cellule modifiée je voudrai qu'elle ne séxecute que si ce sont les cellules : A6:B19 A21:B40
merci d'avance
Christian
Salut Christian !
Dans mon exemple, la macro qui affiche un message (coucou ...) se déclenche
uniquement lors de la modification des cellules que tu veux ...
Essaie et dis-moi des nouvelles ;-))
Private Sub Worksheet_Change(ByVal DD As Range)
If Not Intersect(DD, [A6:B19]) Is Nothing Then
MsgBox "coucou"
Else: If Not Intersect(DD, [A21:B40]) Is Nothing Then MsgBox "Coucou"
End If
End Sub
Salutations
Dédé
--
Pour répondre, enlever les lettres N O S P A M
"Christian Raoux" <christian.raoux@free.fr> a écrit dans le message de
news:XnF941D7333D5478christianraoux@213.228.0.196...
Salut la liste
J'ai dans 1 feuille :
Sub Worksheet_Change(ByVal Target As Range)
Dim IndexFeuil As Byte
'Affiche ou cache les ligne vides des salaries
'sur les feuilles planning
LigneSalarie = 6
IndexFeuil = 16
For i = 1 To 52
If Salaries.Cells(LigneSalarie, 2) = "" Then
Janvier.Rows(LigneSalarie).Hidden = True
Fevrier.Rows(LigneSalarie).Hidden = True
Decembre.Rows(LigneSalarie).Hidden = True
Sheets(IndexFeuil).Visible = False
Else
Janvier.Rows(LigneSalarie).Hidden = False
Fevrier.Rows(LigneSalarie).Hidden = False
Sheets(IndexFeuil).Visible = True
End If
If i = 15 Then IndexFeuil = IndexFeuil - 1
If i = 37 Then IndexFeuil = IndexFeuil - 1
IndexFeuil = IndexFeuil + 1
LigneSalarie = LigneSalarie + 1
Next i
Call Renommer
End Sub
cette macro s'execute quel que soit la cellule modifiée
je voudrai qu'elle ne séxecute que si ce sont les cellules :
A6:B19 A21:B40
Dans mon exemple, la macro qui affiche un message (coucou ...) se déclenche uniquement lors de la modification des cellules que tu veux ... Essaie et dis-moi des nouvelles ;-))
Private Sub Worksheet_Change(ByVal DD As Range) If Not Intersect(DD, [A6:B19]) Is Nothing Then MsgBox "coucou" Else: If Not Intersect(DD, [A21:B40]) Is Nothing Then MsgBox "Coucou" End If End Sub
Salutations Dédé
-- Pour répondre, enlever les lettres N O S P A M "Christian Raoux" a écrit dans le message de news:
Salut la liste
J'ai dans 1 feuille :
Sub Worksheet_Change(ByVal Target As Range)
Dim IndexFeuil As Byte
'Affiche ou cache les ligne vides des salaries 'sur les feuilles planning
LigneSalarie = 6 IndexFeuil = 16
For i = 1 To 52
If Salaries.Cells(LigneSalarie, 2) = "" Then Janvier.Rows(LigneSalarie).Hidden = True Fevrier.Rows(LigneSalarie).Hidden = True Decembre.Rows(LigneSalarie).Hidden = True Sheets(IndexFeuil).Visible = False Else Janvier.Rows(LigneSalarie).Hidden = False Fevrier.Rows(LigneSalarie).Hidden = False Sheets(IndexFeuil).Visible = True End If If i = 15 Then IndexFeuil = IndexFeuil - 1 If i = 37 Then IndexFeuil = IndexFeuil - 1 IndexFeuil = IndexFeuil + 1 LigneSalarie = LigneSalarie + 1 Next i Call Renommer End Sub
cette macro s'execute quel que soit la cellule modifiée je voudrai qu'elle ne séxecute que si ce sont les cellules : A6:B19 A21:B40
merci d'avance
Christian
Christian Raoux
Salut Dédé
merci ça marche bien j'ai du l'adapter
christian
"Dédé" écrivait news::
Salut Christian !
Dans mon exemple, la macro qui affiche un message (coucou ...) se déclenche uniquement lors de la modification des cellules que tu veux ... Essaie et dis-moi des nouvelles ;-))
Private Sub Worksheet_Change(ByVal DD As Range) If Not Intersect(DD, [A6:B19]) Is Nothing Then MsgBox "coucou" Else: If Not Intersect(DD, [A21:B40]) Is Nothing Then MsgBox "Coucou" End If End Sub
Dans mon exemple, la macro qui affiche un message (coucou ...) se
déclenche uniquement lors de la modification des cellules que tu veux
... Essaie et dis-moi des nouvelles ;-))
Private Sub Worksheet_Change(ByVal DD As Range)
If Not Intersect(DD, [A6:B19]) Is Nothing Then
MsgBox "coucou"
Else: If Not Intersect(DD, [A21:B40]) Is Nothing Then MsgBox "Coucou"
End If
End Sub
Dans mon exemple, la macro qui affiche un message (coucou ...) se déclenche uniquement lors de la modification des cellules que tu veux ... Essaie et dis-moi des nouvelles ;-))
Private Sub Worksheet_Change(ByVal DD As Range) If Not Intersect(DD, [A6:B19]) Is Nothing Then MsgBox "coucou" Else: If Not Intersect(DD, [A21:B40]) Is Nothing Then MsgBox "Coucou" End If End Sub