Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DIFFUSION VIA UN INTRANET DES PLANNINGS DU LOGICIEL "PLANNICIEL"


Information sur la source

Catégorie :Graphique Classé sous : diffusion, intranet, planning, logiciel Niveau : Débutant Date de création : 06/09/2006 Vu / téléchargé: 7 084 / 918

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

Description

Le but de ce code est de diffuser les plannings, tout en empéchant l'impression de ces derniers. Mouais c'est pas gentil mais le personnel perdait son planning tous les deux jours et le réimprimait. La personne chargée des plannings passait une après midi entière à aller les afficher, à chaque modification.
Planniciel propose de créer les fichiers dans plusieurs formats (.doc .xls .htm) j'ai retenu le format HTML car c'est celui qui rendait le meilleur aspect.

le programme en lui même est logé dans un dossier partagé (où j'ai donné les droits en écriture aux personnes chargées des plannings, le reste du personnel l'a en acces lecture et exécution seulement). Les ordinateurs des salles de soins (je bosse dans un hopital) ont un raccourci vers ce programme sur le bureau. Les fichiers HTML et .Txt que le programme appelle sont dans un dossier caché "pln" logé dans le même dossier que l'application (l'informaticien a réussi à empécher l'affichage des fichiers cachés sur ces PC).

Il affiche le mois en cours et le mois suivant.

Les fichiers 01.txt 02.txt .... 12.txt correspondent aux mois de l'année. Ils contiennent sur chaque ligne le nom du planning, le séparateur "<%;%>" et l'addresse partielle du fichier HTML du planning. Là maintenant nous sommes en septembre. dans le zip j'ai mis un planning anonymisé (celui de Antares) afin que vous puissiez voir le résultat.

voila, en espérant que ce code puisse vous inspirer pour d'autres programmes.
 

