OVH Cloud OVH Cloud

Mélange de macro

9 réponses
Avatar
fredbzr
Bonjour à tous,
J'ai 2 problèmes:
Le 1er: j'aurai besoin que les 2 macros du dessous ne forme qu'une mais
malheureusement je n'y arrive pas.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Intersect(Target, Range("A8")) Is Nothing Then Exit Sub
Target.Offset(0, 0) = Format(Now, "mm/dd/yy à hh:mm")
End Sub


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Intersect(Target, Range("D14")) Is Nothing And _
If Intersect(Target, Range("I14:I15")) Is Nothing And _
If Intersect(Target, Range("N14:N15")) Is Nothing And _
Intersect(Target, Range("L17:L19")) Is Nothing _
Then Exit Sub
If Target.Column = 1 Then
Target.Offset(0, 0) = Format("X")
Else
Target.Offset(0, 0) = Format("X")
End If
End Sub

Le 2ème: dans une cellule j'ai "oui" et j'aurai souhaité que le X vienne
barrer le oui et dans mon cas le double clic efface le contenu de ma cellule
pour mettre le X
Quelqu'un aurait-il une solution pour chacun de mes problèmes
Merci d'avance pour vos idées

Fred

9 réponses

Avatar
Ardus Petus
1° question:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Not Intersect(Target, Range("A8")) Is Nothing Then
Target.Offset(0, 0) = Format(Now, "mm/dd/yy à hh:mm")
exit sub
end if
If Intersect(Target, Range("D14")) Is Nothing And _
If Intersect(Target, Range("I14:I15")) Is Nothing And _
If Intersect(Target, Range("N14:N15")) Is Nothing And _
Intersect(Target, Range("L17:L19")) Is Nothing _
Then Exit Sub
If Target.Column = 1 Then
Target.Offset(0, 0) = Format("X")
Else
Target.Offset(0, 0) = Format("X")
End If
End Sub

"fredbzr" a écrit dans le message de news:
4462006c$0$20174$
Bonjour à tous,
J'ai 2 problèmes:
Le 1er: j'aurai besoin que les 2 macros du dessous ne forme qu'une mais
malheureusement je n'y arrive pas.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Intersect(Target, Range("A8")) Is Nothing Then Exit Sub
Target.Offset(0, 0) = Format(Now, "mm/dd/yy à hh:mm")
End Sub


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Intersect(Target, Range("D14")) Is Nothing And _
If Intersect(Target, Range("I14:I15")) Is Nothing And _
If Intersect(Target, Range("N14:N15")) Is Nothing And _
Intersect(Target, Range("L17:L19")) Is Nothing _
Then Exit Sub
If Target.Column = 1 Then
Target.Offset(0, 0) = Format("X")
Else
Target.Offset(0, 0) = Format("X")
End If
End Sub

Le 2ème: dans une cellule j'ai "oui" et j'aurai souhaité que le X vienne
barrer le oui et dans mon cas le double clic efface le contenu de ma
cellule pour mettre le X
Quelqu'un aurait-il une solution pour chacun de mes problèmes
Merci d'avance pour vos idées

Fred



Avatar
anonymousA
Bonjour,

voilà une manière de traduire en une seule proc plus condensée la
logique de tes 2 macros

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)

Set rng = Union(Range("D14"), Range("I14:I15"), Range("N14:N15"),
Range("L17:L19"), Range("A8"))

If Intersect(Target, rng) Is Nothing Then Exit Sub

Select Case Target.Address(0, 0)
Case "A8"
Target.Offset(0, 0) = Format(Now, "mm/dd/yy à hh:mm")
Case Else
Target.Offset(0, 0) = Format("X")
End Select

End sub

pour ce qui est de barrer le oui, comme je ne vois pas quelle est la
logique de ton raisonnement, je ne peux que t'indiquer les lignes de
code pour barrer par ce qui ressemble à une croix. On ne peut en effet
avoir un X par dessus une chaine textuelle.

exemple avec la cellule C14

With Range("C14")
.Borders(xlDiagonalDown).LineStyle = xlContinuous
.Borders(xlDiagonalUp).LineStyle = xlContinuous
End With

