Programme de gestion des alarmes sur excel

mathi974

XLDnaute Nouveau
Bonjour à tous,

J'espère que quelqu'un pourra m'aider,

Je suis actuellement en stage et je dois réaliser un programme de gestion d'alarme,

J'ai pu récupérer les alarmes sur le serveur, mais je dois les traiter par jour, semaine, mois, année etc

J'aimerais que sur la page jour par exemple l'utilisateur définisse un jour et le programme génère automatiquement les alarmes du jour dans un tableau, puis dans un autre le nombre d'apparition d'une alarme etc, pareil pour la semaine, le mois, l'année.

j'ai déjà pu faire l'interface d'acceuil pour l'utilisateur et les liens pour arriver sur chaque feuilles mais pour pouvoir récuperer des donnés précise et répertorier je n'y arrive pas.

Je peux vous joindre le fichier,

Quelqu'un pourrait-il me donner un coup de main s'il vous plait?

Merci,
 

CISCO

XLDnaute Barbatruc
Re : Programme de gestion des alarmes sur excel

Bonjour

Nous serions certainement plus efficaces si tu mettais en pièce jointe un fichier exemple avec seulement quelques lignes représentatives de la situation.

@ plus
 

mathi974

XLDnaute Nouveau
Re : Programme de gestion des alarmes sur excel

Ok voici le programme, n'hesite pas si ta des questions!

C'est ce que j'ai déja fait!
La base s'actualise toute seul
sur la page histo_modif j'aimerais reprendre la feuille historique mais en modifiant le format de la date en une colonne date et heure, je pense que c'est plus facile à traiter.
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Programme de gestion des alarmes sur excel

Bonjour

Le début du travail avec des formules sur la feuille "jour".

En colonne C, une formule matricielle à valider avec ctrl+maj+entrer. En C8 cela donne :
Code:
INDEX(historiques!A$1:A$130;PETITE.VALEUR(SI(DATE(1*GAUCHE(historiques!B$2:B$130;4);1*STXT(historiques!B$2:B$130;5;2);1*STXT(historiques!B$2:B$130;7;2))=jour!C$4;LIGNE($2:$130));LIGNES(jour!C$7:C7)))
Il faudra que tu adaptes la plage A3:A130 à la hauteur réelle de ton fichier dans la feuille historique. Dans les autres colonnes, des RECHERCHEV utilisant le ID trouvé en colonne C.

Si tu comprends la formule en colonne C, tu devrais pouvoir l'adapter aux autres feuilles, en passant par NO.SEMAINE pour la feuille semaine, par ANNEE pour la feuille annee, et ainsi de suite, et en jouant avec des GAUCHE, DROITE et STXT.

En D8
Code:
GAUCHE(RECHERCHEV($C8;historiques!$A$2:B$130;COLONNES($B7:C7);0);8)

En E8
Code:
DROITE(RECHERCHEV($C8;historiques!$A$2:B$130;COLONNES($B7:C7);0);6)

En F8
Code:
RECHERCHEV($C8;historiques!$A$2:C$130;COLONNES($C7:E7);0)
formule que tu peux tirer vers la droite


Fais déja un test avec ton fichier réel avec uniquement la feuille jour, histoire de voir si cela ne prend pas trop de temps de calcul. Si c'est trop long, il faudra passer par une macro.

@ plus
 
Dernière édition:

mathi974

XLDnaute Nouveau
Re : Programme de gestion des alarmes sur excel

Franchement je te dis merci car j'y serais jamais arrivé seul.

J'essaie de suite avec le bon fichier!

Mais comment faut-il que j'écrive pour définir une plage de cellule de A1 à une case vide? Parce que il se remplit tout seul en ajoutant des alarmes.

Merci,
 

CISCO

XLDnaute Barbatruc
Re : Programme de gestion des alarmes sur excel

Bonsoir

Quelques variantes pour t'aider à avancer.

Pour donner un nom à une plage ou à une cellule, aller dans "Formules" puis dans "Gestionnaire de noms".

Pour travailler avec une plage dynamique s'allongeant automatiquement en fonction des données rajouter, on peut faire, dans le gestionnaire de noms, avec DECALER(1ère cellule de la colonne;;;NBVAL(colonne;colonne)), par exemple DECALER(D$2;;;NBVAL(D: D)), ou des variantes du style DECALER(D$2;;;NBVAL(D: D)-1) pour ajuster la hauteur de la plage à la hauteur exacte désirée.

Dans ton cas, comme les données dans la feuille "historique" sont définies dans un tableau, si tu sélectionnes une plage verticale couvrant toute la hauteur du tableau, excel donne automatiquement un nom à cette plage, du style Tableau__192.168.0.203_SQLEXPLOIT_DB_EasyPilot_V_test[DateOrg]. Pratique, mais un peu long dans le cas présent. J'ai donc remplacé ces noms par l'en-tête toute seule, DateOrg pour exemple, histoire de faciliter la lecture des formules.

@ plus
 
Dernière édition:

mathi974

XLDnaute Nouveau
Re : Programme de gestion des alarmes sur excel

