Lancer une macro à condition qu'une ligne soit sélectionnée

Bonjour,

Je cherche une commande qui me permettrait de lancer une macro à condition que ce soit une ligne entière qui soit sélectionnée (ou a contrario : sortir de la macro si une cellule ou une colonne avait été sélectionnée).

Cela fait plusieurs jours que je fouille les formus, sans succès... Quelqu'un peut-il m'aider ?

D'avance merci pour vos réponses.

Bonjour

une solution possible

Sub test()
    If Selection.Address = Selection.EntireRow.Address And Selection.Rows.Count = 1 Then
        MsgBox "ligne sélectionnée"
    Else
        MsgBox "sélection " & Selection.Address
    End If

End Sub

Bonjour

Bonjour h2so4

Une autre solution (semblable à celle de h2so4) avec l'utilisation d'une procédure événementielle

Code à placer dans le module de la feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Rows.Count = 1 And Target.Count = Columns.Count Then
    MsgBox "Ligne sélectionnée : Lancement de la macro"
    Range("A" & Target.Row).Select      ' Juste pour enlever la sélection de la ligne
  End If
End Sub

Bonsoir h2so4,

Bonsoir Banzai64,

Merci beaucoup pour vos réponses !

J'ai repris la solution de h2so4 et voici comment je l'ai adaptée :

 Sub test()
        If Selection.Address = Selection.EntireRow.Address And Selection.Rows.Count > 0 Then
            Nom_de_la_macro
        Else
            MsgBox "Veuillez sélectionner une ligne pour utiliser cette fonction."
            Exit Sub
        End If

    Activesheet.range("A65536").end(xlup).row+1    'pour sélectionner la première case vide, inspiré par Banzai64

    End Sub

Je peux ainsi avoir une sélection d'une ou de plusieurs lignes et ajouter des commandes suite à la condition.

Et ça marche ! Encore merci !

Rechercher des sujets similaires à "lancer macro condition ligne soit selectionnee"