A toi de voir si tu veux l'incorporer dans la proc evenementielle en
faisant un test supplémentaire sur la valeur à oui de la chaine de
texte de la cellule.

A+
Avatar
fredbzr
Bonsoir Ardus Petus
En fait c'est le exit sub que je n'avais pas mis à la bonne place
Merci de ton coup de main
Bonne soirée
"Ardus Petus" a écrit dans le message de news:
%
1° question:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Not Intersect(Target, Range("A8")) Is Nothing Then
Target.Offset(0, 0) = Format(Now, "mm/dd/yy à hh:mm")
exit sub
end if
If Intersect(Target, Range("D14")) Is Nothing And _
If Intersect(Target, Range("I14:I15")) Is Nothing And _
If Intersect(Target, Range("N14:N15")) Is Nothing And _
Intersect(Target, Range("L17:L19")) Is Nothing _
Then Exit Sub
If Target.Column = 1 Then
Target.Offset(0, 0) = Format("X")
Else
Target.Offset(0, 0) = Format("X")
End If
End Sub

"fredbzr" a écrit dans le message de news:
4462006c$0$20174$
Bonjour à tous,
J'ai 2 problèmes:
Le 1er: j'aurai besoin que les 2 macros du dessous ne forme qu'une mais
malheureusement je n'y arrive pas.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Intersect(Target, Range("A8")) Is Nothing Then Exit Sub
Target.Offset(0, 0) = Format(Now, "mm/dd/yy à hh:mm")
End Sub


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Intersect(Target, Range("D14")) Is Nothing And _
If Intersect(Target, Range("I14:I15")) Is Nothing And _
If Intersect(Target, Range("N14:N15")) Is Nothing And _
Intersect(Target, Range("L17:L19")) Is Nothing _
Then Exit Sub
If Target.Column = 1 Then
Target.Offset(0, 0) = Format("X")
Else
Target.Offset(0, 0) = Format("X")
End If
End Sub

Le 2ème: dans une cellule j'ai "oui" et j'aurai souhaité que le X vienne
barrer le oui et dans mon cas le double clic efface le contenu de ma
cellule pour mettre le X
Quelqu'un aurait-il une solution pour chacun de mes problèmes
Merci d'avance pour vos idées

Fred







Avatar
fredbzr
Bonsoir Anonymous
C'est souvent que tu me dépannes (je vais finir par t'envoyer une
bouteille.....)
Là je prend un cours: débutant en macro, peux tu m'expliquer à quoi sert le
Set mg = Union, pour le reste j'ai compris.

Pour la 2ème question: j'ai 3 lignes de 2 cellules (donc un mini tableau de
6 cellules) dans lesquelles sont inscrit des oui ou des non.J'aimerai par
clic de souris cocher ou barrer l'un ou l'autre.En fait devant ce mini
tableau il pourrait y avoir des questions:
est-ce qu'il fait beau aujourd'hui? oui non (à cocher)
Pour des raison de place je ne peux pas mettre les oui,non au dessus et
mettre une croix dans les cellules

Peut-être y a t-il plus simple que la solution que j'ai envisagée qui
apparement ne peut fonctionner


"anonymousA" a écrit dans le message de news:

Bonjour,

voilà une manière de traduire en une seule proc plus condensée la
logique de tes 2 macros

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)

Set rng = Union(Range("D14"), Range("I14:I15"), Range("N14:N15"),
Range("L17:L19"), Range("A8"))

If Intersect(Target, rng) Is Nothing Then Exit Sub

Select Case Target.Address(0, 0)
Case "A8"
Target.Offset(0, 0) = Format(Now, "mm/dd/yy à hh:mm")
Case Else
Target.Offset(0, 0) = Format("X")
End Select

End sub

pour ce qui est de barrer le oui, comme je ne vois pas quelle est la
logique de ton raisonnement, je ne peux que t'indiquer les lignes de
code pour barrer par ce qui ressemble à une croix. On ne peut en effet
avoir un X par dessus une chaine textuelle.

exemple avec la cellule C14

