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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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)
 
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,
 
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+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
338
Réponses
4
Affichages
243
Retour