Insérer automatiquement une ligne pour dates manquantes

Fermé
TraderAS Messages postés 110 Date d'inscription lundi 3 décembre 2012 Statut Membre Dernière intervention 26 avril 2018 - 3 avril 2013 à 23:31
TraderAS Messages postés 110 Date d'inscription lundi 3 décembre 2012 Statut Membre Dernière intervention 26 avril 2018 - 5 avril 2013 à 13:34
Bonjour,

je souhaite insérer automatiquement les dates manquantes d'un calendrier, sachant aussi que mes dates ne concernent que les jours ouvrables c'est à dire du Lundi au Vendredi j'ai eu une solution mais qui n'a pas marché :

For i = 1 To 30
If Cells(i, 1) = "" Then fin = i: Exit For
Next i

For i = 1 To fin
If Cells(i + 1, 1) <> SERIE.JOUR.OUVR(Cells(i, 1).Value, 1) Then
Rows(i + 1).Insert
Cells(i + 1, 1) = Cells(i, 1) + 1
End If
Next i
End Sub

mais je crois que j'ai quelques problèmes en faite pour la ligne
If Cells(i + 1, 1) <> SERIE.JOUR.OUVR(Cells(i, 1).Value, 1) Then il y'a l'erreur d'éxecution '424' objet requis, je ne sais pas pourquoi ca ne marche pas sachant que ma colonne est composée de dates comm JJ/MM/AAAA

MERCI
A voir également:

4 réponses

f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 711
4 avril 2013 à 09:01
Bonjour,

utilisez fonction WorkDay:

Sub test()
Dim x As Date
x = Application.WorksheetFunction.WorkDay(Now(), 3)
End Sub

Bonne suite
0
TraderAS Messages postés 110 Date d'inscription lundi 3 décembre 2012 Statut Membre Dernière intervention 26 avril 2018 1
4 avril 2013 à 11:44
salut f894009,


voila j'ai cette liste de dates
09/01/2014
08/01/2014
06/01/2014
04/01/2014
02/01/2014
31/12/2013


et j'ai enleveé les dates impairs, sauf que quand j'applique la focntion workday, comme vous l'avez mentionné, rien ne se produit

Trader
0
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 711
4 avril 2013 à 12:40
Bonjour,

sachant aussi que mes dates ne concernent que les jours ouvrables le 04/01/2013 n'est pas un jour ouvrable

essayez avec ce code:

Sub test()

    derlig = Range("A" & Rows.Count).End(xlUp).Row
    
    For x = 2 To derlig
        date_EC = Range("A" & x - 1)
        If Range("a" & x) <> Application.WorkDay(date_EC, -1) Then
            Rows(x & ":" & x).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
            Range("a" & x) = Application.WorkDay(date_EC, -1)
            derlig = Range("A" & Rows.Count).End(xlUp).Row
        End If
    Next x

End Sub
0
TraderAS Messages postés 110 Date d'inscription lundi 3 décembre 2012 Statut Membre Dernière intervention 26 avril 2018 1
4 avril 2013 à 13:02
et ca marche, quand à la date du 04/01/2013, c'est just pour voir si le code peut m'insérer les dates manquantes indépendement du jour

Merci bien f894009 U R A VB MASTER ;)
0
TraderAS Messages postés 110 Date d'inscription lundi 3 décembre 2012 Statut Membre Dernière intervention 26 avril 2018 1
5 avril 2013 à 13:34
je m'excuse mais que j'ai voulu tester ce code pour ce fichier ca na pas marché:

voici le doc: https://www.cjoint.com/?CDfnHPQECQ8

Merci
0