With Range("C14")
.Borders(xlDiagonalDown).LineStyle = xlContinuous
.Borders(xlDiagonalUp).LineStyle = xlContinuous
End With

A toi de voir si tu veux l'incorporer dans la proc evenementielle en
faisant un test supplémentaire sur la valeur à oui de la chaine de
texte de la cellule.

A+
Avatar
anonymousA
Union est une fonction (membre de l'objet Application ) permettant de
grouper des cellules ou des plages de cellules.C'est quand même +
pratique , + clair et + modulable de déclarer dans une seule instruction
la plage de cellules dont tu veux tester si l'utilisateur est dedans que
de faire une longue liste de AND même si la logique booléenne est
exacte.Ce sont les seules raisons qui m'ont guidé pour te proproser
cette utilisation.

Pour la 2eme question,je ne suis pas sur d'avoir encore bien compris. Tu
me dis avoir une matrice contenant des oui et des non.Qu'entends tu par
"cocher" ?

A+


Bonsoir Anonymous
C'est souvent que tu me dépannes (je vais finir par t'envoyer une
bouteille.....)
Là je prend un cours: débutant en macro, peux tu m'expliquer à quoi sert le
Set mg = Union, pour le reste j'ai compris.

Pour la 2ème question: j'ai 3 lignes de 2 cellules (donc un mini tableau de
6 cellules) dans lesquelles sont inscrit des oui ou des non.J'aimerai par
clic de souris cocher ou barrer l'un ou l'autre.En fait devant ce mini
tableau il pourrait y avoir des questions:
est-ce qu'il fait beau aujourd'hui? oui non (à cocher)
Pour des raison de place je ne peux pas mettre les oui,non au dessus et
mettre une croix dans les cellules

Peut-être y a t-il plus simple que la solution que j'ai envisagée qui
apparement ne peut fonctionner


"anonymousA" a écrit dans le message de news:

Bonjour,

voilà une manière de traduire en une seule proc plus condensée la
logique de tes 2 macros

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)

Set rng = Union(Range("D14"), Range("I14:I15"), Range("N14:N15"),
Range("L17:L19"), Range("A8"))

If Intersect(Target, rng) Is Nothing Then Exit Sub

Select Case Target.Address(0, 0)
Case "A8"
Target.Offset(0, 0) = Format(Now, "mm/dd/yy à hh:mm")
Case Else
Target.Offset(0, 0) = Format("X")
End Select

End sub

pour ce qui est de barrer le oui, comme je ne vois pas quelle est la
logique de ton raisonnement, je ne peux que t'indiquer les lignes de
code pour barrer par ce qui ressemble à une croix. On ne peut en effet
avoir un X par dessus une chaine textuelle.

exemple avec la cellule C14

With Range("C14")
.Borders(xlDiagonalDown).LineStyle = xlContinuous
.Borders(xlDiagonalUp).LineStyle = xlContinuous
End With

A toi de voir si tu veux l'incorporer dans la proc evenementielle en
faisant un test supplémentaire sur la valeur à oui de la chaine de
texte de la cellule.

A+




Avatar
fredbzr
L'utilisateur aura un formulaire et je souhaite que par un double clic
s'inscrive un X (par ex) par dessus le oui contenu dans la cellule qui
voudra dire qu'il a choisi le oui ou le non, comme pour un questionnaire
"anonymousA" a écrit dans le message de news:
446224c4$0$29208$
Union est une fonction (membre de l'objet Application ) permettant de
grouper des cellules ou des plages de cellules.C'est quand même + pratique
, + clair et + modulable de déclarer dans une seule instruction la plage
de cellules dont tu veux tester si l'utilisateur est dedans que de faire
une longue liste de AND même si la logique booléenne est exacte.Ce sont
les seules raisons qui m'ont guidé pour te proproser cette utilisation.

Pour la 2eme question,je ne suis pas sur d'avoir encore bien compris. Tu
me dis avoir une matrice contenant des oui et des non.Qu'entends tu par
"cocher" ?

A+


Bonsoir Anonymous
C'est souvent que tu me dépannes (je vais finir par t'envoyer une
bouteille.....)
Là je prend un cours: débutant en macro, peux tu m'expliquer à quoi sert
le Set mg = Union, pour le reste j'ai compris.

