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

VBA Access Discussion :

Ajout d'un caractère fixe dans un code vb [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2014
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Novembre 2014
    Messages : 112
    Points : 65
    Points
    65
    Par défaut Ajout d'un caractère fixe dans un code vb
    Bonjour,

    Je développe une base de données sur Access 2013 pour la gestion des présences et Absences des personnels d’une petite Entreprise de Perpignan.
    Cette Entreprise est fermée entre Noël et le jour de l’an. Le solde des congés étant pris dans le courant de l’Eté est géré par table, requête, formulaire et Etats.
    Pour simplifier la saisie de cette période de Fermeture , j’ai adapté un code trouvé sur le net qui en une seule saisie me valide les congés pour cette période par des colonnes colorées les jours concernés (Mise en forme conditionnelle).
    Néanmoins je souhaiterais ajouter à chacune de ces cellules (Nom_Salarié/Jour de Fermeture) la lettre « C » comme congés mais je ne sais comment m’y prendre. Avez-vous des suggestions ou exemples.
    D’avance merci

    Le code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function EstConge(Jour As Date) As Boolean
       EstConge = Not IsNull(DLookup("DateD", "T_Conges", "DateD<=" & FDateUs(Jour) & " and DateF>=" & FDateUs(Jour)))
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function FDateUs(vDate As Date) As String
       FDateUs = "#" & Format(vDate, "mm/dd/yyyy") & "#"
    End Function
    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
    30
    31
    32
    33
    34
    35
    36
    Public Sub MajPlanning()
    Dim ND As Integer, j As Integer
    Dim DateJ As Date
    ND = DaysInMonth(Forms!F_Planning!Mois, Forms!F_Planning!An)
    DateJ = DateSerial(Forms!F_Planning!An, Forms!F_Planning!Mois, 1)
    Forms!F_Planning!SF_Planning.Form!Jour1.SetFocus
    For j = 1 To ND
     
       Forms!F_Planning!SF_Planning.Form("Col" & j).Caption = UCase(Left(Format(DateJ, "ddd"), 1)) & vbCrLf & j
       If (DateJ = Date) Then
          Forms!F_Planning!SF_Planning.Form("Col" & j).BackColor = 15852772
          Forms!F_Planning!SF_Planning.Form("Jour" & j).BackColor = 15852772
       Else If EstWeekEnd(DateJ) Or EstFerie(DateJ) Then
          Forms!F_Planning!SF_Planning.Form("Col" & j).BackColor = 13428479
          Forms!F_Planning!SF_Planning.Form("Jour" & j).BackColor = 13428479
       Else If EstConge(DateJ) Then
          Forms!F_Planning!SF_Planning.Form("Col" & j).BackColor = 13428479
          Forms!F_Planning!SF_Planning.Form("Jour" & j).BackColor = 5617050
     
       Else
          Forms!F_Planning!SF_Planning.Form("Col" & j).BackColor = 16761024
          Forms!F_Planning!SF_Planning.Form("Jour" & j).BackColor = vbWhite
       End If
     
       DateJ = DateJ + 1
    Next j
    For j = 29 To ND
       Forms!F_Planning!SF_Planning.Form("Col" & j).Visible = True
       Forms!F_Planning!SF_Planning.Form("Jour" & j).Visible = True
    Next j
    For j = (ND + 1) To 31
       Forms!F_Planning!SF_Planning.Form("Col" & j).Visible = False
       Forms!F_Planning!SF_Planning.Form("Jour" & j).Visible = False
    Next j
    Forms!F_Planning!SF_Planning.Requery
    End Sub

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,
    Visiblement il s'agit d'intervenir dans cette partie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       Else If EstConge(DateJ) Then
          Forms!F_Planning!SF_Planning.Form("Col" & j).BackColor = 13428479
          Forms!F_Planning!SF_Planning.Form("Jour" & j).BackColor = 5617050
          'ici
    Par contre ne sachant pas s'il y a un contrôle (étiquette ou zone de texte) comme récepteur de la valeur que tu souhaites ajouté mon aide s'arrête là.

    Cordialement,

    "pour moi ça sera un Dom Brial et une cargolade avec un poil d'aïole."
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2014
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Novembre 2014
    Messages : 112
    Points : 65
    Points
    65
    Par défaut Re
    OK pour le Dom Brial et la cargolade, l'aïolie je sais pas, mais merci de ta prompte réponse.

    Cependant je ne suis pas beaucoup avancé et j'avais déjà localisé la "zone d'intervention" mais je peux comprendre le VB mais l'écrire c'est autre chose pour moi.

    Il existe effectivement un contrôle (Zone de texte) dans une table T_Congés que j'ai mis en "Valeur par défaut = "C", je dispose également de ce même champ dans le formulaire de saisie F_Congés mais il n'a d'après moi aucune importance puisqu'il est déjà validé dans la table.

    Voilà ou j'en suis.

    Si tu peux m'aider, merci d'avance

    Roland

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bon ! je suis allé faire un tour dans les planning sur notre site dans l'éventualité que tu utilise l'une de nos solutions et il semble que tu utilises celle de Denis Hulo. N'hésite pas à le spécifier par un lien ça aide énormément pour répondre précisément.

    J'ajouterai donc ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!F_Planning!SF_Planning.Form("Jour" & j).value = "C"
    A tester.

    Il existe effectivement un contrôle (Zone de texte) dans une table T_Congés
    Les tables ne contiennent pas de contrôle, uniquement des colonnes. Les contrôles sont dans les formulaires et les états.

    Je te conseille cette lecture très instructive pour mieux comprendre ce que tu manipules :
    http://loufab.developpez.com/tutorie...pelformulaire/

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2014
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Novembre 2014
    Messages : 112
    Points : 65
    Points
    65
    Par défaut RE
    Comme je ne connais pas grand chose en VB j'ai récupéré des exemples dans divers modèles mais n'ai nullement vu celui de Denis Hulo.

    Lorsque j'essaie le code que tu viens de m'envoyer, j'obtiens le code erreur suivant :

    "Erreur d'exécution 3326_ Impossible de mettre à jour Recordset"

    Je continue à chercher

    Merci de ton aide

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 261
    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 261
    Points : 19 424
    Points
    19 424
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Oui comme le dit Loufab tu sembles t'être basé sur un des mes exemples.

    Par contre, pour afficher le code "C" dans les cellules du planning il te faut agir au niveau de la requête source de ton planning.

    J'imagine un champ calculé dans cette requête qui utilise une fonction vraifaux, et qui ressemble à ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CodeJ:vraifaux(EstConge([DateJ];"C";T_Planning.[CodeJ])
    Donc il faut agir au niveau de la requête et non au niveau du module...

    Si tu n'y arrives pas postes ton exemple.

    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

  7. #7
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2014
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Novembre 2014
    Messages : 112
    Points : 65
    Points
    65
    Par défaut Re
    Bonjour,

    Tout d’abord mes félicitations pour ta base qui correspond 80% à mes besoins.
    J’ai testé ton code mais je ne m’en sors pas vraisemblablement parce je m’y prends mal aussi j’accepte ta gentille proposition et transmets ma base BD. Le fichier ne passe ni en access ni en Zippé. Il fait 8Mo. Puis je te l'envoyer en mp,

    L’Entreprise est fermée entre Noël et le jour de l’an. Cette année par exemple du 19/12/2014 au soir au 05/01/2015 au matin.
    Pour simplifier la saisie de cette période de Fermeture, j’ai adapté un code trouvé sur le net qui en une seule saisie me valide les congés pour cette période par des colonnes colorées les jours concernés (Mise en forme conditionnelle).
    Le solde des congés « C » étant pris individuellement dans le courant de l’Eté est géré par table « T_Presence », formulaire « F_Saisie » . Pas très cohérent mais je renommerais plus tard. Je gère également :
    - Les accidents du Travail
    - Congés familiaux (Naissance ou autre)
    - Formation
    - Etc…

    Je souhaite ajouter aux congés de la fermeture d’Entreprise la lettre « C » pour pouvoir ensuite compter l’ensemble Fermeture + Individuel.
    Il me restera ensuite à créer :
    - Groupe Administrateur/Utilisateurs avec mot de passe
    - Mise en réseau
    Merci d’avance

    Roland

  8. #8
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 261
    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 261
    Points : 19 424
    Points
    19 424
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Je traiterai le cas des congés relatif à la discussion.

    Envoie moi ta base...

    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

  9. #9
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 261
    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 261
    Points : 19 424
    Points
    19 424
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Je vous ai retourné la base.

    Pour finir j'ai dû créer une requête intermédiaire...

    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

  10. #10
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2014
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Novembre 2014
    Messages : 112
    Points : 65
    Points
    65
    Par défaut Re
    Merci beaucoup

  11. #11
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 261
    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 261
    Points : 19 424
    Points
    19 424
    Billets dans le blog
    63
    Par défaut
    De rien,

    à partir du moment où c'est du ponctuel pas de problème.

    Par contre ne me demande pas de mettre en place une gestion des droits utilisateurs, pour cela tu peux créer une autre discussion ou faire une recherche sur le forum.

    exemple de résultat : gestion-utilisateurs-access-2007

    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2003] Insérer un caractère spécial dans du code VBA
    Par Yoyo57 dans le forum VBA Word
    Réponses: 2
    Dernier message: 25/08/2010, 16h28
  2. [WD-2003] Reconnaissance des caractères spéciaux dans du code Word VBA
    Par laurent_diep dans le forum VBA Word
    Réponses: 15
    Dernier message: 10/06/2009, 10h02
  3. Ajout d'une image SVG dans le code d'une page
    Par Mobius dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/05/2009, 16h37

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