Bonjour à tous,
J'ai un problème avec une fonction qui désactive l'option coller.
J'utilise la propriété SelectionChange pour modifier la couleur d'une cellule.
et l'appel de cette fonction désactive l'option coller.
Le scope est de changer la couleur de l'heure de rendez-vous(col A) si l'on clique dans une case d'un tableau.
Je cherche une solution sans passer par cette propriété ou bien comprendre pourquoi cette propriété bloque.
Voici le code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
'Modifie la couleur de l'heure de RV dans la colonne A
Dim la, ca, i As Integer
Dim nom As String
nom = ActiveSheet.Name
If nom = "Accueil" Or nom = "Liste" Or nom = "Facture" Then Exit Sub
ActiveSheet.Unprotect (pwd)
If Intersect(ActiveCell, Range("B4:AF52")) Is Nothing Then
ActiveSheet.Range("A4:A52").Interior.Color = RGB(192, 192, 192) 'tout gris
Else
la = ActiveCell.Row 'ligne active
For i = 4 To 52
If i = la Then
ActiveSheet.Cells(i, 1).Interior.Color = RGB(255, 255, 153) 'la cellule jaune
Else
ActiveSheet.Cells(i, 1).Interior.Color = RGB(192, 192, 192) 'cellules grises
End If
Next i
End If
ActiveSheet.Protect (pwd)
End Sub
Merci
Cdt, Robert
J'ai un problème avec une fonction qui désactive l'option coller.
J'utilise la propriété SelectionChange pour modifier la couleur d'une cellule.
et l'appel de cette fonction désactive l'option coller.
Le scope est de changer la couleur de l'heure de rendez-vous(col A) si l'on clique dans une case d'un tableau.
Je cherche une solution sans passer par cette propriété ou bien comprendre pourquoi cette propriété bloque.
Voici le code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
'Modifie la couleur de l'heure de RV dans la colonne A
Dim la, ca, i As Integer
Dim nom As String
nom = ActiveSheet.Name
If nom = "Accueil" Or nom = "Liste" Or nom = "Facture" Then Exit Sub
ActiveSheet.Unprotect (pwd)
If Intersect(ActiveCell, Range("B4:AF52")) Is Nothing Then
ActiveSheet.Range("A4:A52").Interior.Color = RGB(192, 192, 192) 'tout gris
Else
la = ActiveCell.Row 'ligne active
For i = 4 To 52
If i = la Then
ActiveSheet.Cells(i, 1).Interior.Color = RGB(255, 255, 153) 'la cellule jaune
Else
ActiveSheet.Cells(i, 1).Interior.Color = RGB(192, 192, 192) 'cellules grises
End If
Next i
End If
ActiveSheet.Protect (pwd)
End Sub
Merci
Cdt, Robert