Pour la 2ème question: j'ai 3 lignes de 2 cellules (donc un mini tableau
de 6 cellules) dans lesquelles sont inscrit des oui ou des non.J'aimerai
par clic de souris cocher ou barrer l'un ou l'autre.En fait devant ce
mini tableau il pourrait y avoir des questions:
est-ce qu'il fait beau aujourd'hui? oui non (à cocher)
Pour des raison de place je ne peux pas mettre les oui,non au dessus et
mettre une croix dans les cellules

Peut-être y a t-il plus simple que la solution que j'ai envisagée qui
apparement ne peut fonctionner


"anonymousA" a écrit dans le message de news:

Bonjour,

voilà une manière de traduire en une seule proc plus condensée la
logique de tes 2 macros

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)

Set rng = Union(Range("D14"), Range("I14:I15"), Range("N14:N15"),
Range("L17:L19"), Range("A8"))

If Intersect(Target, rng) Is Nothing Then Exit Sub

Select Case Target.Address(0, 0)
Case "A8"
Target.Offset(0, 0) = Format(Now, "mm/dd/yy à hh:mm")
Case Else
Target.Offset(0, 0) = Format("X")
End Select

End sub

pour ce qui est de barrer le oui, comme je ne vois pas quelle est la
logique de ton raisonnement, je ne peux que t'indiquer les lignes de
code pour barrer par ce qui ressemble à une croix. On ne peut en effet
avoir un X par dessus une chaine textuelle.

exemple avec la cellule C14

With Range("C14")
.Borders(xlDiagonalDown).LineStyle = xlContinuous
.Borders(xlDiagonalUp).LineStyle = xlContinuous
End With

A toi de voir si tu veux l'incorporer dans la proc evenementielle en
faisant un test supplémentaire sur la valeur à oui de la chaine de
texte de la cellule.

A+





Avatar
anonymousA
Excuse moi, mais je ne vois absolument pas comment gérer ton affaire. Tu
me parles désormais de formulaire!!
Je ne fais vraiment pas preuve de mauvaise volonté mais là je cale sur
la compréhension de ton problème.

A+

L'utilisateur aura un formulaire et je souhaite que par un double clic
s'inscrive un X (par ex) par dessus le oui contenu dans la cellule qui
voudra dire qu'il a choisi le oui ou le non, comme pour un questionnaire
"anonymousA" a écrit dans le message de news:
446224c4$0$29208$

Union est une fonction (membre de l'objet Application ) permettant de
grouper des cellules ou des plages de cellules.C'est quand même + pratique
, + clair et + modulable de déclarer dans une seule instruction la plage
de cellules dont tu veux tester si l'utilisateur est dedans que de faire
une longue liste de AND même si la logique booléenne est exacte.Ce sont
les seules raisons qui m'ont guidé pour te proproser cette utilisation.

Pour la 2eme question,je ne suis pas sur d'avoir encore bien compris. Tu
me dis avoir une matrice contenant des oui et des non.Qu'entends tu par
"cocher" ?

A+



Bonsoir Anonymous
C'est souvent que tu me dépannes (je vais finir par t'envoyer une
bouteille.....)
Là je prend un cours: débutant en macro, peux tu m'expliquer à quoi sert
le Set mg = Union, pour le reste j'ai compris.

Pour la 2ème question: j'ai 3 lignes de 2 cellules (donc un mini tableau
de 6 cellules) dans lesquelles sont inscrit des oui ou des non.J'aimerai
par clic de souris cocher ou barrer l'un ou l'autre.En fait devant ce
mini tableau il pourrait y avoir des questions:
est-ce qu'il fait beau aujourd'hui? oui non (à cocher)
Pour des raison de place je ne peux pas mettre les oui,non au dessus et
mettre une croix dans les cellules

Peut-être y a t-il plus simple que la solution que j'ai envisagée qui
apparement ne peut fonctionner


"anonymousA" a écrit dans le message de news:

Bonjour,

