Macro changement de date en fonction d'une cellule dans une suite de dates.
mmaevaa
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
mmaevaa Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
mmaevaa Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerais savoir s'il est possible de modifier une suite de dates en fonction de la première cellule de la colonne mais que cette cellule varie à chaque fois que la date change....
Je m'explique :
J'ai une suite de date comme suit :
01/01/2019
01/01/2019
01/01/2019
10/31/2018
10/31/2018
10/31/2018
10/31/2018
Et j'aimerais que de manière automatique cette suite devienne :
01/01/2019
01/02/2019 (+1)
01/03/2019 (+1)
10/31/2018
11/01/2018 (+1)
11/02/2018 (+1)
11/03/2018 (+1)
Bien sur dans les faits la suite fait 13000 lignes.
Est-ce possible via une formule ?
Un macro ?
Merci d'avance
J'aimerais savoir s'il est possible de modifier une suite de dates en fonction de la première cellule de la colonne mais que cette cellule varie à chaque fois que la date change....
Je m'explique :
J'ai une suite de date comme suit :
01/01/2019
01/01/2019
01/01/2019
10/31/2018
10/31/2018
10/31/2018
10/31/2018
Et j'aimerais que de manière automatique cette suite devienne :
01/01/2019
01/02/2019 (+1)
01/03/2019 (+1)
10/31/2018
11/01/2018 (+1)
11/02/2018 (+1)
11/03/2018 (+1)
Bien sur dans les faits la suite fait 13000 lignes.
Est-ce possible via une formule ?
Un macro ?
Merci d'avance
A voir également:
- Macro changement de date en fonction d'une cellule dans une suite de dates.
- Changer de dns - Guide
- Fonction si et - Guide
- Nombre de jours entre deux dates excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Aller à la ligne dans une cellule excel - Guide
1 réponse
Bonjour,
par macro:
Voilà
par macro:
Option Explicit Private Sub CommandButton1_Click() For_X_to_Next_Ligne End Sub Sub For_X_to_Next_Ligne() Dim FL1 As Worksheet, NoCol As Integer Dim NoLig As Long, Var As Variant Set FL1 = Worksheets("Feuil1") splitcolonne NoCol = 2 'lecture de la colonne B For NoLig = 2 To Split(FL1.UsedRange.Address, "$")(4) Var = FL1.Cells(NoLig, NoCol) If FL1.Cells(NoLig, NoCol) = FL1.Cells(NoLig - 1, NoCol) Then ' si la valeur est égale à la ligne précédente FL1.Cells(NoLig, NoCol - 1) = FL1.Cells(NoLig, NoCol - 1) & "(+1)" 'on ajoute (+1) End If Next Set FL1 = Nothing Columns("B:B").ClearContents 'on nettoie colonne B End Sub Sub splitcolonne() Dim FL1 As Worksheet, NoCol As Integer Dim NoLig As Long, Var As Variant Set FL1 = Worksheets("Feuil1") NoCol = 1 'lecture de la colonne A For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4) Var = FL1.Cells(NoLig, NoCol) FL1.Cells(NoLig, NoCol + 1) = Split(Var, "/")(2) 'on met l'année dans la colonne B Next Set FL1 = Nothing End Sub
Voilà
Merci ça ressemble vraiment à ce que je recherche, mais je pense que je me suis mal exprimée,
Je ne veux pas que le "(+1)" s'affiche en format texte, seulement que la case se recalcule en fonction de la précédente.
A savoir dans l'exemple :
01/01/2019
01/01/2019
01/01/2019
10/31/2018
Se transforme en :
01/01/2019
01/02/2019
01/03/2019
10/31/2018
Merci