Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 exécution code si sélection d'une ligne entière

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Me voilà devant un nouveau be"soin que je ne parviens pas à résoudre.
Pourtant, je pense que ce n'est pas bien compliqué mais je n'y arrive pas malgré mes recherches et essais.

Si solution, ça m'arrangerait bien

Je voudrais, si clic sur le n° d'une ligne (n'importe laquelle) - donc sélection d'une ligne entière,
que dans la cellule colonne A de cette ligne apparaisse la mention "OK"

Mais uniquement si sélection d'une ligne entière
Pas si clic dans une cellule ou sélection plusieurs cellules

Je joins un petit fichier test.
Avec mes remerciements
Je vous souhaite à toutes et à tous une belle fin de journée,
Amicalement,
Lionel
 

Pièces jointes

  • si_select_ligne_entiere.xlsm
    14.7 KB · Affichages: 3

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Arthour, bonjour le forum,

Essaie comme ça (à placer dans l'onglet concerné) :

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count = Application.Columns.Count Then Cells(Target.Row, "A").Value = "OK"
End Sub
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, arthour, Robert

Une autre syntaxe
VB:
Private Sub Worksheet_SelectionChange(ByVal T As Range)
T(1) = IIf(T.EntireRow.Address = Selection.Address, "OK", vbNullString)
End Sub

EDITION: Bonsoir job75 (je n'avais pas rafraîchi la page)
 

Staple1600

XLDnaute Barbatruc
Re

Du coup, en prenant en compte la réponse de Job75
VB:
Private Sub Worksheet_SelectionChange(ByVal T As Range)
T(1) = IIf((T.EntireRow.Address = Selection.Address) And T.Rows.Count = 1, "OK", vbNullString)
End Sub
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
LOL, effectivement ça beug si je sélectionne toute la feuille.
Mais je n'ai à sélectionner qu'une seule ligne à la fois
Mais je garde tous les codes c'est génial car un jour ....... quand je serai encore plus vieux et que j'aurai plus de temps,
j'essaierai de faire un fichier recueil de codes.
Un jour LOL ......
lionel,
 

job75

XLDnaute Barbatruc
Bonsoir JM,

L'effacement que tu proposes sur T(1) ne va pas : la sélection d'une cellule l'efface...

Si l'on veut effacer le "OK" précédent :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Rows.Count = 1 And Target.Columns.Count = Columns.Count Then [A:A].Replace "OK", "", xlWhole: Target(1) = "OK"
End Sub
A+
 

Staple1600

XLDnaute Barbatruc
Re

job75
C'était volontaire
Je voulais voir la réaction d'arthour
(Si pas de réaction, c'est qu'il n'a pas testé mon bout de code)

PS: Personnellement, j'ai du mal à voir l’intérêt de la chose (au niveau ergonomie d'utilisation du classeur)
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…