Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Tri et saut de ligne

homernell

XLDnaute Occasionnel
Bonjour à tous,

Comment beaucoup je refuse chat gpt au profit de vous les humains, et d'ailleurs merci !

J'aimerai dans le fichier joint, faire du tri et éviter un saut de ligne à partir d'une base de données.
Tout est écrit dans le fichier pour les explications.

Merci d'avance.
 

Pièces jointes

  • entsorties 2024.xlsx
    38.7 KB · Affichages: 11

AtTheOne

XLDnaute Accro
Supporter XLD
bonsoir à toutes & à tous, bonsoir @job75 et @vgendron
puis... j'ai vu que ces lignes vides étaient en fait masquées
d'où le
Oups pas bien lu le fichier je n'ai rien dit
et ..
et pour le filtrage plutot que tri.. j'ai posé la question en #9.... pas eu de réponse...
un filtre pour exclure les lignes vides mais aussi un tri sur les horaires de sortie (pas dans le même ordre que les horaires d'entrée) pour cela il faut aller piocher dans un encart dans un des fichiers fournis



Bon je me suis attaqué au problème du tableau hebdomadaire toujours dans le même esprit :
Fonctions matricielles dynamiques et une macro juste pour l'import du fichier de données brutes.

C'est un peu plus coton que la demande initiale mais ça fonctionne !

Voir le fichier joint
 

Pièces jointes

  • entsorties semaine 2024 AtTheOne.xlsm
    103.4 KB · Affichages: 0

job75

XLDnaute Barbatruc
Pour la mise en forme on peut se contenter de copier les formats de la feuille "Sheet1".

C'est alors très simple :
VB:
Sub Creer_jours()
Dim w As Worksheet, i&, lig&
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With Sheets("Sheet1")
    For Each w In Worksheets
        If w.Name <> .Name Then w.Delete
    Next w
    For i = 1 To .Cells.SpecialCells(xlCellTypeLastCell).Row
        If .Cells(i, 2).Text Like "##/##/####" Then
            Set w = Sheets.Add(After:=Sheets(Sheets.Count))
            ActiveWindow.DisplayGridlines = False 'masque le quadrillage
            w.Name = Format(CDate(.Cells(i, 2)), "dd-mm-yy")
            .Columns("B:AG").Copy w.Cells(1): w.Cells.Clear 'copie les largeurs des colonnes
            .Range("B12:AG12").Copy w.Cells(1)
            lig = 2
        ElseIf .Cells(i, 2).Text Like "##:##" Then
            .Range("B" & i & ":AG" & i).Copy w.Cells(lig, 1)
            lig = lig + 1
        End If
    Next i
    .Activate
End With
End Sub
Edit : ajouté le masquage du quadrillage.
 

Pièces jointes

  • 20241117_SessionsByStartTime.133535.830d8a96-fbf7-41f0-b4d9-2c2117a33480.XLS
    122 KB · Affichages: 0
Dernière édition:

Discussions similaires

  • Résolu(e)
Microsoft 365 Code de tri
Réponses
22
Affichages
731
Réponses
5
Affichages
193
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…