Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Police en couleur avec ByVal

3 réponses
Avatar
frasax
Bonjour à tous,

J’ai la macro suivante, qui me copie un mot depuis la cellule E2 qui
contient une formule.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
[e2].Copy
Target.PasteSpecial Paste:=x1PasteValues
Cancel = False
End Sub

J’essaie de mettre en couleur les termes suivants qui viennent rangés dans
la colonne H :

recherche de personnel Target.Font.ColorIndex = 11
absent toute la journée Target.Font.ColorIndex = 3
absent le matin Target.Font.ColorIndex = 3
absent l'après-midi Target.Font.ColorIndex = 3
RV avec les conseillers Target.Font.ColorIndex = 11
Férié Target.Font.ColorIndex = 10
½ jour vacances Target.Font.ColorIndex = 3
vacances Target.Font.ColorIndex = 3
maladie Target.Font.ColorIndex = 53
accident Target.Font.ColorIndex = 53

Si j’ajoute par exemple,
Target.Value = "férié"
Target.Font.ColorIndex = 10
ça copie la valeur férié, mais après je suis coincé avec les autres termes.

Merci de votre aide et à +

3 réponses

Avatar
Daniel.C
Bonjour.
Je ne comprends pas ce que tu veux faire. Quand tu double-cliques sur une
cellule, tu copies la valeur de la cellule E2. Pourquoi veus-tu mettre en
plus une autre ? valeur, et selon quel critère ?
Cordialement.
Daniel
"frasax" a écrit dans le message de news:

Bonjour à tous,

J'ai la macro suivante, qui me copie un mot depuis la cellule E2 qui
contient une formule.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
[e2].Copy
Target.PasteSpecial Paste:=x1PasteValues
Cancel = False
End Sub

J'essaie de mettre en couleur les termes suivants qui viennent rangés dans
la colonne H :

recherche de personnel Target.Font.ColorIndex = 11
absent toute la journée Target.Font.ColorIndex = 3
absent le matin Target.Font.ColorIndex = 3
absent l'après-midi Target.Font.ColorIndex = 3
RV avec les conseillers Target.Font.ColorIndex = 11
Férié Target.Font.ColorIndex = 10
½ jour vacances Target.Font.ColorIndex = 3
vacances Target.Font.ColorIndex = 3
maladie Target.Font.ColorIndex = 53
accident Target.Font.ColorIndex = 53

Si j'ajoute par exemple,
Target.Value = "férié"
Target.Font.ColorIndex = 10
ça copie la valeur férié, mais après je suis coincé avec les autres
termes.

Merci de votre aide et à +



Avatar
PMO
Bonjour,

Une piste avec le code suivant

'****************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Mots
Dim Couleurs
Dim i&
Mots = Array("recherche de personnel", _
"absent toute la journée", _
"absent le matin", _
"absent l'après-midi ", _
"RV avec les conseillers", _
"Férié", _
"½ jour vacances", _
"vacances", _
"maladie", _
"accident")
Couleurs = Array(11, 3, 3, 3, 11, 10, 3, 3, 53, 53)
If Target.Column = 8 Then
For i& = 0 To UBound(Mots)
If UCase(Target) = UCase(Mots(i&)) Then
Target.Font.ColorIndex = Couleurs(i&)
Exit For
End If
Next i&
End If
End Sub

Private Sub Worksheet_BeforeDoubleClick( _
ByVal Target As Range, Cancel As Boolean)
[e2].Copy
Target.PasteSpecial Paste:=xlPasteValues
Target.Select
End Sub
'****************

Cordialement.

PMO
Patrick Morange
Avatar
frasax
Bonjour PMO Patrick Morange,

Merci beaucoup, la piste avec le code délivré fonctionne à merveille.
Je n'ai pas encore compris comment il reconnaît les mots, mais ça viendra.
Vraiment sensationnel.
Cordiales salutations.
frasax



Bonjour,

Une piste avec le code suivant

'****************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Mots
Dim Couleurs
Dim i&
Mots = Array("recherche de personnel", _
"absent toute la journée", _
"absent le matin", _
"absent l'après-midi ", _
"RV avec les conseillers", _
"Férié", _
"½ jour vacances", _
"vacances", _
"maladie", _
"accident")
Couleurs = Array(11, 3, 3, 3, 11, 10, 3, 3, 53, 53)
If Target.Column = 8 Then
For i& = 0 To UBound(Mots)
If UCase(Target) = UCase(Mots(i&)) Then
Target.Font.ColorIndex = Couleurs(i&)
Exit For
End If
Next i&
End If
End Sub

Private Sub Worksheet_BeforeDoubleClick( _
ByVal Target As Range, Cancel As Boolean)
[e2].Copy
Target.PasteSpecial Paste:=xlPasteValues
Target.Select
End Sub
'****************

Cordialement.

PMO
Patrick Morange