Source

  • Dim table() As String
  • Dim erri As String, chemin As String, r As Boolean
  • Dim i As Integer
  • Dim dateactu() As String, datemoissuivant() As String
  • Private Sub Command1_Click()
  • '*************** bouton retour*****************
  • 'page blanche
  • WebBrowser1.navigate ("file://" & App.Path & "PLN\Blanc.HTM")
  • 'Masquer l'affichage du planning
  • Command1.Visible = False
  • WebBrowser1.Visible = False
  • Picture1.Visible = False
  • VScroll1.Visible = False
  • HScroll1.Visible = False
  • 'afficher la Frame de selection du planning
  • Frame1.Visible = True
  • End Sub
  • Private Sub Command2_Click()
  • '****************Bouton QUITTER******************
  • End
  • End Sub
  • Private Sub Form_Load()
  • erri = Date
  • 'recherche du mois en cours
  • dateactu = Split(erri, "/")
  • Option1.Caption = "du mois " & dateactu(1) & "/" & dateactu(2)
  • 'date mois suivant
  • erri = DateAdd("m", 1, Date)
  • datemoissuivant = Split(erri, "/")
  • Option2.Caption = "du mois " & datemoissuivant(1) & "/" & datemoissuivant(2)
  • 'une page blanche par défaut dans le webbrowser (c'est inutile)
  • WebBrowser1.navigate ("file://" & App.Path & "\PLN\Blanc.HTM")
  • 'chargement du fichier texte de données du mois en cours dans le tableau nommé table
  • r = ImportTxtFile(App.Path & "\PLN\" & dateactu(1) & ".txt", "<%;%>", table, erri)
  • List1.Clear
  • 'remplir list box
  • For i = LBound(table(), 1) To UBound(table(), 1)
  • List1.AddItem (table(i, 1))
  • Next i
  • End Sub
  • Private Sub Form_Resize()
  • 'condition pour ne pas planter en cas de réduction de l'application
  • If Form1.Height > 360 Then
  • Picture1.Top = 1320
  • Picture1.Height = Form1.Height - 2145
  • Picture1.Left = 0
  • Picture1.Width = Form1.Width - 150
  • VScroll1.Left = Picture1.Width - 250
  • VScroll1.Height = Picture1.Height
  • HScroll1.Top = Picture1.Top + Picture1.Height - 250
  • HScroll1.Width = Picture1.Width - VScroll1.Width
  • VScroll1.Height = Picture1.Height - HScroll1.Height
  • End If
  • End Sub
  • Private Sub Option1_click()
  • r = ImportTxtFile(App.Path & "\PLN\" & dateactu(1) & ".txt", "<%;%>", table, erri)
  • List1.Clear
  • 'remplir list box
  • For i = LBound(table(), 1) To UBound(table(), 1)
  • List1.AddItem (table(i, 1))
  • Next i
  • End Sub
  • Private Sub Option2_click()
  • r = ImportTxtFile(App.Path & "\PLN\" & datemoissuivant(1) & ".txt", "<%;%>", table, erri)
  • List1.Clear
  • 'remplir list box
  • For i = LBound(table(), 1) To UBound(table(), 1)
  • List1.AddItem (table(i, 1))
  • Next i
  • End Sub
  • '****************les barres de défillement***************
  • Private Sub VScroll1_Change()
  • WebBrowser1.Top = -VScroll1.Value
  • End Sub
  • Private Sub HScroll1_Change()
  • WebBrowser1.Left = -HScroll1.Value
  • End Sub
  • Private Sub List1_Click()
  • '************************Affichage du planning sélectionné***************
  • 'condition écartant la première valeur de la listbox (valeur nulle)
  • If List1.ListIndex <> 0 Then
  • 'masquer l'interface de choix du planning
  • Frame1.Visible = False
  • 'afficher les objets nécessaires à la lecture du planning
  • Command1.Visible = True
  • Picture1.Visible = True
  • VScroll1.Visible = True
  • HScroll1.Visible = True
  • WebBrowser1.Visible = True
  • 'charger le fichier html
  • chemin = "file://" & App.Path & "\" & table(List1.ListIndex, 2)
  • WebBrowser1.navigate (chemin)
  • 'emplacement des objets relatif à la taille de la form
  • Call Form_Resize
  • End If
  • End Sub
  • Private Function ImportTxtFile(ByVal fileName As String, ByVal separator As String, ByRef tData() As String, ByRef errorString As String, Optional ByVal baseArray As Integer = 1) As Boolean
  • Dim f As Integer
  • Dim tLine() As String
  • Dim tSplit() As String
  • Dim buffer As String
  • Dim nbItem As Long
  • Dim k As Long, l As Long
  • On Error GoTo ImportTxtFile_ERR
  • f = FreeFile()
  • Open fileName For Binary As #f
  • buffer = Space$(LOF(f))
  • Get #f, , buffer
  • Close #f
  • tSplit() = Split(buffer, vbCrLf)
  • nbItem = UBound(Split(tSplit(0), separator)) + baseArray
  • ReDim tData(UBound(tSplit()) + baseArray, nbItem)
  • For k = LBound(tSplit()) To UBound(tSplit())
  • tLine = Split(tSplit(k), separator)
  • For l = LBound(tLine) To UBound(tLine)
  • tData(k + baseArray, l + baseArray) = tLine(l)
  • Next l
  • Next k
  • ImportTxtFile = True
  • ImportTxtFile_END:
  • Exit Function
  • ImportTxtFile_ERR:
  • errorString = Err.Description
  • Resume ImportTxtFile_END
  • End Function
Dim table() As String
Dim erri As String, chemin As String, r As Boolean
Dim i As Integer
Dim dateactu() As String, datemoissuivant() As String





Private Sub Command1_Click()
'*************** bouton retour*****************
'page blanche
WebBrowser1.navigate ("file://" & App.Path & "PLN\Blanc.HTM")

'Masquer l'affichage du planning
Command1.Visible = False
WebBrowser1.Visible = False
Picture1.Visible = False
VScroll1.Visible = False
HScroll1.Visible = False

'afficher la Frame de selection du planning
Frame1.Visible = True

End Sub



Private Sub Command2_Click()
'****************Bouton QUITTER******************
End
End Sub


Private Sub Form_Load()
erri = Date
'recherche du mois en cours
dateactu = Split(erri, "/")
Option1.Caption = "du mois " & dateactu(1) & "/" & dateactu(2)

'date mois suivant
erri = DateAdd("m", 1, Date)
datemoissuivant = Split(erri, "/")
Option2.Caption = "du mois " & datemoissuivant(1) & "/" & datemoissuivant(2)

'une page blanche par défaut dans le webbrowser (c'est inutile)
WebBrowser1.navigate ("file://" & App.Path & "\PLN\Blanc.HTM")

'chargement du fichier texte de données du mois en cours dans le tableau nommé table
r = ImportTxtFile(App.Path & "\PLN\" & dateactu(1) & ".txt", "<%;%>", table, erri)


List1.Clear
'remplir list box
For i = LBound(table(), 1) To UBound(table(), 1)
List1.AddItem (table(i, 1))
Next i



End Sub

Private Sub Form_Resize()
'condition pour ne pas planter en cas de réduction de l'application
If Form1.Height > 360 Then
Picture1.Top = 1320
Picture1.Height = Form1.Height - 2145
Picture1.Left = 0
Picture1.Width = Form1.Width - 150
VScroll1.Left = Picture1.Width - 250
VScroll1.Height = Picture1.Height
HScroll1.Top = Picture1.Top + Picture1.Height - 250
HScroll1.Width = Picture1.Width - VScroll1.Width
VScroll1.Height = Picture1.Height - HScroll1.Height
End If

End Sub

Private Sub Option1_click()


r = ImportTxtFile(App.Path & "\PLN\" & dateactu(1) & ".txt", "<%;%>", table, erri)


List1.Clear
'remplir list box
For i = LBound(table(), 1) To UBound(table(), 1)
List1.AddItem (table(i, 1))
Next i
End Sub


Private Sub Option2_click()

r = ImportTxtFile(App.Path & "\PLN\" & datemoissuivant(1) & ".txt", "<%;%>", table, erri)


List1.Clear
'remplir list box
For i = LBound(table(), 1) To UBound(table(), 1)
List1.AddItem (table(i, 1))
Next i
End Sub

'****************les barres de défillement***************
Private Sub VScroll1_Change()
WebBrowser1.Top = -VScroll1.Value

End Sub

Private Sub HScroll1_Change()
WebBrowser1.Left = -HScroll1.Value

End Sub


Private Sub List1_Click()
'************************Affichage du planning sélectionné***************

'condition écartant la première valeur de la listbox (valeur nulle)

If List1.ListIndex <> 0 Then

    'masquer l'interface de choix du planning
    Frame1.Visible = False

    'afficher les objets nécessaires à la lecture du planning
    Command1.Visible = True
    Picture1.Visible = True
    VScroll1.Visible = True
    HScroll1.Visible = True
    WebBrowser1.Visible = True
    

    'charger le fichier html
    chemin = "file://" & App.Path & "\" & table(List1.ListIndex, 2)
    WebBrowser1.navigate (chemin)


    'emplacement des objets relatif à la taille de la form
    Call Form_Resize

End If

End Sub


Private Function ImportTxtFile(ByVal fileName As String, ByVal separator As String, ByRef tData() As String, ByRef errorString As String, Optional ByVal baseArray As Integer = 1) As Boolean
Dim f As Integer
Dim tLine() As String
Dim tSplit() As String
Dim buffer As String
Dim nbItem As Long
Dim k As Long, l As Long

    On Error GoTo ImportTxtFile_ERR
    
    f = FreeFile()
    Open fileName For Binary As #f
        buffer = Space$(LOF(f))
        Get #f, , buffer
    Close #f
    tSplit() = Split(buffer, vbCrLf)
    nbItem = UBound(Split(tSplit(0), separator)) + baseArray
    
    ReDim tData(UBound(tSplit()) + baseArray, nbItem)
    
    For k = LBound(tSplit()) To UBound(tSplit())
         tLine = Split(tSplit(k), separator)
        For l = LBound(tLine) To UBound(tLine)
            tData(k + baseArray, l + baseArray) = tLine(l)
        Next l
    Next k
    ImportTxtFile = True

ImportTxtFile_END:
    Exit Function
    
ImportTxtFile_ERR:
    errorString = Err.Description
    Resume ImportTxtFile_END
End Function

Conclusion

mouhaha mon commentaire est plus long que le code.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   Prgrm planning

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de gnieark le 06/09/2006 22:06:55

n'hésitez pas à faire des commantaires ou des critiques (du code po de moi) ou poser des questions ;)

signaler à un administrateur
Commentaire de sitemo le 22/11/2006 21:55:59

dis moi si tu peux faire un planning de plusieur membres de la sécurité. (des vacations de 12h et de pas dépasser 48h par semaines)
voila merci
MK

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Conseil sur un logiciel : diffusion ou pas ? [ par allthew3 ] Bonjour,ayant presque fini mon projet (en tout cas la version 1.0), je vous demandes conseil :- vous pensez que ça serait une bonne idée de diffuser t Gravure de Fichier [VB2005] [ par Mat1554 ] Bonjour, je suis en train de me programmer un logiciel qui me permetterai quand je me reinstaller de tous sauvegarde mes fichiers par ce logiciel.Je v ouvrire un fichier avec mon logiciel???? [ par mouradj2006 ] salutvoila mon problemeje suis entrain de developpez un logicile qui permet de editer le diagrame de classe en vbmais je vai savoir comment ouvrire mo Creation PDF [ par metalcoder ] Bonjour,J'ai fais un logiciel avec un etat de sortie (comme un datareport) et je voudrais l'imprimer directement en PDF. Avec pdf995 et pdfcreator ca Ne pas utiliser de logiciel client. [ par esus1985 ] bonjour, j'avais déjà posté cette question et je crois que c'est jack qui m'avais répondu que c'était possible avec winsock mais bon... j'ai pas mal r [REQ] Logiciel CodsSources [ par swan94 ] Salut,Ne serait il pas possible aux admin de CodeSources (et ses utilisateurs bien sur) de nous concocter un petit soft qui nous peermettrait de voir Erreur execution '380' [ par sebos25 ] Bonjour à toutes et tous!!J'ai créé un petit logiciel en VB6 qui permet de gérer une base de données Excel pour mon entreprise.J'ai compiler et instal Copie de processus [ par aurelien2723 ] Bonjour,Je voudrais savoir s'il est possible de copier facilement un processus en cours d'exécution.En étudiant le problème, j'ai aperçu la fonction C calcule depuis une date précise [ par jaucKer ] bjr @ tous,voilà, je voudrai pouvoir ajouter un nombre précis de jours à une date qui est récupérée via un logiciel utilisant l'ocr, en clair mon logi aide sur VBS en reseau [ par DEEP_R ] salut,je suis stagiaire dans une entreprise, comme sujet de stage, jai eu a travailler sur un logiciel de sauvegarde et restauration automatique sur l


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,546 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.