IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Tutoriel sur l'intégration d'un planning basé sur la classe clGdiPlus


Sujet :

Access

  1. #1
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 259
    Points : 19 420
    Points
    19 420
    Billets dans le blog
    63
    Par défaut Tutoriel sur l'intégration d'un planning basé sur la classe clGdiPlus
    Bonjour à tous,

    Je vous propose un nouvel article :
    http://denishulo.developpez.com/tuto...ss/planningv2/

    J'y décris une méthode pour intégrer un planning paramétrable dans un projet Access. Cette "technique" utilise la classe de gestion d'image clGdiPlus.

    De bonnes bases en VBA sont nécessaires

    En espérant que cela pourra être utile à certaines personnes.

    Vous pouvez également laisser un commentaire si besoin.

    Bonne lecture à tous
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut

    très bon, dans la mesure où on y va progressivement sur les objets manipulés. Un bon outil

    PS :

    mettre à jour l'image du chapitre
    VI. Le formulaire fPlanning
    le planning est mensuel
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 259
    Points : 19 420
    Points
    19 420
    Billets dans le blog
    63
    Par défaut
    jpcheck,

    çà fait plaisir

    Je corrige ça d'ici demain
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonsoir User

    Très beau travail, dont je vais surement me servir dans les semaines qui viennent.

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 259
    Points : 19 420
    Points
    19 420
    Billets dans le blog
    63
    Par défaut
    Salut Jean-Damien,

    Merci bien,

    Bravo aussi pour ton tuto sur les filtres

    Le paramétrage du planning se fait en VBA, donc çà demande de connaître le VBA et les modules de classes.

    Mais celà ne te posera sans doute aucun problème
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  6. #6
    Invité
    Invité(e)
    Par défaut
    Aucun problème..., aucun problème... C'est vite dit
    Par contre je saurai à qui m'adresser.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1
    Points : 3
    Points
    3
    Par défaut
    Bonjour
    Merci pour ce travail excellent qui a l'avantage, d'afficher une réservation sur plusieurs jours par une zone de texte en couleur.
    Par contre il semble y avoir un problème des que le nombre de chambre dépasse la hauteur de la page=> quand on double-clique sur une chambre, c'est une autre qui est ouverte. Est ce qu'il est possible de gérer plus de ligne que la taille de l'écran ? (pour essayer ajouter des chambres dans la table T_chambres.
    Je suis également entrain de réfléchir à une version sans bitmap, juste avec des traits (ligne et colonne) construit directement sur le formulaire , l'évènement sur la section sur "souris appuyée" qui donne les coordonnée du curseur, et des zones de textes qu'on placerait automatiquement au bon endroit. A suivre...

    Merci d'avance

    Etienne

  8. #8
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 259
    Points : 19 420
    Points
    19 420
    Billets dans le blog
    63
    Par défaut
    Salut,

    comme indiqué sur le tuto, la seul limitation concerne la taille du sous-formulaire,
    soit une centaine de lignes.(voir nombre maximum de lignes du planning)

    Par contre j'ai testé sur la base jointe, j'ai ajouté des chambres et je n'ai pas rencontré le problème que tu décris:

    par défaut le nombre maximum de lignes est à 40,
    si tu souhaites faire apparaitre plus de lignes, tu agrandi l'image dans le sous-formulaire et tu définis le nombre de lignes (rows) dans le code du sous-formulaire, sur chargement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    With obPlanning
          .RefControleImage = Me.Planning
          .InitImage
          .FieldsCols = 2
          .FieldsColsWidth = 75
          .Rows = 50
          .Cols = 31
          .ColsWidth = 27
       End With
    J'ai mis 50 chambres et çà fonctionne bien

    Pour des plannings sur une semaine utilisant des tableaux d'étiquettes, tu peux jeter un oeil dans les contributions:
    geshot v13-14-15-16

    ou dans le même genre un tuto sur la création d'un agenda:
    agenda

    Remarque: Pour un planning mensuelle (exemple 40*31) on est vite limité par le nombre maximum de contrôles autorisé dans un formulaire. C'est pourquoi j'ai proposé cette technique utilisant la classe de gestion d'images d'Arkham.
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Bonjour
    J'aimerais intégré votre planning semainier dans un projet sous access ou j'organise mes cours (je suis proff) ,je ne suis pas très doué dans le codage
    pouvez-vous me donné un coup de main
    Merci
    Cordialement

  10. #10
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 259
    Points : 19 420
    Points
    19 420
    Billets dans le blog
    63
    Par défaut
    Salut,

    tu peux t'inspirer de cette agenda (planning hebdomadaire) basé sur la classe de gestion d'images clGdiPlus (sujet de l'article):

    agenda hebdomadaire


    A+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  11. #11
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 69
    Points : 53
    Points
    53
    Par défaut ajout fonction impression sur code de user
    bonjour
    j'ai repris les code source en suivant le tuto de Denis Hulo


    http://denishulo.developpez.com/tuto...ss/planningv2/

    tres tres interessant!
    je suis plutot moyen en vba comparer a vous

    voila j'ai repris le code source (partie impression) du projet gesplan v3.3 utilisant aussi gdiplus et possedant une fonction impression

    mais voila quand je click sur le bouton impression
    cela se passe un peut comme sur gesplan v3 mais l'image qui s'affiche est seulement grise
    et dans le 'report' ( pour l'impression) je n'ai pas l'image, juste un fond gris et la mise en page

    comment est recuperer l'image du planning de la form vers le report??
    la est la question

    bon je vais cherche de mon coté
    mais si vous pouviez m'aider je vous en remerci

    je peux aussi joindre ma base quelquepart si vous voulez

    ps:je vous est mis un lien vers ma base en zip
    http://yevrecapri.com/test/planning_(5).zip
    cordialement
    Christophe

  12. #12
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Salut,

    Tuto très fluide et clair

    On en redemande...

    @+.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Excellent Planning! A recommander. Et très maniable, il peut être adapté à la période de suivi désirée (cf pièce-jointe).

    On peut également trier et ordonner les enregistrements comme on le souhaite.

    Merci à Denis Hulo qui m'a fourni une aide précieuse pour programmer ces changements!

    Emmanuel
    Images attachées Images attachées  

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Décembre 2013
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    bonjour,
    superbe travail et merci !
    une question svp comment définir les colonnes à droite (au lieu de gauche)du planning pour les en-têtes de lignes.

    merci par avance.

  15. #15
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 259
    Points : 19 420
    Points
    19 420
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Disons qu'il n'est pas prévu que les colonnes soient à droite

    Une idée serait de mettre la largeur ou le nombre de colonnes à gauche à 0 et d'ajouter 2 colonnes jours qui seront en fait les colonnes à droite.

    Il faut agir sur le code au chargement du sous-formulaire SF_Planning :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    With obHeader
          .RefControleImage = Me.Header
          .InitImage
          .FieldsCols = 0 ' paramètres colonnes à gauche
          .FieldsColsWidth = 0
          .FieldsColor = 16766935 '-2147483633
          .Rows = 1
          .RowsHeight = 36
          .Cols = 31 + 2 ' ajout 2 colonnes à droite
          .ColsWidth = 32
          .BackColor = -2147483633
          .GridColor = 8421504
       End With
       
    ' Spécification du contrôle image imPlanning sur lequel on va dessiner le planning.
    ' Puis, initialisation de l'image et affectation des paramètres pour le planning.
       
       With obPlanning
          .RefControleImage = Me.Planning
          .InitImage
          .FieldsCols = 0 ' paramètres colonnes à gauche
          .FieldsColsWidth = 0
          .Rows = NL
          .Cols = 31 + 2  ' ajout 2 colonnes à droite
          .RowsHeight = 25
          .ColsWidth = 32
          .BackColor = 14788262
          .GridColor = 8421504 '14788262
       End With
    a+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  16. #16
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Décembre 2013
    Messages : 6
    Points : 8
    Points
    8
    Par défaut Merci d'avoir pris le temps de me repondre.
    Citation Envoyé par User Voir le message
    Bonjour,

    Disons qu'il n'est pas prévu que les colonnes soient à droite

    Une idée serait de mettre la largeur ou le nombre de colonnes à gauche à 0 et d'ajouter 2 colonnes jours qui seront en fait les colonnes à droite.

    Il faut agir sur le code au chargement du sous-formulaire SF_Planning :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    With obHeader
          .RefControleImage = Me.Header
          .InitImage
          .FieldsCols = 0 ' paramètres colonnes à gauche
          .FieldsColsWidth = 0
          .FieldsColor = 16766935 '-2147483633
          .Rows = 1
          .RowsHeight = 36
          .Cols = 31 + 2 ' ajout 2 colonnes à droite
          .ColsWidth = 32
          .BackColor = -2147483633
          .GridColor = 8421504
       End With
       
    ' Spécification du contrôle image imPlanning sur lequel on va dessiner le planning.
    ' Puis, initialisation de l'image et affectation des paramètres pour le planning.
       
       With obPlanning
          .RefControleImage = Me.Planning
          .InitImage
          .FieldsCols = 0 ' paramètres colonnes à gauche
          .FieldsColsWidth = 0
          .Rows = NL
          .Cols = 31 + 2  ' ajout 2 colonnes à droite
          .RowsHeight = 25
          .ColsWidth = 32
          .BackColor = 14788262
          .GridColor = 8421504 '14788262
       End With
    a+

  17. #17
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 259
    Points : 19 420
    Points
    19 420
    Billets dans le blog
    63
    Par défaut
    De rien
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  18. #18
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Ghana

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 109
    Points : 155
    Points
    155
    Par défaut
    C'est tout simplement remarquable, merci à User et Arkham pour cette contribution monumentale.
    PS : Le gantt pique les yeux aussi

  19. #19
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Good Job
    Excelent Presentation, est ce qu'on peut telecharger votre projet avec cette suprb form ?

  20. #20
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 259
    Points : 19 420
    Points
    19 420
    Billets dans le blog
    63
    Par défaut
    Bonjour et merci,

    Vous avez des exemples en téléchargement dans le paragraphe VII.

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

Discussions similaires

  1. Formulaire multi-upload basé sur le tutoriel d'Antoine Herault - Demande d'explication & d'aide
    Par juliemanarah dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 24/05/2013, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo