WorksheetChange

Le
Ellimac
Bonjour,

Je souhaite formater des cellules après choix dans une liste déroulante.
Cela fonctionne pour une seule cellule. Le problème est que si je recopie le
contenu d'une des cellules la macro plante ou ne fonctionne plus (erreur 13).
Le code :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "" Then
Target.Interior.ColorIndex = xlNone
ElseIf Target = "Congés" Then
Target.Interior.ColorIndex = 8
Target.Font.ColorIndex = 8
ElseIf Target = "RTT" Then
Target.Interior.ColorIndex = 44
Target.Font.ColorIndex = 44
ElseIf Target = "Récup" Then
Target.Interior.ColorIndex = 4
Target.Font.ColorIndex = 4
ElseIf Target = "Maladie" Then
Target.Interior.ColorIndex = 5
Target.Font.ColorIndex = 5
End If
End Sub

Merci
Camille
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
lSteph
Le #4745851
Bonjour Camille,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In Target.Cells
With c
Select Case .Value
Case ""
.Interior.ColorIndex = xlNone
Case "Congés"
.Interior.ColorIndex = 8
.Font.ColorIndex = 8
Case "RTT"
.Interior.ColorIndex = 44
.Font.ColorIndex = 44
Case "Récup"
.Interior.ColorIndex = 4
.Font.ColorIndex = 4
Case "Maladie"
c.Interior.ColorIndex = 5
c.Font.ColorIndex = 5
End Select
End With
Next
End Sub

'Cdlt
'lSteph


On 18 sep, 15:50, Ellimac
Bonjour,

Je souhaite formater des cellules après choix dans une liste déroulan te.
Cela fonctionne pour une seule cellule. Le problème est que si je recop ie le
contenu d'une des cellules la macro plante ou ne fonctionne plus (erreur 13).
Le code :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "" Then
Target.Interior.ColorIndex = xlNone
ElseIf Target = "Congés" Then
Target.Interior.ColorIndex = 8
Target.Font.ColorIndex = 8
ElseIf Target = "RTT" Then
Target.Interior.ColorIndex = 44
Target.Font.ColorIndex = 44
ElseIf Target = "Récup" Then
Target.Interior.ColorIndex = 4
Target.Font.ColorIndex = 4
ElseIf Target = "Maladie" Then
Target.Interior.ColorIndex = 5
Target.Font.ColorIndex = 5
End If
End Sub

Merci
Camille


JB
Le #4745811
Bonjour,

La m^me chose en + simple.

http://boisgontierjacques.free.fr/pages_site/donneesvalidation.htm#Recup

JB
http://boisgontierjacques.free.fr

On 18 sep, 15:50, Ellimac
Bonjour,

Je souhaite formater des cellules après choix dans une liste déroulan te.
Cela fonctionne pour une seule cellule. Le problème est que si je recop ie le
contenu d'une des cellules la macro plante ou ne fonctionne plus (erreur 13).
Le code :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "" Then
Target.Interior.ColorIndex = xlNone
ElseIf Target = "Congés" Then
Target.Interior.ColorIndex = 8
Target.Font.ColorIndex = 8
ElseIf Target = "RTT" Then
Target.Interior.ColorIndex = 44
Target.Font.ColorIndex = 44
ElseIf Target = "Récup" Then
Target.Interior.ColorIndex = 4
Target.Font.ColorIndex = 4
ElseIf Target = "Maladie" Then
Target.Interior.ColorIndex = 5
Target.Font.ColorIndex = 5
End If
End Sub

Merci
Camille


Ellimac
Le #4745801
Bonjour,

Merci beaucoup

Camille


Bonjour Camille,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In Target.Cells
With c
Select Case .Value
Case ""
.Interior.ColorIndex = xlNone
Case "Congés"
.Interior.ColorIndex = 8
.Font.ColorIndex = 8
Case "RTT"
.Interior.ColorIndex = 44
.Font.ColorIndex = 44
Case "Récup"
.Interior.ColorIndex = 4
.Font.ColorIndex = 4
Case "Maladie"
c.Interior.ColorIndex = 5
c.Font.ColorIndex = 5
End Select
End With
Next
End Sub

'Cdlt
'lSteph


On 18 sep, 15:50, Ellimac
Bonjour,

Je souhaite formater des cellules après choix dans une liste déroulante.
Cela fonctionne pour une seule cellule. Le problème est que si je recopie le
contenu d'une des cellules la macro plante ou ne fonctionne plus (erreur 13).
Le code :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "" Then
Target.Interior.ColorIndex = xlNone
ElseIf Target = "Congés" Then
Target.Interior.ColorIndex = 8
Target.Font.ColorIndex = 8
ElseIf Target = "RTT" Then
Target.Interior.ColorIndex = 44
Target.Font.ColorIndex = 44
ElseIf Target = "Récup" Then
Target.Interior.ColorIndex = 4
Target.Font.ColorIndex = 4
ElseIf Target = "Maladie" Then
Target.Interior.ColorIndex = 5
Target.Font.ColorIndex = 5
End If
End Sub

Merci
Camille







Ellimac
Le #4745381
Bonjour Jacques,

Super nickel
Merci

Camille

"JB" wrote:

Bonjour,

La m^me chose en + simple.

http://boisgontierjacques.free.fr/pages_site/donneesvalidation.htm#Recup

JB
http://boisgontierjacques.free.fr

On 18 sep, 15:50, Ellimac
Bonjour,

Je souhaite formater des cellules après choix dans une liste déroulante.
Cela fonctionne pour une seule cellule. Le problème est que si je recopie le
contenu d'une des cellules la macro plante ou ne fonctionne plus (erreur 13).
Le code :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "" Then
Target.Interior.ColorIndex = xlNone
ElseIf Target = "Congés" Then
Target.Interior.ColorIndex = 8
Target.Font.ColorIndex = 8
ElseIf Target = "RTT" Then
Target.Interior.ColorIndex = 44
Target.Font.ColorIndex = 44
ElseIf Target = "Récup" Then
Target.Interior.ColorIndex = 4
Target.Font.ColorIndex = 4
ElseIf Target = "Maladie" Then
Target.Interior.ColorIndex = 5
Target.Font.ColorIndex = 5
End If
End Sub

Merci
Camille







Publicité
Poster une réponse
Anonyme