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 :

Jours en mois numéroté ?


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
    Ingénieur sécurité
    Inscrit en
    Novembre 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Novembre 2018
    Messages : 36
    Par défaut Jours en mois numéroté ?
    Bien le Bonjour à tous,

    je suis tout nouveau et c'est mon tout premier post sur ce forum... j'aurai besoin d'un petit coup de main si possible car je suis en train de créer un programme pour ma firm et je bloque sur quelque chose de simple peut-être pour vous..

    Je rentre plusieurs dates dans un premier tableau, par exemple une première date de mise en service d'un capteur, ensuite une date de défaillance, puis une date de fin d'observation via usf
    j'obtiens en jours mes dates et c'est ce que je souhaitais,
    par exemple pour mes mises en services j'ai 0 partout car c'est la date de début, pour ma date de défaillance j'ai le nombre de jour qui se sont écoulé après ma mise en service, puis ma date de fin c'est le nombre de jour écoulé après ma mise en service
    le soucis et que je veux un deuxième tableau qui me donne le nombre de défaillance par mois avec des mois numérotés jusqu'à X.

    imaginons 28 ème jour j'ai une défaillance, ensuite 29ème jour ensuite 355 ème jour puis une autre 709 ème jour

    je veux avoir dans mon tableau pour
    mois 1 = 2 défaillances (28 eme et 29 eme jour)
    mois 2 = 0 défaillance
    mois 3 = 0
    mois 4 = 0
    .
    .
    .
    mois 12 = 1 défaillance
    .
    .
    .
    mois 24 = 1 défaillance
    et ainsi de suite


    Si quelqu'un peut m'aider ce serait vraiment super super..
    J'avais de simple connaissances basiques d'excel et vba mais j'ai été amené à "programmer"


    Nom : Sans titre.png
Affichages : 199
Taille : 6,3 Ko

  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
    Citation Envoyé par Akah94 Voir le message
    le soucis et que je veux un deuxième tableau qui me donne le nombre de défaillance par mois avec des mois numérotés jusqu'à X.
    Ce que tu demandes n'est pas faisable pour une raison très simple : le mois n'est pas une unité de durée fixe.
    Contrairement à la semaine ou le jour qui ont toujours la même durée, la durée du mois varie de 28 à 31 jours.

    Donc, pour faire des traitements au mois, il faudrait soit connaitre la date de début (on saurait alors de quel mois il est question à chaque date), soit fixée une durée arbitraire fixe pour un mois (par exemple 30 jours).

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Novembre 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Novembre 2018
    Messages : 36
    Par défaut
    Bonjour,
    Merci pour ta réponse, j'ai oublié de donner cette précision, on arrondi le mois par 30.

  4. #4
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut Bonjour
    La manière de procéder la plus simple selon moi
    et qui comme tu les entres en dure dans ton Usf ne devrait pas être top complexe à mettre en œuvre :

    Serait en plus de mettre dans tes colonnes le Nb de jours , serait d'indiqué aussi la date exact, car dans le contexte actuel, vu que les seules données à notre disposition sont des nombres de jours comment déterminé le mois ou ton incident / mise en service à été encoder

    De la partir sur une table pivot
    qui donnerait le nombre d'incident par entité ... sans forcement passé par du Vba

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Novembre 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Novembre 2018
    Messages : 36
    Par défaut
    Certes je peux mettre les dates sans soucis, j'ai choisi exprès le nombre de jour car au début je voulais faire un graphique avec les défaillances sur des dates exactes mais mes capteurs par exemple peuvent durer 20 ans imaginons, je vais pas faire 20 x365... c'est vraiment trop, donc j'ai décidé de faire par mois.. ou en gros en groupe de 30.

    Je pense qu'il n y'a pas besoin de mettre une date exacte, là je veux juste comparer automatiquement mes chiffres et me les classer comme cité au dessus... par groupe de 30.
    Merci pour ta réponse
    Ps : il me faut passer par du VBA car en faite j'ouvre excel sans les feuilles sans rien, j'ai fais un programme en entier et je bloque là dessus pourtant j'ai fais plus dure...

  6. #6
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut Re
    OK,

    Mais dans ce cas
    Ton : Mois1;Mois2;Mois3;....
    Tu ne sauras jamais savoir de quel mois il s'agit ?

    Par exemple 255/30 serait égale au mois 8(.5) donc mois 9 mais si ton encodage date du 01/01/20178 ça enverrait à septembre, si au 01/05/2018 au 01/02/2019 ?
    à moins que les dates et années ne t'importe peu...

    Ou plausible aussi que je ne comprenne pas la nature de ton problème...

  7. #7
    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
    Citation Envoyé par Akah94 Voir le message
    Merci pour ta réponse, j'ai oublié de donner cette précision, on arrondi le mois par 30.
    Dans ce cas, pas besoin de VBA.
    Utilise une fonction NB.SI.ENS avec deux critères : >= 30 x mois et < 30 x (mois + 1).
    https://support.office.com/fr-FR/art...c-aa8c2a866842

  8. #8
    Membre averti
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Novembre 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Novembre 2018
    Messages : 36
    Par défaut
    Merci pour la réponse

    Je n'ai pas accès du tout à ma Worksheet, je la cache du début jusqu'à la fin dans mon programme, ensuite je ne sais pas combien de ligne je vais avoir, peut-être 5 peut-être 500, cela fonctionne quand même ? J'ai pensé à cette fonction déjà mais est-ce que si je rentre plusieurs lignes via mes USF le comptage peut quand même être effectué ?
    Car comme dis précédemment, il me faut un tableau qui me montre du genre ça :

    mois1 = 4
    mois2 = 0
    mois3 = 1
    mois4 = 0
    etc
    etc

  9. #9
    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
    Citation Envoyé par Akah94 Voir le message
    Je n'ai pas accès du tout à ma Worksheet, je la cache du début jusqu'à la fin dans mon programme
    Rien ne t'oblige à mettre cette fonction dans la feuille où se trouvent les données sources.

    ensuite je ne sais pas combien de ligne je vais avoir
    Il suffit d'indiquer toute la colonne comme zone de recherche.

    J'ai pensé à cette fonction déjà mais est-ce que si je rentre plusieurs lignes via mes USF le comptage peut quand même être effectué ?
    J'ai l'impression que tu indiques les contraintes de ton application au compte-goutes, ce qui est assez déplaisant.

    Il faut mettre une formule par ligne de mois.
    Mais comme dans la formule, les critère sont calculés d'après la valeur dans la colonne Mois, il suffit de l'écrire une fois et de la recopier pour les autres mois.

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

Discussions similaires

  1. premier jour du mois
    Par ALLB dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 28/04/2006, 21h33
  2. Réponses: 4
    Dernier message: 09/04/2006, 17h01
  3. Récuperer les jours du mois en cours
    Par mindwind dans le forum Oracle
    Réponses: 22
    Dernier message: 15/12/2005, 11h30
  4. Obtenir le 1er jour du mois d'une date
    Par soso78 dans le forum Access
    Réponses: 4
    Dernier message: 27/09/2005, 12h15
  5. date du jour - 1 mois
    Par yoda_style dans le forum ASP
    Réponses: 3
    Dernier message: 14/04/2005, 09h12

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