Merci de m'aider Cisco, je crois pas que j'aurais trouvé seul.

Le dernier fichier que t'as fait quand je modifie la date par exemple(18/10/2011) sa ne marche pas.

J'essaie de trouver la formule pour la semaine,
Encore merci,
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Programme de gestion des alarmes sur excel

Bonsoir

La formule dans mon premier fichier ne prenait en compte que les 130 premières lignes de la feuille "historique".
Dans mon second fichier, j'ai mis des noms prenant en compte tout le tableau de la feuille "historique". Mais j'ai oublié de remplacer le LIGNE($2:$130) par un LIGNE($2:$7486). Il faut donc mettre en C8 :
Code:
INDEX(ID;PETITE.VALEUR(SI(DATE(1*GAUCHE(DateOrg;4);1*STXT(DateOrg;5;2);1*STXT(DateOrg;7;2))=jour!C$4;LIGNE($2:$7486));LIGNES(jour!C$7:C7)))
Mais cette formule risque de ne pas s'adapter automatiquement aux modifications que tu peux apporter à la feuille historique (Si il y a plus de 7486 lignes, que se passe t'il ?). Il faut donc la modifier en
Code:
INDEX(ID;PETITE.VALEUR(SI(DATE(1*GAUCHE(DateOrg;4);1*STXT(DateOrg;5;2);1*STXT(DateOrg;7;2))=jour!C$4;LIGNE(INDIRECT("2:"&NBVAL(DateOrg))));LIGNES(jour!C$7:C7)))
ou, pour que cela soit plus lisible, en
Code:
INDEX(ID;PETITE.VALEUR(SI(DATE(1*GAUCHE(DateOrg;4);1*STXT(DateOrg;5;2);1*STXT(DateOrg;7;2))=jour!C$4;LIGNE(plage));LIGNES(jour!C$7:C7)))
avec plage =INDIRECT("2:"&NBVAL(DateOrg))

Si il y a par exemple 10 lignes correspondant à la date à considérer, les lignes suivantes indiqueront un #NOMBRE. Pour éviter cela, on peut faire, sur Excel 2003, avec un SI(ESTERREUR(X);"";X), avec X la dernière formule ci-dessus.

Fais quelques essais, et dis moi ce que tu comprends ou ne comprends pas.

@ plus
 
Dernière édition:

mathi974

XLDnaute Nouveau
Re : Programme de gestion des alarmes sur excel

Voila le fichier à manipuler en PJ.

J'ai essayé de mettre les formules mais pour l'instant je n'y arrive pas, je continue a travaller dessus

cldt,
 

Pièces jointes

  • exemple.xlsm
    113.6 KB · Affichages: 106
  • exemple.xlsm
    113.6 KB · Affichages: 119
  • exemple.xlsm
    113.6 KB · Affichages: 123

CISCO

XLDnaute Barbatruc
Re : Programme de gestion des alarmes sur excel

Bonsoir

Cf. ton fichier en pièce jointe.

@ plus
 

Pièces jointes

  • exemple mathi974.xlsm
    144.8 KB · Affichages: 114
  • exemple mathi974 bis.xlsm
    144.2 KB · Affichages: 85
Dernière édition:

mathi974

XLDnaute Nouveau
Re : Programme de gestion des alarmes sur excel

J'ai déja commencé pour trouver le code mais bon se n'est pas fameux pourrais-tu pourriez vous m'aidez:

Dim DernLigne As Long
DernLigne = Range("A2").End(xlDown).Row

compteur = 2
For ligne = 2 To DernLigne
if jour1= worksheets.range("C4")
jour1 = Mid(Cells(ligne, 2), 7, 2) & "/" & Mid(Cells(ligne, 2), 5, 2) & "/" & Left(Cells(ligne, 2), 4)
Sheets("jour").Cells(ligne, 2) = jour1
heur1 = Mid(heur, 9, 2) & ":" & Mid(heur, 11, 2) & ":" & Mid(heur, 13, 2)
Sheets("jour").Cells(ligne, 3) = heur1

compteur = compteur + 1
End If
Next


Mais sa na pas l'air de fonctionner et je ne sais pas comment placer les résultats dans le tableau de la feuille jour!

cldt,

End Sub
 
Dernière édition:

Vorens

XLDnaute Occasionnel
Re : Programme de gestion des alarmes sur excel

Re,

Inspire toi de cette exemple que je viens de te faire rapidus. Faudra l'adapter.Mode dans le module 1 Source en feuille 1. Résultat en feuille2. Clic le carré bleu pour lancer la macro. Date que tu veux sortir en G2.

Meilleures salutations
 

Pièces jointes

  • Exemple tableau.xlsm
    19.5 KB · Affichages: 119
  • Exemple tableau.xlsm
    19.5 KB · Affichages: 129
  • Exemple tableau.xlsm
    19.5 KB · Affichages: 132

Discussions similaires

Statistiques des forums

Discussions
312 238
Messages
2 086 491
Membres
103 234
dernier inscrit
matteo75654548