Modification d'une macro

Bonjour à tous,

sur un tableau, en cliquant sur les cellules du champ V7:V121, je coche ces cellules et ça marche du tonnerre (merci à tous les specialistes de Excel pratique). Je souhaiterai que uniquement dans le champ V117:V121, une seule cellule soit cochée ! Si une cellule comportait déjà une coche, celle que je mets efface celle qui existe déjà ! (ex : V118 déjà cochée et je coche V120 alors V118 s'efface.

Ci-dessous la macro à modifier)(Ci-joint fichier pour une meilleure compréhension)

Merci de votre aide

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim isect, Z$, plage

plage = "v7:v123"

If Target.Count = 1 Then

Z = Target.Value

Set isect = Application.Intersect(Target, Range(plage))

If Not isect Is Nothing Then

Target.Value = IIf(Z = "", "X", "")

End If

End If

End Sub

3essai.xlsm (57.13 Ko)

Bonjour,

Je ne suis pas certain d'avoir compris, mais il me semble que j'écrirais l'ensemble comme ceci:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim isect, Z$, plage
plage = "v7:v114"
If Target.Count > 1 Then Exit Sub

If Not Intersect(Target, Range(plage)) Is Nothing Then
Z = Target.Value
Target.Value = IIf(Z = "", "X", "")
End If

If Not Intersect(Target, [V117:V121]) Is Nothing Then
tmp = Target.Address
[V117:V121].ClearContents
Range(tmp) = "X"
End If

End Sub

[Edit:] modifié dans le code ci-dessus l'adresse de "plage", pour éviter la "superposition" des deux zones.

Bonjour

Fichier à tester :

18essai-v1.xlsm (54.25 Ko)

A+

Merci à M.Utilité et Patty5046

2 solutions un peu différentes mais qui fonctionne à souhait !!!

Merci de votre dévouement !

MJC

Tant mieux pour toi

A+

Re-bonjour,

Salut Patty5046

M.Utilité

celle-là, on ne me l'avait pas encore faite
Rechercher des sujets similaires à "modification macro"