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
A voir également:
- Activez le renvoi automatique à la ligne pour les cellules de la première ligne. une phrase doit apparaître.
- Apparaitre hors ligne instagram - Guide
- Partage de photos en ligne - Guide
- Apparaitre hors ligne whatsapp - Guide
- Formulaire en ligne de meta - Guide
- Aller à la ligne dans une cellule excel - Guide
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
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
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
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
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.
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
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