Microsoft 365 Evènement worksheet_change

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 !

Francky79

XLDnaute Occasionnel
Bonjour le forum,

Je ne c'est pas comment faire pour que les deux parties de code fonctionnent dans un worksheet_change.
Un part un cela marche mais les deux ?
VB:
Private Sub worksheet_change(ByVal Target As Range)
  ' validation date de livraison
Dim H, iSct As Range
    Set iSct = Intersect(Target, Range("L:L"))
    If iSct Is Nothing Then Exit Sub
    Application.EnableEvents = False
    For Each H In iSct.Cells
    If IsEmpty(H) Then
    H.Offset(0, 8) = ""
    Else
    H.Offset(0, 8) = Format(Now, "mm/dd/yy")
    ActiveCell.Offset(0, 4).Activate
 ActiveCell.Value = "Val AR"
    End If
    Next
 Application.EnableEvents = True
 
    ' vérification présence des fichiers
If Not Intersect(Target, Range("F6:F600")) Is Nothing Then
Cancel = True
Call Recherche_fichiers_data
End If
    
    
End Sub

Merci pour votre aide
 
Solution
Bonjour Franky,
Je pense que c'est du à votre Exit Sub, qui si il est rencontré sort de la macro sans continuer.
Peut être en inversant si cela n'a pas d'impact sur la macro Recherche_fichiers_data :
VB:
Private Sub worksheet_change(ByVal Target As Range)
  ' validation date de livraison
Dim H, iSct As Range
    ' vérification présence des fichiers
    If Not Intersect(Target, Range("F6:F600")) Is Nothing Then
        Cancel = True
        Call Recherche_fichiers_data
    End If
    Set iSct = Intersect(Target, Range("L:L"))
    If iSct Is Nothing Then Exit Sub
    Application.EnableEvents = False
    For Each H In iSct.Cells
    If IsEmpty(H) Then
    H.Offset(0, 8) = ""
    Else
    H.Offset(0, 8) = Format(Now, "mm/dd/yy")...
Bonjour Franky,
Je pense que c'est du à votre Exit Sub, qui si il est rencontré sort de la macro sans continuer.
Peut être en inversant si cela n'a pas d'impact sur la macro Recherche_fichiers_data :
VB:
Private Sub worksheet_change(ByVal Target As Range)
  ' validation date de livraison
Dim H, iSct As Range
    ' vérification présence des fichiers
    If Not Intersect(Target, Range("F6:F600")) Is Nothing Then
        Cancel = True
        Call Recherche_fichiers_data
    End If
    Set iSct = Intersect(Target, Range("L:L"))
    If iSct Is Nothing Then Exit Sub
    Application.EnableEvents = False
    For Each H In iSct.Cells
    If IsEmpty(H) Then
    H.Offset(0, 8) = ""
    Else
    H.Offset(0, 8) = Format(Now, "mm/dd/yy")
    ActiveCell.Offset(0, 4).Activate
    ActiveCell.Value = "Val AR"
    End If
    Next
    End If
    Application.EnableEvents = True
End Sub
ou encore en inversant le nothing avec "If Not iSct Is Nothing Then"
VB:
Private Sub worksheet_change(ByVal Target As Range)
  ' validation date de livraison
Dim H, iSct As Range
    Set iSct = Intersect(Target, Range("L:L"))
    If Not iSct Is Nothing Then
        Application.EnableEvents = False
        For Each H In iSct.Cells
            If IsEmpty(H) Then
                H.Offset(0, 8) = ""
            Else
                H.Offset(0, 8) = Format(Now, "mm/dd/yy")
                ActiveCell.Offset(0, 4).Activate
                ActiveCell.Value = "Val AR"
            End If
        Next
    End If
 Application.EnableEvents = True
    ' vérification présence des fichiers
If Not Intersect(Target, Range("F6:F600")) Is Nothing Then
Cancel = True
Call Recherche_fichiers_data
End If
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
246
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
230
Réponses
1
Affichages
318
Réponses
4
Affichages
394
Réponses
4
Affichages
358
Retour