2 requêtes dans 1 worksheet_change

doudo

XLDnaute Nouveau
Bonjour à tous!

Je dispose de deux macros "worksheet_change" qui fonctionnent très bien séparément. J'ai cru comprendre que l'on ne peut pas en mettre deux dans la meme sheet, c'est pourquoi j'ai voulu rassembler les deux...La deuxième ne fonctionne alors plus, je vous joints le code pour que vous y compreniez quelque chose :



Private Sub Worksheet_Change(ByVal Target As Range)
'1ere requete
If Target.Column >= 2 And Target.Column <= 31 Then

If Cells(Target.Row, 27).Value = Date Then Exit Sub
Cells(Target.Row, 27).Value = Date
End If

'2eme requete
If Target.Column <> 2 And Target.Column <> 4 Then Exit Sub

If Application.CountIf(Sheets("saisie_base").Range("CC21:CC" & [CC21].End(xlDown).Row), Cells(Target.Row, 2) & Cells(Target.Row, 4)) > 1 Then
MsgBox "Attention : le numéro de 'sous plan' saisi est déjà existant pour ce budget!"
End If


End Sub


Si vous comprenez ce qui cloche et que vous avez une solution je suis preneur,

Merci d'avance :)

Doudo
 

Pierrot93

XLDnaute Barbatruc
Re : 2 requêtes dans 1 worksheet_change

Bonjour,

essaye peut être ceci :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'2eme requete
If Target.Column = 2 Or Target.Column = 4 Then
    If Application.CountIf(Sheets("saisie_base").Range("C C21:CC" & [CC21].End(xlDown).Row), Cells(Target.Row, 2) & Cells(Target.Row, 4)) > 1 Then
        MsgBox "Attention : le numéro de 'sous plan' saisi est déjà existant pour ce budget!"
    End If
End If

'1ere requete
If Target.Column >= 2 And Target.Column <= 31 Then
    If Cells(Target.Row, 27).Value = Date Then Exit Sub
    Cells(Target.Row, 27).Value = Date
End If
End Sub

bonne journée
@+
 

pedrag31

XLDnaute Occasionnel
Re : 2 requêtes dans 1 worksheet_change

Bonjour Doudo, Bonjour le forum,

Il semble tout a fait possible que ce soit le "Exit Sub" qui annule ta 2ème requête...
Eh oui, lorsque le "Exit Sub" s'éxécute il met fin a toute la Subroutine, le programme sort de la macro immédiatement...

A vérifier.

Bonne journée :)

[Edit] Bonjour Pierrot93, nos posts se sont croisés!
 

Discussions similaires