XL 2010 ERREUR SUR FONCTION (passage Argument)

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

sevy1

XLDnaute Occasionnel
Bonjour à tous
je suis entrain de construire un TB qui me fournira la performance par semaine. En recherchant sur le net j'ai trouvé une fonction qui me donne le Numéro de la semaine mais seulement lorsque je l'appelle dans une autre fonction j'ai un message d'erreur et je coince car ne n'arrive pas à déceler ce qui ne va pas merci pour votre aide ci dessous le code
Code:
Dim sh1, sh2, sh3 As Worksheet
Dim te()
Dim i&
Dim nb_decl@

Sub DECLARANT()
Set sh1 = Feuil1
Set sh2 = Feuil2
Set sh3 = Feuil3
te = sh1.[a2].Resize(sh1.[a65000].End(xlUp).Row, 31).Value
nb_decl = 0
For i = 1 To UBound(te, 1)
    If te(i, 21) > 0 And Year(te(i, 21)) = sh2.Range("p2") And NOSEM2(te(i, 21)) = sh2.Range("O1") Then
        nb_decl = nb_decl + 1
    End If
Next i
sh2.Range("C2") = nb_decl
End Sub

Function NOSEM2(D As Date) As Long
   D = Int(D)
   NOSEM2 = DateSerial(Year(D + (8 - Weekday(D)) Mod 7 - 3), 1, 1)
   NOSEM2 = ((D - NOSEM2 - 3 + (Weekday(NOSEM2) + 1) Mod 7)) \ 7 + 1
End Function
 

Pièces jointes

bonsoir,
Tu nous aurais donné un fichier avec au moins une ligne de données pour tester ça n'aurais pas été plus mal...
Essaie :

If te(i, 21) > 0 And Year(te(i, 21)) = sh2.Range("p2") And NOSEM2(CDate(te(i, 21))) = sh2.Range("O1") Then

A+
 
- 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

Réponses
2
Affichages
153
Réponses
4
Affichages
177
Réponses
2
Affichages
511
Retour