voilà une manière de traduire en une seule proc plus condensée la
logique de tes 2 macros

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)

Set rng = Union(Range("D14"), Range("I14:I15"), Range("N14:N15"),
Range("L17:L19"), Range("A8"))

If Intersect(Target, rng) Is Nothing Then Exit Sub

Select Case Target.Address(0, 0)
Case "A8"
Target.Offset(0, 0) = Format(Now, "mm/dd/yy à hh:mm")
Case Else
Target.Offset(0, 0) = Format("X")
End Select

End sub

pour ce qui est de barrer le oui, comme je ne vois pas quelle est la
logique de ton raisonnement, je ne peux que t'indiquer les lignes de
code pour barrer par ce qui ressemble à une croix. On ne peut en effet
avoir un X par dessus une chaine textuelle.

exemple avec la cellule C14

With Range("C14")
.Borders(xlDiagonalDown).LineStyle = xlContinuous
.Borders(xlDiagonalUp).LineStyle = xlContinuous
End With

A toi de voir si tu veux l'incorporer dans la proc evenementielle en
faisant un test supplémentaire sur la valeur à oui de la chaine de
texte de la cellule.

A+









Avatar
fredbzr
je viens de tester le code, mais pour la case A8 ou je devrai avoir la date,
il y a une X

"anonymousA" a écrit dans le message de news:
44622fd3$0$29208$
Excuse moi, mais je ne vois absolument pas comment gérer ton affaire. Tu
me parles désormais de formulaire!!
Je ne fais vraiment pas preuve de mauvaise volonté mais là je cale sur la
compréhension de ton problème.

A+

L'utilisateur aura un formulaire et je souhaite que par un double clic
s'inscrive un X (par ex) par dessus le oui contenu dans la cellule qui
voudra dire qu'il a choisi le oui ou le non, comme pour un questionnaire
"anonymousA" a écrit dans le message de news:
446224c4$0$29208$

Union est une fonction (membre de l'objet Application ) permettant de
grouper des cellules ou des plages de cellules.C'est quand même +
pratique , + clair et + modulable de déclarer dans une seule instruction
la plage de cellules dont tu veux tester si l'utilisateur est dedans que
de faire une longue liste de AND même si la logique booléenne est
exacte.Ce sont les seules raisons qui m'ont guidé pour te proproser cette
utilisation.

Pour la 2eme question,je ne suis pas sur d'avoir encore bien compris. Tu
me dis avoir une matrice contenant des oui et des non.Qu'entends tu par
"cocher" ?

A+



Bonsoir Anonymous
C'est souvent que tu me dépannes (je vais finir par t'envoyer une
bouteille.....)
Là je prend un cours: débutant en macro, peux tu m'expliquer à quoi sert
le Set mg = Union, pour le reste j'ai compris.

Pour la 2ème question: j'ai 3 lignes de 2 cellules (donc un mini tableau
de 6 cellules) dans lesquelles sont inscrit des oui ou des non.J'aimerai
par clic de souris cocher ou barrer l'un ou l'autre.En fait devant ce
mini tableau il pourrait y avoir des questions:
est-ce qu'il fait beau aujourd'hui? oui non (à cocher)
Pour des raison de place je ne peux pas mettre les oui,non au dessus et
mettre une croix dans les cellules

Peut-être y a t-il plus simple que la solution que j'ai envisagée qui
apparement ne peut fonctionner


"anonymousA" a écrit dans le message de news:

Bonjour,

voilà une manière de traduire en une seule proc plus condensée la
logique de tes 2 macros

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)

Set rng = Union(Range("D14"), Range("I14:I15"), Range("N14:N15"),
Range("L17:L19"), Range("A8"))

If Intersect(Target, rng) Is Nothing Then Exit Sub

Select Case Target.Address(0, 0)
Case "A8"
Target.Offset(0, 0) = Format(Now, "mm/dd/yy à hh:mm")
Case Else
Target.Offset(0, 0) = Format("X")
End Select

End sub

pour ce qui est de barrer le oui, comme je ne vois pas quelle est la
logique de ton raisonnement, je ne peux que t'indiquer les lignes de
code pour barrer par ce qui ressemble à une croix. On ne peut en effet
avoir un X par dessus une chaine textuelle.

