XL 2016 Par clic·droit en colonne A modifier le contenu de colonne R

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 !

Webperegrino

XLDnaute Accro
Supporter XLD
Bonjour Le Forum,

Un petit souci dans le fichier ci-joint en exemple et qui ne demande pas une réponse rapide.

En colonne [A] la numérotation progressive du tableau structuré occupant les colonnes à [O].

La colonne [A] et les colonnes [P] et suivantes sont hors tableau structuré, dont la [R] qui m’intéresse.

Un Clic·Droit en colonne [A] sur l’élément 24 (en ligne 26 de la feuille) devrait modifier la cellule correspondante en colonne [R], la lettre A se changer en lettre N ou retourner en lettre A (A pour ANCIEN, N pour NOUVEAU).

J’ai commencé une codification mais cela échoue et me présente des bizarreries (affichage ailleurs qu’en colonne [R]),

Webperegrino
 

Pièces jointes

Bonjour,

La colonne [A] et les colonnes [P] et suivantes sont hors tableau structuré, dont la [R] qui m’intéresse.
N'ayant pas ouvert ton classeur, je me pose une question : mais pourquoi donc ?



En colonne [A] la numérotation progressive du tableau structuré occupant les colonnes à [O].
Maintenant que j'ai ouvert le classeur, j'ai envie de faire une petite remarque : pour moi il n'y a pas de TS dans ce classeur.
Et j'ai aussi une nouvelle question : pourquoi cliquer sur A pour aller modifier R ?
 
Dernière édition:
Le Forum,
J'ai trouvé ! Ça semble bien réagir !
C'est aussi la proposition #2 de Fanfan38 que je remercie.
TooFatBoy : pour une raison de pratique de lecture.
Le tableau prenant beaucoup de largeur sur mon écran large, pour modifier la cellule R à droite de l'écran, mon œil doit remonter sur la ligne pour lire le prénom en colonne B puis revenir sur la celle R pour la modification.
C'est plus facile de cliquer sur la colonne A, près du prénom en colonne B, sur une ligne, pour que la colonne R se modifie sur cette même ligne.
A la répétition de tout cela mon œil est moins fatigué par cette méthode #2 et #4.

Merci à vous deux,
Webperegrino
 

Pièces jointes

Dernière édition:
Un essai avec un TS et toutes les colonnes intégrées au TS.

VB:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
'
    If Intersect(Target, Range("TS_1[A/N]")) Is Nothing Then Exit Sub
    If Target.Cells.Count <> 1 Then Exit Sub

    Cancel = True
    If Target.Value = "A" Then
        Target.Value = "N"
    Else
        Target.Value = "A"
    End If

End Sub
 

Pièces jointes

Le Forum,
TooFatBoy, tu as certainement raison.
J'enregistre ta proposition #5 pour dans un mois, quand j'aurai fini d'utiliser mon application telle qu'elle est montée actuellement, de peur de "tout casser" car tout fonctionne bien (c'est la belle application qui me permet d'expédier des mails en salves avec pièces personnalisée jointe).
... intéressant aussi comme présentation en #5, merci TooFatBoy.
Il est d'ailleurs dommage ici que tu ne sois pas AUSSI primé comme Post Solution car ayant pris le #2 comme solution, le #5 n'est pas accepté et pourtant tu as une belle solution de proposée, désolé pour cette discrimination non désirée.
Webperegrino
 
Il est d'ailleurs dommage ici que tu ne sois pas AUSSI primé comme Post Solution car ayant pris le #2 comme solution, le #5 n'est pas accepté et pourtant tu as une belle solution de proposée, désolé pour cette discrimination non désirée.
No problemo. La réponse de fanfan38 répond parfaitement à ta question initiale, donc tu as très bien fait de choisir sa réponse. 👍


Puisque tu préfères cliquer sur la colonne A, j'ai modifié la proposition de #5, juste pour que tu vois comment on peut éventuellement faire avec l'utilisation d'un TS.

VB:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
'
    If Intersect(Target, Range("TS_1[Rang]")) Is Nothing Then Exit Sub
    If Target.Cells.Count <> 1 Then Exit Sub

    Cancel = True
    LigneTS = Target.Row - Range("TS_1").Row + 1
    Range("TS_1[A/N]").Cells(LigneTS).Value = IIf(Range("TS_1[A/N]").Cells(LigneTS).Value = "A", "N", "A")

End Sub
 

Pièces jointes

Dernière édition:
- 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

Retour