Passage argument à une macro depuis une autre macro

Bonjour,

Je suis dans " Private Sub Worksheet_Change(ByVal Target As Range) et depuis cette macro je désirerais appeler une macro qui contrôlerai les données de cette ligne. Cette macro pourrait être appelée par différentes feuilles ayant la même structure. Cette macro appelle une autre macro (qui elle même contrôle et modifie des données de cette même ligne )

Appel de la Macro

Code

:Contrôle_ligne (Target) qui me donne comme message : Erreur d’exécution "424" Objet requis

Nom de la Macro :

Code:

Sub Controle_ligne(ByRef Target As Range)

If Cells(Target.Row, "A").Value = "" Then

MsgBox " Le nom est obligatoire ", vbCritical, "erreur"

Cells(Target.Row, "A").Select

Exit Sub

Else

If Cells(Target.Row, "L").Value <> "F" And Cells(Target.Row, "L").Value <> "M" And Cells(Target.Row, "L").Value <> "I" Then

MsgBox " Le sexe doit etre 'M' ou 'F' ou 'I' ", vbCritical, "erreur"

Cells(Target.Row, "L").Select

Exit Sub

Else

End If

End If

'

' Module Maj de date par modif de feuille

'

Maj_Date_2 (Target.Row)

'

End Sub

J'espére avoir été assez clair et notez que je suis un VBA iste tatonnant.

Merci pour votre réponse

Roro93

Bonour,

à tester,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Controle_ligne Target
End Sub

Sub Controle_ligne(Target)
If Cells(Target.Row, "A").Value = "" Then
    MsgBox " Le nom est obligatoire ", vbCritical, "erreur"
    Cells(Target.Row, "A").Select
    Exit Sub
Else
    If Cells(Target.Row, "L").Value <> "F" And Cells(Target.Row, "L").Value <> "M" And Cells(Target.Row, "L").Value <> "I" Then
        MsgBox " Le sexe doit etre 'M' ou 'F' ou 'I' ", vbCritical, "erreur"
        Cells(Target.Row, "L").Select
        Exit Sub
    End If
End If
End Sub

Bonour,

à tester,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Controle_ligne Target
End Sub

Sub Controle_ligne(Target)
If Cells(Target.Row, "A").Value = "" Then
    MsgBox " Le nom est obligatoire ", vbCritical, "erreur"
    Cells(Target.Row, "A").Select
    Exit Sub
Else
    If Cells(Target.Row, "L").Value <> "F" And Cells(Target.Row, "L").Value <> "M" And Cells(Target.Row, "L").Value <> "I" Then
        MsgBox " Le sexe doit etre 'M' ou 'F' ou 'I' ", vbCritical, "erreur"
        Cells(Target.Row, "L").Select
        Exit Sub
    End If
End If
End Sub

Merci beaucoup pour la rapidité de la réponse dont le résultat est conforme à ce que je désirais faire . A moi maintenant de comprendre le mode de fonctionnement de passage des arguments. Merci beaucoup.

re,

merci pour ce retour,

le problème venait du nom

Contrôle_ligne <> Controle_ligne

Rechercher des sujets similaires à "passage argument macro"