Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Ecrire une formule de calcul en Vba Excel

NONO14

XLDnaute Occasionnel
Bonjour à toutes et à tous,

Comment pourrait-on écrire cette formule de calcul en Vba, s'il vous plaît ? Pour le moment elle est écrite en dur dans des cellules Excel de mon tableau.
Cependant, il m'est demandé de l'écrire dans du code afin que personne ne puisse y accéder. Cette formule se trouve dans la colonne J du tableau de la feuille "Recap", il y en d'autres du même genre dans les colonnes K et L et un peu plus simples dans les colonnes M, N, O.
Bien sûr je pourrais protéger ces colonnes mais ce n'est pas ce qui m'est demandé, j'ai proposé cette solution, mais elle ne garantie pas une sécurité suffisante en cas d'effacement malencontreux par la personne qui va gérer ce fichier.
MAX_MAT et autres sont des Noms donnés à des cellules de la feuille "Données", soit les cellules L3 à O5.
Mot de passe de la feuille "falaise"
Merci par avance pour vos idées.
VB:
=SI(A2="";"";SI(A2<>"";SI(ET(D2<>"";E2<>"");E2-D2;SI(ET(D2<>"";E2="";F2<>"");MAX_MAT-D2;SI(ET(D2<>"";E2="";ET(F2<>"";G2=""));"";SI(ET(D2<>"";E2="";F2="";G2="";H2="";I2<>"");MAX_MAT-D2;SI(ET(D2<>"";E2="";F2="";G2<>"");MAX_MAT-D2;SI(ET(D2<>"";E2="";ET(F2="";G2="");ET(H2="";I2<>""));I2-D2;SI(ET(D2<>"";E2="";F2="";G2="");MAX_MAT-D2;SI(D2="";""))))))))))
 

Pièces jointes

  • Tablo_Heures.xlsm
    282.8 KB · Affichages: 14
Dernière édition:
Solution
Bonjour
tu dis ne pas vouloir protéger les colonnes..et pourtant tu postes un fichier protégé...

pour inscrire une formule dans une cellule J2 par VBA, voici ma méthode
1) créer une variable qui contient la formule en Anglais
FormuleJ="=if(A2="""",""""if(A2<>""""................)"
en anglais veut dire: les fonctions sont écrites dans la version Anglaise ==> Si==>IF, et==> And....
les ; sont remplacés par des ,
les " sont remplacés par ""

2) inscrire la formule
range("J2").formula=formuleJ

3) pour étirer la formule: autofill

vgendron

XLDnaute Barbatruc
Hello

regarde la PJ
j'ai apporté une nouvelle modif pour la gestion des actions
à priori.. l'administrateur a le droit de tout faire
il a donc accès à toutes les pages.. et n'a sans doute pas envie, ni le temps de faire le choix de l'action et remettre son mot de passe== DONC
j'ai ajouté une action "Administration"
il faut le mot de passe adminisrateur (admin01)
et le USFGestTemps s'ouvre sur la page 0 avec toutes les pages dispo

==> dans la liste des actions, tu peux donc supprimer toutes les actions réservées à l'administatreur (à part "Administration" bien sur)
dans USF_Initialize, j'ai laissé les case pour l'instant.
si tu valides, on peut les supprimer

j'ai aussi corrigé quelques bugs que j'ai pu voir au passage
 

Pièces jointes

  • PointHeure13.xlsm
    666.6 KB · Affichages: 2

vgendron

XLDnaute Barbatruc
un conseil
Commence par rajouter les textbox manquants en prendant soin de leur donner
1) le nom sur le meme modèle que les autres jours
tbx_15 et tbx_16
1 = Lundi
5=debsoir
6=finsoir

2) n'oublie pas le tag "Heure" pour qu'ils soient intégrés dans le control de saisie

ensuite.. procéder par étapes..
d'abord la gestion de l'ouverture du formulaire en fonction de l'action choisie
 

NONO14

XLDnaute Occasionnel
Voilà, j'ai modifié la grille de saisie du planning en y ajoutant les heures du soir. J'espère n'avoir rien oublié dans le code. J'ai suivi tes recommandations pour le tag Heure, j'espère n'avoir rien oublié.
Je n'ai pas encore modifié la liste des actions car je n'ai pas encore regardé ce que tu as fait.
Le fichier est 13b car je veux être certain de n'avoir pas fait de bêtise avant d'écraser l'autre.
 

Pièces jointes

  • PointHeure13b.xlsm
    675.1 KB · Affichages: 2

NONO14

XLDnaute Occasionnel
En testant la page Planning de l'UfGestTemps, je me suis aperçu qu'il y a une erreur de calcul au niveau des heures supplémentaires, la TextBox indique le nombre d'heures de la semaine, le calcul ne fait pas la différence entre les heures de la semaine et les heures contractuelles.
Je continue pour le reste...
 

vgendron

XLDnaute Barbatruc
Je te renvoie le 13b avec correction d'indice pour chargement de la grille (LoadGrille)
et l'enregistrement de la grille

je pense que tu as ajouté une colonne==> ca créé un décalage..
 

Pièces jointes

  • PointHeure13.xlsm
    690.7 KB · Affichages: 3

NONO14

XLDnaute Occasionnel
Je te renvoie le 13b avec correction d'indice pour chargement de la grille (LoadGrille)
et l'enregistrement de la grille

je pense que tu as ajouté une colonne==> ca créé un décalage..
Merci pour la correction, mais je n'ai pas le souvenir d'avoir ajouté une colonne, mais bon si ça bug c'est que j'ai dû faire quelque chose...
Je regarde le fichier
 

NONO14

XLDnaute Occasionnel
Je viens d'avoir les derniers éléments. Dans la Combo_Menus de la feuille "Saisie", tous les choix sont sous la responsabilité de l'administrateur. Les employé(e)s ne pourront que pointer. Cependant, il est indispensable de faire le détail des tâches, rien ne change pour ce qui est de rendre modifiables ou pas les pages du formulaire UfGestTemps, lorsque l'on travail sur une les autres ne sont pas modifiables. De plus, la Combo ne plaît pas, c'est juste pour m'emm... car elle fait le job.
Je suis désolé pour ces contre-temps mais je pense pouvoir m'en sortir.
J'attends que tu me renvoies le fichier 13b pour y apporter les modifications.
 

NONO14

XLDnaute Occasionnel
C'est encore moi. Pour faire suite à mon dernier post, il faut également que je modifie le code de l'employé(e).
Je ne sais pas comment faire. A la place de "emp" au début du code, je dois mettre les 3 premières lettres du Nom en minuscule. C'est la barbe tous ces changements, "il" trouve que le code actuel est trop compliqué à retenir, les pauvres...
 

vgendron

XLDnaute Barbatruc
je ne comprend pas bien..
le combo ne plait pas..... ton chef veut quoi à la place?: est ce qu'il le sait au moins?
à part dire.. ca me plait pas, sait il au moins pourquoi?

garder l'activation ou pas des feuilles selon le choix alors que TOUS les choix sont réservés à l'admin..
je vois pas du tout l'intérêt..
et à mon avis. il va vite en avoir marre..
ex:
choix de modifier un employé
mdp
le USF s'ouvre avec UNE page active
il fait ses modifs

s'il veut faire autre chose, il est OBLIGE de quitter le USF
refaire un choix
retaper son mot de passe....

(moi ca me gonfle rien que de l'écrire. alors.. le faire.. il va vite peter un plomb)
 

Discussions similaires

Réponses
9
Affichages
355
Réponses
5
Affichages
377
Réponses
3
Affichages
178
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…