tri automatique par dates

  • Initiateur de la discussion Initiateur de la discussion arvin
  • Date de début Date de début

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 !

arvin

XLDnaute Occasionnel
bonjour ! cela fait longtemps que je n'étais pas venu : chapeau les changements sur le site !
Besoin d'aide pour un fichier :
j'ai des noms de personnes qui travaillent suivant des dates
toto
mardi 1
jeudi 1

tata
mardi 1
mercredi 1

j'aurais voulu qu'il me cree des onglets (mardi, mercredi, jeudi, vendredi, samedi, dimanche) et qu'il m'y note les gens ayant eu des 1
donc creation de l'onglet mardi avec dedans
toto
tata

j'envoie un fichier pour être plus clair

merci à vous et longue vie au site !!!!
 

Pièces jointes

Re : tri automatique par dates

bonjour,

en fait je prefererai une solution par macro car je pourrai la mettre dans un menu contextuelle (clic droit souris) , ça je sais faire
neanmoins, on ne peut pas modifier la Feuil1 car elle est exportée ainsi via un prologiciel

merci de ton aide
 
Re : tri automatique par dates

bonjour Pierrejean : cela fait plaisir de te retrouver après ces années d'absence de ma part !
la macro fonctionne parfaitement : par contre , au lieu du "1" en colonne "C" ; cela serait plutôt un type heure : 6h30 ou 6h45
de plus , si c'est strictement inférieur à 6h30 ; j'aurai souhaité que la macro me note le nom en rouge + garde l'horaire
ex
il note sur mardi
toto 4h15 (en rouge pour bien voyant)
un grand merci à toi
 
Re : tri automatique par dates

bonjour, la nuit porte conseil : j'ai un peu avancé même si c'est tiré par les cheveux !
en utilisant l'enregistreur de macro :
1 . j'applique un format condititonnel : si <6h30 alors il met la ligne en rouge
2. je remplace 6h45 et 6h30 par 1 pour que la macro fonctionne !
avez vous + simple ?
merci à tous
 
Re : tri automatique par dates

me revoilà : voici le bout de code mais maintenant il me met tous les 1 en rouge !
Columns("C:C").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _
Formula1:="=""6h30"""
With Selection.FormatConditions(1).Font
.Bold = True
.Italic = False
.ColorIndex = 3
End With

Selection.Replace What:="?h??", Replacement:="1", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Sheets("Feuil1").Select
 
Re : tri automatique par dates

bonsoir, toujours efficace : par contre , dans la colonne C , j'ai plutôt des 6h45 ou 4h et non pas des 6:30 ou 6:45
désolé si je ne l'ai pas indiqué dès le départ
j''essai de bouger ta macro et te tiens au courant
merci en tout cas et bonne soirée
 
Re : tri automatique par dates

bonjour Pierre Jean
Bon finalement j'ai adapté la macro mais qq soucis demeurent : je te renvoie le fichier exporté mais
- quelques noms n'apparait pas alors qu'il devrait y être (exempls Jean sur dim.)
- la feuille "lun." ne se cree pas
- en fait la feuille originale c'est la "B" avec des totaux pour chaque nom qui ne servent à rien : je voudrais en fait les enlever , avant de lancer la macro essai mais cela ne fonctionne pas : j'ai essayé les doublons mais difficile

Merci beaucoup et Joyeux Noel !!!!!!
 

Pièces jointes

Re : tri automatique par dates

bonjour Pierre Jean : en fait cela va mieux avec l'aide précieuse du forum et de ta part , par contre comment modifier la macro pour que si il n'y a pas le chiffre "1" dans la colonne C, alors il me place les noms mais en rouge -> j'ai essayé d'adapter la macro mais blocage .....voici le code
merci à toi et bon dimanche Sub essai()

jours = "lundi,mardi,mercredi,jeudi,vendredi,samedi,dimanche,"
With Sheets("Feuil1")
For n = 1 To .Range("A65536").End(xlUp).Row
If .Range("A" & n) <> "" Then
If InStr(jours, (Split(.Range("A" & n), " ")(0) & ",")) = 0 Then
nom = .Range("A" & n)
Else
If .Range("C" & n) <> 1 Then
jour = Split(.Range("A" & n), " ")(0)
If Not f_exist(jour) Then Sheets.Add.Name = jour
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0) = nom
hhh = CDbl(.Range("C" & n))
hhc = CDbl(.Range("C" & n))
If hhc - hhh > 0 Then
ActiveSheet.Range("A65536").End(xlUp).Offset(0, 1) = .Range("C" & n)
ActiveSheet.Range("A65536").End(xlUp).Offset(0, 1).Interior.ColorIndex = 3
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0) = nom
End If
End If

End If


End If

Next n
 
Re : tri automatique par dates

eureka ça marche : voici la macro
Sub essai()
Application.ScreenUpdating = False
jours = "Lun.,Mar.,Mer.,Jeu.,Ven.,Sam.,Dim.,"
With Sheets("Feuil1")
For n = 1 To .Range("A65536").End(xlUp).Row
If .Range("A" & n) <> "" Then
If InStr(jours, (Split(.Range("A" & n), " ")(0) & ",")) = 0 Then
nom = .Range("A" & n)
Else
If .Range("C" & n) <> "" Then
jour = Split(.Range("A" & n), " ")(0)
If Not f_exist(jour) Then Sheets.Add.Name = jour
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0) = nom
If .Range("C" & n) <> 1 Then
ActiveSheet.Range("A65536").End(xlUp).Offset(0, 1) = .Range("C" & n)
ActiveSheet.Range("A65536").End(xlUp).Offset(0, 1).Interior.ColorIndex = 3

End If
End If
End If
End If
Next n
End With
Sheets("Feuil1").Select
Application.ScreenUpdating = True
End Sub
 
Re : tri automatique par dates

Re

Sous reserve que la feuille importée se nomme bien Feuil1

A mettre dans thisworkbook

VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "Feuil1" Then
If Target.Column = 1 Or Target.Column = 3 Then
For Each Sh In Sheets
If Sh.Name <> "Feuil1" Then
Sh.Columns("A:B").Clear
End If
Next
Call essai
End If
End If
End Sub
 
- 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

Discussions similaires

Réponses
12
Affichages
1 K
T
Réponses
4
Affichages
1 K
T
V
Réponses
1
Affichages
756
jaccard
J
Retour