Aide à la séparation des données

redabouch

XLDnaute Nouveau
Bonjour,

Je souhaiterai obtenir un peu d'aide sur la macro que je mets en place sur mon fichier Excel.

En premier lieu, je vous expose le problème. Je travaille sur un logiciel de maintenance qui répertorie toutes les pannes se produisant dans l'usine. J'arrive à faire une extraction de cette liste sur Excel. J'ai par la suite envie de faire une séparation de cette liste vers d'autres feuilles ( En clair avoir une feuille par machine ).

Après avoir lu plusieurs post mais aussi après avoir plusieurs recherches, j'ai essayé de mettre en place une macro, mais celle ci ne fonctionne pas. Quels seraient les modifications à faire sur celle ci pour qu'elle marche.

Je vous transmets en pièce jointe un exemplaire de l'historique sur excel avec la macro dessus.


Merci d'avance
 

Pièces jointes

  • hitsorique à traiter.xls
    95.5 KB · Affichages: 56

homepyrof53

XLDnaute Occasionnel
Re : Aide à la séparation des données

Bonjour


Après une vue rapide de ta macro il y a 2 problèmes
Problème 1
la ligne :
[A1].AutoFilter Field:=8, Criteria1:="*" & critere & "*"

doit être :
[A10].AutoFilter Field:=8, Criteria1:="*" & critere & "*"

Problème 2
Quand on utilise les filtres, il ne faut pas de ligne blanche. Celles-ci arrêtent le tri

Voici donc le code

Code:
Private Sub CommandButton1_Click()
Sheets("Sheet1").Select

'----------------------------------------------
' suppression de lignes blanches
'----------------------------------------------
l = 11
While nb_lb < 5
    If Cells(l, 8) = "" Then
        nb_lb = nb_lb + 1
        Rows(l).Delete
    Else
        nb_lb = 0
        l = l + 1
    End If
Wend

critere = InputBox("Critere?")
If critere = "" Then Exit Sub
[A10].AutoFilter Field:=7, Criteria1:="*" & critere & "*"
Application.DisplayAlerts = False
On Error Resume Next

'--------------------- création nouvelle feuille
Sheets(critere).Delete
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = critere
  
Sheets("Sheet1").Select
l = 11
While Cells(l, 8) <> ""
    l = l + 1
Wend
Rows("11:" & l - 1).Select
Selection.Copy
Sheets(critere).Select
ActiveSheet.Paste
Cells.EntireColumn.AutoFit
Sheets("Sheet1").ShowAllData
End Sub
 

redabouch

XLDnaute Nouveau
Re : Aide à la séparation des données

Merci beaucoup.

Cela fonctionne très bien.

Mais puis je rajouter un code dans la macro qui me fera un total des temps d'interventions de la machine à chaque feuille ?

Et encore merci, c'est très gentil de ta part.
 

redabouch

XLDnaute Nouveau
Re : Aide à la séparation des données

Petite remarque:

Je n'arrive pas à faire la somme des durées d'interventions normalement non plus. En effet l'écriture est spéciale:

La durée est sous le format ( comme vous pouvez le voir sur le fichier en pièce jointe dans le premier document ) 02 H 15 ; 00 H 30 etc.....
 

homepyrof53

XLDnaute Occasionnel
Re : Aide à la séparation des données

Bonjour,

Voici le fichier avec la macro corrigée

A+
 

Pièces jointes

  • Copie de hitsorique à traiter.xls
    115.5 KB · Affichages: 35
  • Copie de hitsorique à traiter.xls
    115.5 KB · Affichages: 39
  • Copie de hitsorique à traiter.xls
    115.5 KB · Affichages: 40

redabouch

XLDnaute Nouveau
Re : Aide à la séparation des données

Salut,

Le code fonctionne très bien. Tu ne peux pas savoir à quel point tu as raccourci mon temps d'analyse. Merci Beaucoup.

J'ai une toute dernière question à te poser:
Serait ce possible au lieu de demander le critère, d'avoir une liste de machine dans la macro et que celle ci face tout le travail tout seul:
- C'est à dire qu'elle crée une feuille seule pour la machine 23 avec ses totaux puis une pour chaque autre machine. Si cela n'est pas possible ou trop difficile ne te casses pas la tête je ferai aussi bien comme ca.
 

homepyrof53

XLDnaute Occasionnel
Re : Aide à la séparation des données

Bonjour,

Dans cette version le fait de cliquer sur le bouton met à jour toutes les feuilles machines.

Sur la feuille Sheet1 si on fait un double clic sur une ligne machine on va directement sur la feuille de la machine
 

Pièces jointes

  • Copie de hitsorique à traiter.xls
    118.5 KB · Affichages: 38
  • Copie de hitsorique à traiter.xls
    118.5 KB · Affichages: 40
  • Copie de hitsorique à traiter.xls
    118.5 KB · Affichages: 37

Discussions similaires

Réponses
7
Affichages
339
Réponses
15
Affichages
902
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 838
Messages
2 092 669
Membres
105 482
dernier inscrit
Eric.FKF