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 :rolleyes:
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
1731872222964.png



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: 1

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: 2
Dernière édition:

AtTheOne

XLDnaute Accro
Supporter XLD
Bonjour à toutes & à tous, bonjour @job75
J'ai lu
j'abuse certainement de ta gentillesse mais la feuille sera imprimé
C'est pourquoi j'ai respecté la mise en forme du 1er fichier joint.
Comme les données arrivent par formule, les feuilles ne sont pas supprimées et les mises en formes sont faites une fois pour toutes.
Je suppose que ces feuilles sont faites pour des interventions dans les salles en fin de séance, mais ce n'est qu'une supposition...
À bientôt
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Code de tri
Réponses
22
Affichages
807
Réponses
5
Affichages
266

Membres actuellement en ligne

Statistiques des forums

Discussions
315 087
Messages
2 116 084
Membres
112 655
dernier inscrit
fannycordi