Microsoft 365 Filtrer lignes par quart d'heures

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Guiguidule62

XLDnaute Nouveau
Bonjour,

tout est dans le titre.

Je ne souhaiterais conserver que lignes avec quarts d'heure ronds ( 00, 15, 30, 45 ).

En effet, la relève de température et pH s'effectue normalement tous les quarts d'heure mais il arrive que des mesures supplémentaires soient prises.
J'aimerais les écarter tout simplement.

Ci joint un fichier pour illustrer ma demande.

Je vous remercie par avance.

Cordialement.

exemple.jpg
 
Bonjour Guiguidule62, et bienvenu sur XLD, bonjour Cousinhub, JHA,
Fournir un petit fichier est sympa. Cela évite au contributeur de se le taper avec toutes les incertitudes possibles.
En PJ un essai avec :
VB:
Sub Nettoyage()
Dim DL, L, h, t
Application.ScreenUpdating = False
DL = Cells(Cells.Rows.Count, "B").End(xlUp).Row
For L = DL To 4 Step -1
    h = Cells(L, "B"): t = Minute(h - Int(h))
    If t <> 0 And t <> 15 And t <> 30 And t <> 45 Then Rows(L).Delete
Next L
End Sub
Le bouton gris ne sert que pour tester. Il rapatrie des données pour faire des essais.
 

Pièces jointes

Re,
Effectivement Victor ça simplifie encore plus le VBA, avec :
VB:
Sub Nettoyage()
Dim L: Application.ScreenUpdating = False
For L = Cells(Cells.Rows.Count, "B").End(xlUp).Row To 4 Step -1
    If Minute(Cells(L, "B")) Mod 15 <> 0 Then Rows(L).Delete
Next L
End Sub
 

Pièces jointes

Bonjour à tous,

Une alternative pour aller vite s'il y a beaucoup de lignes :
VB:
Sub Nettoyage()
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
    .Columns(2).EntireColumn.Insert
    .Columns(2) = "=1/OR(ISTEXT(RC[1]),IF(ISNUMBER(RC[1]),MOD(MINUTE(RC[1]),15)=0))"
    .Columns(2) = .Columns(2).Value
    .Sort .Columns(2), xlAscending, Header:=xlYes 'tri pour regrouper et accélérer
    On Error Resume Next
    .SpecialCells(xlCellTypeConstants, 16).EntireRow.Delete
    .Columns(2).EntireColumn.Delete
End With
End Sub
A+
 
Formule plus simple :
VB:
Sub Nettoyage()
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
    .Columns(2).EntireColumn.Insert
    .Columns(2) = "=1/IF(ISNUMBER(RC[1]),MOD(MINUTE(RC[1]),15)=0,TRUE)"
    .Columns(2) = .Columns(2).Value
    .Sort .Columns(2), xlAscending, Header:=xlYes 'tri pour regrouper et accélérer
    On Error Resume Next
    .SpecialCells(xlCellTypeConstants, 16).EntireRow.Delete
    .Columns(2).EntireColumn.Delete
End With
End Sub
 
Ah mais sur l'image du post #1 les valeurs en colonne B semblent être des textes (cadrage à gauche).

Il faut donc que la formule les convertisse :
VB:
Sub Nettoyage()
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
    .Columns(2).EntireColumn.Insert
    .Columns(2) = "=1/IF(ISNUMBER(--RC[1]),MOD(MINUTE(RC[1]),15)=0,TRUE)"
    .Columns(2) = .Columns(2).Value
    .Sort .Columns(2), xlAscending, Header:=xlYes 'tri pour regrouper et accélérer
    On Error Resume Next
    .SpecialCells(xlCellTypeConstants, 16).EntireRow.Delete
    .Columns(2).EntireColumn.Delete
End With
End Sub
 
Bonsoir à toutes et à tous,

Merci pour votre réactivité.

J ai fourni la capture d' écran dans un premier temps pensant que ca suffirait...
Aucune formule dans ce tableau, simplement une extraction de données provenant d'un logiciel pro.

Je vous enverrai le fichier demain lorsque je serai sur mon poste.

Cela vous permettra de le modifier.

Sans quoi j essaierai la formule de @Victor21

Pour le reste, je pense qu il s'agit de macros ?
Si oui, en tant que profane, j en ignore totalement le fonctionnement.

Bien à vous.
 
Dernière édition:
Bonsoir,
Seules des macros permettent de supprimer des lignes. Des formules ne le permettent pas.
Des formules permettent de faire un filtrage, comme le montre JHA au post #2.
Cousinhub vous a posé une question, pourriez vous y répondre ?
Sinon au post #6 il y a un fichier test, l'avez vous testé ?
( évidemment il faut activer les macros )
 
Bonjour,

Voici les fichiers en questions que vous pourrez modifier selon ma demande SVP.
Rappel : Je ne veux sélectionner uniquement que les quarts d'heure ronds (où il y a 0 seconde).
Pour ensuite faire une moyenne journalière.

NB : les macros ont automatiquement été désactivées lors de l'ouverture des fichiers que vous m'avez joints.
Je suis sur un poste professionnel, il y a donc des critères de sécurité qui sont appliqués sur nos logiciels.
ceci explique sans doute cela.

Mais comme expliqué plus haut, je ne sais absolument pas comment utiliser ces macros.

Merci d'avance.

Bien à vous.
 

Pièces jointes

Bonjour,
Tu dis dans le post 10, que les données proviennent d'un logiciel pro.
Elles sont déjà au format xlsx, ou dans un autre format?
Si c'est un autre format, peux-tu le joindre (en le zippant)?
Une des solutions serait également d'utiliser Power Query, nativement installé dans ta version d'office, et ne posant aucun problème de sécurité.
Bonne apm
Edit, et au regard de tes fichiers, on pourrait effectuer une jointure sur les dates, afin de n'avoir qu'un seul tableau
 
Bonjour,
Tu dis dans le post 10, que les données proviennent d'un logiciel pro.
Elles sont déjà au format xlsx, ou dans un autre format?
Si c'est un autre format, peux-tu le joindre (en le zippant)?
Une des solutions serait également d'utiliser Power Query, nativement installé dans ta version d'office, et ne posant aucun problème de sécurité.
Bonne apm
Hello,

Elles sont déjà au format xlsx mais il doit y avoir des verrouillages pour éviter le vérolage je pense...
Pas de Power Query à l'horizon, nous sommes souvent limités à ce qu'on nous impose. :-(

Egalement, voici le fichier dans le lequel je copie colle mes données pour avoir des moyennes journalières.
En retirant les données qui renvoient à FAUX selon la formule de @Victor21, je conserve malheureusement des valeurs avec des quarts d'heure mais dans lesquelles il n'y a pas 0 secondes.
J'ai donc trop de valeurs par jour pour la formule qui établie la moyenne.

Maintenant, s'il est impossible de supprimer ces valeurs supplémentaires sans avoir recours à des solutions "laborieuses", on peut surement les intégrer dans la moyenne !
De base, je voulais les écarter car elles étaient de trop pour le calcul de la moyenne selon le fichier en PJ.
Mais si vous m'en proposé un autre, je suis preneur !

Merci d'avance.
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour