• Initiateur de la discussion Initiateur de la discussion bpierre
  • 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 !

B

bpierre

Guest
bonjour,

dans le fichier joint, je double clique dans des cellules pour voir apparaître ou disparaître une croix (ce qui m'ajoute ou me supprime des informations dans le 2ème onglet).

Est-il possible de cumuler l'action du double clique et la touche X du clavier ?
Si oui comment ?

merci d'avance
jm
 

Pièces jointes

Re : macro - Croix

Bonjour bPierre,

En déplaçant la deuxième partie de ta macro dans l'évènement Change, cela devrait le faire. Tu peux même mettre un x (minuscule) pour que cela fonctionne.:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    If Not Intersect(Target, Range("j2:M1000")) Is Nothing Then
        If Ucase(Target) = "X" Then
            Target = ""
        Else
            Target = "X"
        End If
    End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("j2:M1000")) Is Nothing And Selection.Rows.Count = 1 And Selection.Columns.Count = 1 Then
        Select Case UCase(Target)
        Case "X"
            Set MaDestination = Sheets("cota").Range("A65536").End(xlUp).Offset(1, 0)
            MaDestination.Value = Cells(1, Target.Column)
            MaDestination.Offset(0, 1).Value = Cells(Target.Row, 2)
            MaDestination.Offset(0, 2).Value = Cells(Target.Row, 4)
            MaDestination.Offset(0, 3).Value = Cells(Target.Row, 8)
            MaDestination.Offset(0, 4).Value = Cells(Target.Row, 5)
        Case ""
            For Each X In Sheets("cota").Range("A2:" & Sheets("cota").Range("A65536").End(xlUp).Address)
                If X & X.Offset(0, 1) & X.Offset(0, 2) & X.Offset(0, 3) & X.Offset(0, 4) = Cells(1, Target.Column) & Cells(Target.Row, 2) & Cells(Target.Row, 4) & Cells(Target.Row, 5) & Cells(Target.Row, 8) Then
                    X.EntireRow.Delete
                    Exit Sub
                End If
            Next
        End Select
    End If
End Sub
A+
 
Dernière modification par un modérateur:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour