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

Macros et VBA Excel Discussion :

VBA et gestion des dates


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Février 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2020
    Messages : 25
    Par défaut VBA et gestion des dates
    Bonjour à tous,

    Alors voilà mon problème.

    Sur un onglet je souhaiterais faire un recap' d'une base de données, sur un autre onglet, pour faire ressortir quelques éléments avec une fonction de tri.

    Donc voici les caractéristiques de mon fichier:

    J'ai un onglet qui s’appelle "BasedeDonnées" avec toutes mes infos.
    Je souhaite travailler sur l'onglet "Caces1"

    Ce dernier onglet va me servir à faire un récap' des personnes en fin de validité du permis CACES Cat1 (pour ceux qui connaisse )
    Dans ma base de données j'ai les informations de toutes les personnes avec toutes leurs formations et les dates de validités
    Je souhaiterais sur mon nouvel onglet faire ressortir toutes les personnes en fin de validité, trié dans un tableau par mois.
    Exemple :
    Nom : caces1.PNG
Affichages : 255
Taille : 25,0 Ko

    Le job du code VBA doit faire: Lorsque je clic sur le bouton "Mise à jour" doit aller chercher toutes les personnes en fin de permis en Janvier et me les ajouter dans la colonne Janvier, pareil pour Février, ect.... via mon onglet "base de données" et en fin de code doit effacer toutes les lignes TOTALEMENT vierge (donc rien en janvier, Fevrier, Mars, ect...) Histoire de n'être pas pollué par des lignes vierges s'il n'y a personnes sur une lignes entières.

    Voici les éléments:
    Version Excel XL365

    Dans ma base de données
    Nom de l'onglet= BasedeDonnées
    Colonne des noms = A
    Colonne des prénoms = B
    Colonne de la date de fin de validité= Y (Date en format 20-fév-20)

    Dans mon onglet recap'
    Nom de l'onglet = Caces1
    Démarrage de la liste = Ligne 18

    Colonne Janvier = F et G
    Colonne Nom = F
    Colonne Prénom = G
    Colonne Février= H et I
    Colonne Nom = H
    Colonne Prénom = I
    Colonne Mars= J et K
    Colonne Nom = J
    Colonne Prénom = K
    Colonne Avril= L et M
    Colonne Nom = L
    Colonne Prénom = M
    Colonne Mai= N et O
    Colonne Nom = N
    Colonne Prénom = O
    Colonne Juin= P et Q
    Colonne Nom = P
    Colonne Prénom = Q
    Colonne Juillet= R et S
    Colonne Nom = R
    Colonne Prénom = S
    Colonne Aout= T et U
    Colonne Nom = T
    Colonne Prénom = U
    Colonne Septembre= V et W
    Colonne Nom = V
    Colonne Prénom = W
    Colonne Octobre= X et Y
    Colonne Nom = X
    Colonne Prénom = Y
    Colonne Novembre= Z et AA
    Colonne Nom = Z
    Colonne Prénom = AA
    Colonne Décembre= AB et AC
    Colonne Nom = AB
    Colonne Prénom = AC

    Voilà pour les infos du fichier.

    La gestion des dates sous VBA est très complexe pour moi, une usine encore très flou !

    Merci d'avance pour votre aide

    En vous souhaitant une bonne après midi.

    Cordialement,

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Personnellement, si j'avais à faire ça, je le ferais beaucoup plus simple.

    Dans la base de donnée, le mettrait une colonne "Fin de validité" (qui s'obtient, je suppose, avec une formule simple par rapport à la date d’obtention).
    Ensuite, le poserait un filtre sur l'ensemble des colonnes (Ruban Données > Icone Filtrer).
    Ensuite, en trois clic, on pourrait obtenir la liste des personnes arrivant en fin de validité pour le mois indiqué.

    Trois clics par mois, ça ne vaut pas le coup de faire une macro.

    Autre solution : passer par un filtre avancé qui te permettra d'extraire la liste des personnes correspondant au moins souhaité.

    Autre solution : faire un tableau croisé dynamique qui te regroupera les personnes par mois de fin de validité.
    Là encore, une fois le TCD mis en place, le remettre à jour sera quasiment instantané.

    Bref, en natif Excel, il y a de nombreuses solutions à envisager avant de passer par le VBA qui ne semble pas être une technique que tu maitrises (sinon tu aurais déjà écrit un embryon de code, je suppose).
    Si tu persistes dans la voie du VBA, je pense que ta structure avec un mois par paire de colonne va grandement te compliquer la tâche.

  3. #3
    Membre averti
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Février 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2020
    Messages : 25
    Par défaut
    Bonjour Menhir,

    Je pense que tu as raison, je vais trop me prendre la tête si je part sur cette piste.
    Je vais voir pour faire autrement.
    Merci pour ton conseil.
    En te souhaitant une bonne journée.

    Cordialement,

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

Discussions similaires

  1. [XL-2007] Gestion des dates en vba
    Par AgriPhilou dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/01/2014, 22h23
  2. Gestion des dates en VBA/Excel ?
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/07/2012, 10h34
  3. [VBA-E] Gestion des dates selon format de départ
    Par Gamal le Celte dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/02/2007, 14h41
  4. [VBA] Gestion des dates nulles provenant d'un recordset
    Par wperezrobles dans le forum Access
    Réponses: 11
    Dernier message: 28/09/2006, 18h02

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