exemple avec la cellule C14

With Range("C14")
.Borders(xlDiagonalDown).LineStyle = xlContinuous
.Borders(xlDiagonalUp).LineStyle = xlContinuous
End With

A toi de voir si tu veux l'incorporer dans la proc evenementielle en
faisant un test supplémentaire sur la valeur à oui de la chaine de
texte de la cellule.

A+










Avatar
anonymousA
pour paraphraser AV, je dirais que tu dois être victime d'un micro
climat. Le code que je t'ai communiqué fonctionne sans difficulté.

A+

je viens de tester le code, mais pour la case A8 ou je devrai avoir la date,
il y a une X

"anonymousA" a écrit dans le message de news:
44622fd3$0$29208$
Excuse moi, mais je ne vois absolument pas comment gérer ton affaire. Tu
me parles désormais de formulaire!!
Je ne fais vraiment pas preuve de mauvaise volonté mais là je cale sur la
compréhension de ton problème.

A+

L'utilisateur aura un formulaire et je souhaite que par un double clic
s'inscrive un X (par ex) par dessus le oui contenu dans la cellule qui
voudra dire qu'il a choisi le oui ou le non, comme pour un questionnaire
"anonymousA" a écrit dans le message de news:
446224c4$0$29208$

Union est une fonction (membre de l'objet Application ) permettant de
grouper des cellules ou des plages de cellules.C'est quand même +
pratique , + clair et + modulable de déclarer dans une seule instruction
la plage de cellules dont tu veux tester si l'utilisateur est dedans que
de faire une longue liste de AND même si la logique booléenne est
exacte.Ce sont les seules raisons qui m'ont guidé pour te proproser cette
utilisation.

Pour la 2eme question,je ne suis pas sur d'avoir encore bien compris. Tu
me dis avoir une matrice contenant des oui et des non.Qu'entends tu par
"cocher" ?

A+



Bonsoir Anonymous
C'est souvent que tu me dépannes (je vais finir par t'envoyer une
bouteille.....)
Là je prend un cours: débutant en macro, peux tu m'expliquer à quoi sert
le Set mg = Union, pour le reste j'ai compris.

Pour la 2ème question: j'ai 3 lignes de 2 cellules (donc un mini tableau
de 6 cellules) dans lesquelles sont inscrit des oui ou des non.J'aimerai
par clic de souris cocher ou barrer l'un ou l'autre.En fait devant ce
mini tableau il pourrait y avoir des questions:
est-ce qu'il fait beau aujourd'hui? oui non (à cocher)
Pour des raison de place je ne peux pas mettre les oui,non au dessus et
mettre une croix dans les cellules

Peut-être y a t-il plus simple que la solution que j'ai envisagée qui
apparement ne peut fonctionner


"anonymousA" a écrit dans le message de news:

Bonjour,

voilà une manière de traduire en une seule proc plus condensée la
logique de tes 2 macros

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)

Set rng = Union(Range("D14"), Range("I14:I15"), Range("N14:N15"),
Range("L17:L19"), Range("A8"))

If Intersect(Target, rng) Is Nothing Then Exit Sub

Select Case Target.Address(0, 0)
Case "A8"
Target.Offset(0, 0) = Format(Now, "mm/dd/yy à hh:mm")
Case Else
Target.Offset(0, 0) = Format("X")
End Select

End sub

pour ce qui est de barrer le oui, comme je ne vois pas quelle est la
logique de ton raisonnement, je ne peux que t'indiquer les lignes de
code pour barrer par ce qui ressemble à une croix. On ne peut en effet
avoir un X par dessus une chaine textuelle.

exemple avec la cellule C14

With Range("C14")
.Borders(xlDiagonalDown).LineStyle = xlContinuous
.Borders(xlDiagonalUp).LineStyle = xlContinuous
End With

A toi de voir si tu veux l'incorporer dans la proc evenementielle en
faisant un test supplémentaire sur la valeur à oui de la chaine de
texte de la cellule.

A+