VBA formule networkdays

Bonjour.

J'ai un problème pour utiliser la fonction jours ouvrés avec vba.

Mon excel comporte 3 colonnes:

  • la date de début (A)
  • la date de fin (B)
  • l'écart entre A et B en jours ouvrés
Sub calcul()

 Dim i As Integer

 For i = 2 To Sheets("Feuil1").Range("a65535").End(xlUp).Row
        Sheets("Feuil1").Range("C" & i) = Application.WorksheetFunction.NetworkDays(Sheets("Feuil1").Range("A" & i), Sheets("Feuil1").Range("B" & i))
    Next i
End Sub

Quand j'exécute, la macro fait 2 lignes et je tombe sur l'erreur suivante:

Erreur d'éxécution 1004

Impossible de lire la fonction NetworkDays de la classe worksheetfunction

Pouvez-vous me débloquer, svp ?

Merci.

126networkdays.xlsm (19.66 Ko)

Bonjour flyEmirates,

C'est normal, ta colonne B ne contient pas que des "vraies" dates. Certaines sont des textes représentant des dates. Une solution :

Sub calcul()

 Dim i As Integer

 For i = 2 To Sheets("Feuil1").Range("a65535").End(xlUp).Row
        Sheets("Feuil1").Range("C" & i) = Application.WorksheetFunction.NetworkDays(CDate(Sheets("Feuil1").Range("A" & i)), CDate(Sheets("Feuil1").Range("B" & i)))
    Next i
End Sub

Merci vba-new.

J'avais essayé la fonction application.worksheetfunction.date..... mais ça fonctionnait pas

Rechercher des sujets similaires à "vba formule networkdays"