activer un bouton en fonction d'un date

Kantarus

XLDnaute Nouveau
Bonjour à tous,

Voici mon problème du jour, sur une feuille excel ,j'ai besoin d'activer un bouton qu'entre le 20 et le 25 de chaque mois et le reste du temps il doit être désactiver.
J'ai réussi à l'activer en fonction d'une valeur dans une cellule, mais je bloque totalement avec la gestion des dates.

Si une personne pouvais me mettre sur la voie, je vous en serai reconnaissant.

Merci d'avance
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

Une autre voie possible
VB:
Private Sub Worksheet_Activate()
CommandButton1.Enabled = (Day(Date) Mod 26) > 19
End Sub
A mettre dans le code de la feuille contenant le CommandButton
NB: Pour que cela fonctionne, il faut au moins deux feuilles dans le classeur.
 

Kantarus

XLDnaute Nouveau
Vraiment un grand merci à tous.
Mais maintenant j'ai découvert un autre problème dans mon fichier, mais je sais pas si je dois créer une nouvelle discussion parce que le sujet est différent.
J'explique quand même (et si il le faut je référait un autre post).
Dans mon fichier (ci-joint) sur la feuille "Chantier" en colonne C, j'arrive à compter le nb de jours travailler sur un chantier (ça c'est bon)
Par contre je n'arrive pas (en colonne E) à compter juste le nb de ligne du tableau de la feuille "Modele" qui correspond à la lettre du chantier (exemple "A") ce qui me permettrai de connaitre le nb de personne qui on été travailler sur le dis chantier.

Je me demande si je suis bien clair ????
 

Pièces jointes

  • Pointage Chantier Fichier Test.xlsm
    64.9 KB · Affichages: 31

Kantarus

XLDnaute Nouveau
Bonjour Lone-wolf
Non c'est bien dans la colonne E que j'aimerai avoir ce résultat.
J'ai déjà essayer avec NB.SI mais ça ne donne pas le résultat attendu.
Dans l'onglet "MODELE" je rentre les heures et le chantier, dans l'exemple de fichier que j'ai donné (la réponse attendu en "chantier!E1" doit étre 2
Vu que 2 personnes ont travaillé sur ce chantier (par exemple)
 

Kantarus

XLDnaute Nouveau
Oui sur l'onglet "Chantier" j'ai mis des lettres (a,b,c....), ce que tu vois (1A-3G-1F-1D) c'est juste le lundi de la première semaine.
Ce que je cherche à avoir comme résultat : c'est le nombre d'ouvrier qui à travailler sur le mois entier, dans mon exemple le matricule 343 à travaillé tous les jours des deux premières semaines (donc 1 personne) et le matricule 338 à travaillé sur le chantier la deuxième semaine donc +1 personne = 2 personnes sur le chantier pour 18 jours de travail (ce que j'arrive à compter avec la formule en "Chantier!C2") et un total de 120 heures (ce que j'arrive aussi à compter en "Chantier!D2).
 

job75

XLDnaute Barbatruc
Bonjour Kantarus, Lone-wolf, JM que j'oubliais,

Pour compter le personnel intervenant sur un chantier utiliser cette fonction VBA :
Code:
Function ComptePersonnel(r As Range, lettre$)
For Each r In r.Rows
If Application.CountIf(r, lettre) Then ComptePersonnel = ComptePersonnel + 1
Next
End Function
Le code doit être placé dans un module standard.

Formule en Chantier!E2 :
Code:
=ComptePersonnel(MODELE!G$10:CU$30;B2)
Fichier joint.

A+
 

Pièces jointes

  • Pointage Chantier Fichier Test(1).xlsm
    70 KB · Affichages: 32
Dernière édition:

Discussions similaires

Réponses
26
Affichages
378

Statistiques des forums

Discussions
312 193
Messages
2 086 058
Membres
103 110
dernier inscrit
Privé