Microsoft 365 Afficher plusieurs fois les mêmes valeurs

moanin

XLDnaute Impliqué
Bonsoir à tous;)



J’ai une suite de dates, et je voudrais que chacune de ces dates soit affichée trois fois dans cette liste.

Comment pourrais-je faire ?

Merci



17/03/2024
17/03/2024
17/03/2024
16/03/2024
16/03/2024
16/03/2024
15/03/2024
15/03/2024
15/03/2024
14/03/2024
14/03/2024
14/03/2024
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Un essai avec Power Query.
Après modification du tableau d'origine en colonne "A", il faut actualiser le tableau "vert" réalisé avec power query colonne "C".

JHA
 

Pièces jointes

  • Date Moanin.xlsx
    17 KB · Affichages: 1
Dernière édition:

moanin

XLDnaute Impliqué
Bonjour et merci, à tous les deux ;)

-Pour Powerf Query, ce n’est pas possible, car j’ai une version expurgée d’iPad et n’ai pas PowerQuery.
-Pour la formule de mapomme j’ai un souci avec la formule,voir la capture d’écran ci-dessous,:

IMG_8566.jpeg
 

Franc58

XLDnaute Occasionnel
Bonjour, pour le fun, une solution vba. Je considère que la liste démarre en A1 et je copie les valeurs en colonne B, ensuite je trie.

VB:
Sub CopierDates3Fois()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Feuil1") 'Remplacez "Feuil1" par le nom de votre feuille

    Dim dict As Object
    Set dict = CreateObject("Scripting.Dictionary")

    Dim i As Long
    For i = 1 To ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
            If Not dict.Exists(ws.Cells(i, "A").value) Then
                dict.Add ws.Cells(i, "A").value, 1
            End If
    Next i
    
    Dim j As Byte
    Dim k As Long
    k = 0

    For i = 0 To dict.Count - 1
        Dim key As Variant
        key = dict.Keys()(i) '
        For j = 1 To 3 'Boucle pour écrire la date trois fois dans la nouvelle colonne
                k = k + 1
                ws.Cells(k, "B").value = key
        Next j
    Next i

    Dim lastRow As Long
    lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row 'Trouve la dernière ligne remplie dans la nouvelle colonne

    With ws.Sort 'Trie la nouvelle colonne
        .SetRange ws.Range("B1:B" & lastRow)
        .Header = xlNo 'Définit la première ligne comme une ligne de données à trier
        .MatchCase = False
        .Orientation = xlTopToBottom
        .Apply
    End With
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 214
Messages
2 086 311
Membres
103 175
dernier inscrit
abcc