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

NONO14

XLDnaute Occasionnel
Voici en détail ce que devront faire les actions de la Combo :
- Enregistrer un(e) employé(e) - UfGestTemps page 0 - Les autres pages sont enable
- Enregistrer un planning horaire - UfGestTemps page 1 - Les autres pages sont enable
- Enregistrer un contrat horaire - UfGestTemps pages 3 - Les autres pages sont enable
- Modifier un(e) employé(e) - Feuille Liste_agents
- Modifier un pointage - Feuille "Saisie"
- Modifier le planning - Feuille "Planning"
- Sauvegarder les pointages - Feuilles "Saisie" et "Recap"
- Editer les plannings - UfGestTemps page 2 - Les autres pages sont enable
- Editer les tableaux de pointages - Feuilles "Recap" et "Imp_Pointage"
- Feuille Calcul accès très restrictif réservé au chef, personne ne doit y avoir accès autre que lui.

Toutes les feuilles seront protégées par un mot de passe et la feuille calcul sera VeryHidden.
Voilà ce qu'il me reste à faire...
 

NONO14

XLDnaute Occasionnel
J'ai codé la Combo de l'Uf GestMenus. J'ai supprimé le bouton "Valider" et il suffit à présent d'un click sur le choix pour le valider.
Est-il possible pour l'administrateur de ne taper qu'une seule fois le mot de passe pour accéder au formulaire ? :eek: J'ai posé une nouvelle question...
Je vous soumets mon travail, n'hésitez pas à me dire si cela ne convient pas.
 

Pièces jointes

  • PointHeure15.xlsm
    790.2 KB · Affichages: 2

vgendron

XLDnaute Barbatruc
Est-il possible pour l'administrateur de ne taper qu'une seule fois le mot de passe pour accéder au formulaire ?

c'est exactement pour ca que je te disais qu'une fois le mot de passe admin rentré, il faut que TOUTES les pages du formulaire soient actives, pour que l'admin puisse accéder à toutes les pages sans avoir à fermer le formulaire et retaper son mdp pour réouvrir le USF sur une autre page..
c'est le principe du mode admin.. full access...==> et donc.. encore une fois.. la liste des actions est inutile..
 

vgendron

XLDnaute Barbatruc
je ne comprend pas pourquoi tu veux (il veut) absolument avoir cette liste de choix qui limite la page d'accès..

genre, si l'admin ne selectionne pas une action au préalable, alors il ne sait pas ce qu'il vient faire sur le formulaire... c'est de l'alzeihmer très avancé..
 

NONO14

XLDnaute Occasionnel
je ne comprend pas pourquoi tu veux (il veut) absolument avoir cette liste de choix qui limite la page d'accès..

genre, si l'admin ne selectionne pas une action au préalable, alors il ne sait pas ce qu'il vient faire sur le formulaire... c'est de l'alzeihmer très avancé..
Eh oui, j'ai eu beau lui expliquer... Il veut que ça se fasse comme ça. Vas comprendre la logique ou plutôt sa logique. Pour le moment il me fout la paix, c'est déjà ça de gagné.
 

NONO14

XLDnaute Occasionnel
Est-il possible pour l'administrateur de ne taper qu'une seule fois le mot de passe pour accéder au formulaire ?

c'est exactement pour ca que je te disais qu'une fois le mot de passe admin rentré, il faut que TOUTES les pages du formulaire soient actives, pour que l'admin puisse accéder à toutes les pages sans avoir à fermer le formulaire et retaper son mdp pour réouvrir le USF sur une autre page..
c'est le principe du mode admin.. full access...==> et donc.. encore une fois.. la liste des actions est inutile..
Je n'ai pas le choix, il veut que les autres pages soient inaccessibles... Pourquoi ? ça je n'en sais rien. Il nous donnera des explications quand il présentera l'application.
 

Discussions similaires

Réponses
9
Affichages
352
Réponses
5
Affichages
377
Réponses
3
Affichages
178

Statistiques des forums

Discussions
314 011
Messages
2 104 528
Membres
109 063
dernier inscrit
rahimmcsaw