Insertion automatique d'une ligne des dates manquantes
TraderAS
Messages postés
119
Statut
Membre
-
TraderAS Messages postés 119 Statut Membre -
TraderAS Messages postés 119 Statut Membre -
Bonjour,
je souhaite avoir une macro qui me permet d'insérer automatiquement les dates manquantes exemple:
colonne date
01/01/2013
02/01/2013
04/01/2013
05/01/2013
08/01/2013
09/01/2013
10/01/2013
par exemple il manque ici les dates du 03/01/2013, du 06/01/2013 et du 07/01/2013
je suis débutant avec le VB, mais je souhaite avoir un code qui calcul la différence entre deux date si c'est supérieur à 1 donc il doit automatiquement ajouter une ligne
merci
je souhaite avoir une macro qui me permet d'insérer automatiquement les dates manquantes exemple:
colonne date
01/01/2013
02/01/2013
04/01/2013
05/01/2013
08/01/2013
09/01/2013
10/01/2013
par exemple il manque ici les dates du 03/01/2013, du 06/01/2013 et du 07/01/2013
je suis débutant avec le VB, mais je souhaite avoir un code qui calcul la différence entre deux date si c'est supérieur à 1 donc il doit automatiquement ajouter une ligne
merci
7 réponses
-
Bonjour,
Voici un code qui devrai vous satisfaire, j'ai fais assez vite alors si vous avez besoin d'un coup de main pour comprendre ne pas hésiter
Sub date_creation()
Dim i As Integer
Dim fin As Integer
For i = 1 To 5000
If Cells(i, 1) = "" Then fin = i: Exit For
Next i
For i = 1 To fin
If Cells(i + 1, 1) <> Cells(i, 1).Value + 1 Then
Rows(i + 1).Insert
Cells(i + 1, 1) = Cells(i, 1) + 1
End If
Next i
End Sub -
-
Pas de soucis, hésitez pas si jamais il y a un soucis
-
Mr scinarf
en faite vu que j'utilise des dates de jours ouvrables, j'utilise la fonction "=SERIE.JOUR.OUVR (A1;1) pour que quand j'incrémente ca ne m'affiche que les jours jours ouvrables
comment je peux introduire cette condition dans le code que vous m'avez livré
merci -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Sub date_creation()
Dim i As Integer
Dim fin As Integer
For i = 1 To 5000
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
Essayer donc ca -
-
Logiquement il devrait ne pas marcher pour les jours fériés qui tombe sur un jour ouvré.
Mais au moins l'erreur est connu. Donc faire attention.-
Salut Scinarf
Je ne sais pas, mais j'ai testé le code que vous m'avez fourni avec le SERIE.JOUR.OUVR et ca marché:
Sub date_creation()
Dim i As Integer
Dim fin As Integer
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
-