Code après clic droit, ligne 1 de A à ZZ... Comment faire svp ? [résolu !]

  • Initiateur de la discussion Initiateur de la discussion anthoYS
  • Date de début Date de début

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 !

anthoYS

XLDnaute Barbatruc
Bonsoir ou bonjour,
j'ai un code à problème, le voici :

Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean
Set Target = ActiveCell
Code:
Cancel = True
With Target
   If .Column = 1[COLOR=#ff0000] to 100[/COLOR] Then
        Cancel = True
        If .Comment Is Nothing Then
            .AddComment
            .Comment.Shape.Width = 250.5
            .Comment.Shape.Height = 55.75
        End If
        SendKeys "%im"
    End If


En gros, si on enlève "to 100", il met un commentaire préétablit après un clic droit dans la colonne numéro 1 donc colonne A sous Excel..

Or, je souhaite l'inverse, qu'il n'ajoute un commentaire après clic droit toujours, mais dans la ligne numéro 1.

Pour synthétiser, ajouter des commentaires après clic droit à l'horizontale (ligne 1) et non pas à la verticale (colonne A).
Bien sur, un clic droit en A8, commentaire en A8 etc, etc.​


Merci par avance
à+
 
Dernière édition:
Re : Code après clic droit, ligne 1 de A à ZZ... Comment faire svp ?

Salut anthoYS et le forumPas tout compris, mais...
Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean
Set Target = ActiveCell
Ça, c'est un vrai nid à problème : Target est déjà la cellule active : c'est une variable mise à jour par excel et il ne faut pas y toucher, excel risque de faire des caprices !
Code:
With Target
   If .rows = 1 Then
        Cancel = True
        If .Comment Is Nothing Then
            .AddComment
            .Comment.Shape.Width = 250.5
            .Comment.Shape.Height = 55.75
        End If
        'SendKeys "%im" '??? utilité
    End If
Pour synthétiser, ajouter des commentaires après clic droit à l'horizontale (ligne 1) et non pas à la verticale (colonne A).
Bien sur, un clic droit en A8, commentaire en A8 etc, etc.
Quand on donne un code, il faut expliquer ce qu'il est supposé faire ! Vu ton nombre de postes, tu devrais le savoir !
Ta demande est incohérente ! soit c'est en ligne 1 soit c'est sur une plage ! Mais faut pas espérer une réponse correcte si tu ne nous permet pas de comprendre le problème.
A+
 
Re : Code après clic droit, ligne 1 de A à ZZ... Comment faire svp ?

Bonjour,

Merci.


Je croyais m'être expliquer. Je le refait : Avant il le fesait en colonne une, désormais je souhaite en ligne 1 (pas en plage..).


Résultat :

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean
Set Target = ActiveCell
Code:
Cancel = True
With Target
If .Rows = 1 Then​
Cancel = True​
If .Comment Is Nothing Then​
.AddComment
.Comment.Shape.Width = 250.5
.Comment.Shape.Height = 55.75​
End If
SendKeys "%im"​
End If​
End Sub


Dans le code de la feuille. Qu'est-ce qui cloche svp ?


Merci d'avance.

à+
 
Re : Code après clic droit, ligne 1 de A à ZZ... Comment faire svp ?

bonjour
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
With Target
If .Row = 1 Then
If .Comment Is Nothing Then
.AddComment
.Comment.Shape.Width = 250.5
.Comment.Shape.Height = 55.75
End If
SendKeys "%im"
End If
End With
Cancel = True
End Sub
 
Re : Code après clic droit, ligne 1 de A à ZZ... Comment faire svp ?

Bonjour,

@ mutzik : si une plage, par exemple A1:A2, est sélectionnée, la macro précédente beugue...

C'est pour l'éviter qu'il faut impérativement au début Set Target = ActiveCell

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

Retour