Compteur automatisé dans useform

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Bonjour Moustic, le forum,

Voir en protégeant l'onglet et le classeur. Ou alors il faudra réduire définitivement le ruban.

C'est pour ça que je t'ai mis la macro liée au bouton te permettant de faire l'effet inverse.
Si tu veux que tout soit remis en place à la fermeture du fichier, il suffit de créer une macro BeforeClose dans ThisWorkbook avec les options à remettre en place.

A+
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Bonsoir Yaloo

Qu'est-ce que cela veut dire ? Je ne comprends pas la manip :confused: :confused:


Bonjour Moustic, le forum,

Voir en protégeant l'onglet et le classeur. ...
A+
Pour le reste, je vais suivre tes conseils en adaptant le code BeforeClose dans ThisWorkbook pour remettre les options en place :eek:
Si je fais quelques bourdes, je lancerais un SOS.

Bonne soirée
 

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Bonsoir Moustic,

Pour "bloquer" les affichages et modifications, tu peux mettre une protection à tes feuilles et au classeur.
Pour se faire, dans le menu "Révision" (sous 2010 et 2013, mais 2007 ça doit le faire aussi :)) tu as la possibilité de protéger tes onglets (en cliquant sur Protéger la feuille) et le classeur (en cliquant sur Protéger le Classeur).
Pour la protection des feuilles, tu peux mettre ou non un mot de passe (il m'arrive de protéger sans mettre de mot de passe, c'est juste pour éviter d'effacer des formules ou autres) il est aussi possible de sélectionner ce que tu veux protéger. Je te laisse découvrir les différentes possibilités.

Pour le SOS, ne le fais pas en morse, j'ai un peu de mal avec ce langage, un petit message sera suffisant :p.

A+
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Bonsoir Yaloo

Protection de feuille ou de cellules, je pratique déjà mais là ce serait différent.

Lorsque je parle de "bloquer l'affichage", c'est surtout de cet onglet dont je parle (cf. image) que je souhaiterais invalider pour la totalité du fichier. :confused:

J'ai aussi un petit souci, dans le fichier test Edito, car même après avoir lancé la macro "Affichage" le ruban bien qu'actif reste réduit :eek:.
 
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Bonsoir moustic,

Dans ce cas-là, si l'on cache complètement le ruban, ça te convient ?

A+
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Yaloo,

Non c'est sympa de ta part :D mais cacher complètement le ruban risque de poser des problèmes à certains.

En revanche comme je l'ai écrit : J'ai aussi un petit souci, dans le fichier test Edito, car même après avoir lancé la macro "Affichage" le ruban bien qu'actif reste réduit :confused:
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Ok Yaloo

Mais de la sorte, il n'est plus réduit à l'ouverture du fichier or j'aurai voulu que le ruban soit réduit à l'ouverture mais qu'à la fermeture du fichier il soit à nouveau apparent :confused:
Mais il semble que l'on ne puisse pas avoir les 2 :confused:
A moins qu'il ne faille utiliser un autre morceau de code

Bonne soirée Yaloo
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Bonjour Yaloo

Cette histoire de ruban m'ennuie :(

Ton code permet de réduire le ruban

If Application.CommandBars.Item("Ribbon").Height > 100 Then
Application.SendKeys "^{F1}"
End If
Mais n'existe t-il aucun code possible pour annuler cette action ou plus exactement restaurer intégralement l'affichage du ruban à la fermeture du fichier ?

Merci de ton aide
 

Fichiers joints

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Bonsoir Moustic,

Peut-être avec cette macro :confused: , pas testé
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Ws As Worksheet
For Each Ws In Worksheets
  With ActiveWindow
    .DisplayHorizontalScrollBar = -1
    .DisplayVerticalScrollBar = -1
    .DisplayWorkbookTabs = -1
    .DisplayHeadings = -1
    .DisplayGridlines = -1
  End With
  If Ws.Index <> 1 Then Ws.Visible = 1
Next
If Application.CommandBars.Item("Ribbon").Height < 100 Then
  Application.SendKeys "^{F1}"
End If
Application.DisplayFormulaBar = -1
End Sub
A+

Martial
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Martial

Et bien non, j'ai testé cela ne fonctionne pas :(
A l'ouverture d'un nouveau fichier sous Excel 2007, le ruban reste masqué ou plus exactement réduit.
Mais je pense ne pas être le seul à émettre ce souhait, je vais donc continuer à chercher
Merci pour le temps que tu me consacres C'est sympa de ta part Martial d'autant que je ne suis pas un surdoué en codage :eek:
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Bonjour Martial

Je me permets de revenir vers toi pour te demander conseil pour la modification des codes du formulaire mot de passe.
Moi qui cherche à masquer certains onglets selon les cas et qu'un simple clic de souris sur l'onglet visible suffit pour afficher le menu contextuel Afficher/masquer ..., j'ai eu bien du mal à faire apparaitre l'onglet PARAMETRES. :(
Je ne suis pas doué, c'est certain.
Dans le fichier joint, tu retrouveras ton formulaire mot de passe ainsi que de multiples boutons (commandButton, rectangle à coins arrondis, image)

Pourrais-tu, s'il te plait, m'aider à modifier le code afin de prendre en compte toutes les nouvelles éventualités ?

Merci d'avance
 

Fichiers joints

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Bonjour moustic54,

J'ai eu beau relire certains échanges, difficile de s'y remettre !!!!

Peux-tu m'indiquer ce que tu souhaites faire ? Me dire aussi si tous tes boutons, rectangle arrondis et image vont rester ou certains être supprimés ?
J'ai vu que tu avais changé des lignes de mon code. Alors qu'il ne fallait pas y toucher (je pense !!!) si tu souhaites vraiment cacher les onglets.
Rem Sheets("PARAMETRES").Visible = 2
Sheets("PARAMETRES").Visible = True
La ligne .....visible = 2 (correspond à xlSheetVeryHidden) cache complètement l'onglet PARAMETRES et ne peut pas être afficher par le clic droit, alors que la ligne que tu as mis, permet de modifier par le clic droit.

A te relire

Martial
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Bonsoir Martial

Tous les boutons, rectangles arrondis et image vont rester.

1. J'aurai voulu qu'à l'ouverture du fichier tous les boutons, rectangles .... soient inactifs et que seul l'onglet EDITO soit visible (il ne faudrait pas que quelqu'un puisse modifier quoique ce soit sans y être "invité" :eek:

2. Pour pouvoir avoir accès à ceux-ci, recours au formulaire mot de passe en cliquant sur l'image.

Prévoir plusieurs niveaux d'accès :

1er niveau : totalité des boutons actifs et affichage des onglets EDITO vu der et savoir

2eme niveau : totalité des boutons actifs et aucun onglet visible hors onglet "EDITO)

3eme niveau : seuls boutons actifs : CommandButton 2 + CommandButton21 + rectangle à coins arrondis 9 et aucun onglet visible hors onglet "EDITO)

4eme niveau : seuls boutons actifs : CommandButton 2 + rectangle à coins arrondis 9 et aucun onglet visible hors onglet "EDITO)

3. Un double clic sur l'image pourrait permettre de revenir à la situation initiale (cf. 1) sans être obligé de fermer le fichier pour à nouveau changer d'utilisateur et donc de niveau .. Si toutefois cela est réalisable :confused::confused:


Si j'ai changé ton code pour l'onglet Paramètres, c'est uniquement parce que je souhaitais pouvoir y accéder. :eek:

Est-il envisageable de donner à 2 personnes un accès niveau 3 ? Est-on obligé de passer par l'onglet "PARAMETRE" pour cela ? :confused::confused:

J'espère que mes explications ne sont pas trop absconses :eek:
 
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Bonjour Moustic, le forum,

Voici ton fichier, à l'ouverture de celui-ci, dans la macro Open, on cache les feuilles et tous les boutons et rectangles. Impossible de rendre non accessible les rectangles, donc on cache tout.
Dans l'UserForm MotDePasse, en fonction de l'utilisateur les feuilles peuvent être cachées ou non ainsi que les boutons et rectangles.
Ne pas toucher aux noms des boutons ou rectangles sinon plus rien ne fonctionnera.

A+

Martial
 

Fichiers joints

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Bonjour Martial, le forum

Merci pour le fichier malheureusement je ne peux le tester puisque dès l'ouverture j'ai un message d'erreur :confused:

Erreur d'exécution 1004 : l'élément portant ce nom est introuvable
Erreur qui renvoie à la ligne de code : Feuil1.Shapes.Range(Array("Rounded Rectangle " & Re(i))).Visible = msoFalse

Un autre message lors du clic sur l'image
Erreur d'exécution 9 : L'indice n'appartient pas à la sélection
Erreur qui renvoie à la ligne de code : MotDePasse.Show

pourtant bien présent dans le fichier. :confused:

Pourrait-il s'agir d'un problème de version d'Excel ?

Je vais essayer de transposer le tout dans un autre fichier sous 2007 pour vérifier si ces messages sont toujours actifs :eek:
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Bonsoir Martial, le forum

J'ai fait de nombreux essais mais impossible de lancer l'USF mot de passe d'un clic sur l'image.
J'ai toujours le même message d'erreur. :confused: :confused:
Erreur d'exécution 9 : L'indice n'appartient pas à la sélection

J'ai donc tenter de le lancer directement à l'ouverture du fichier en plaçant MotDePasse.Show dans Private Sub Workbook_Open()
Je me suis dit que cela pouvait être une option sympa mais sans plus de succès. :confused: :confused:

Enfin les rectangles à coins arrondis posent problème.
Erreur d'exécution 1004 : l'élément portant ce nom est introuvable
Erreur qui renvoie à la ligne de code : Feuil1.Shapes.Range(Array("Rounded Rectangle " & Re(i))).Visible = msoFalse

Je pensais mettre dans ThisWorbook
le code

Code:
   Private Sub Workbook_Open()
Sheets("EDITO").CommandButton1.Enabled = False
Sheets("EDITO").CommandButton2.Enabled = False
Sheets("EDITO").CommandButton3.Enabled = False   
Sheets("EDITO").CommandButton21.Enabled = False   
MotDePasse.Show
Mais cela ne règle pas mon problème de rectangles à coins arrondis qui restent visibles et donc
accessibles. :confused: :confused:

En revanche lorsque l'on invalide les lignes de codes sur les rectangles, les commandButtons disparaissent bien à l'ouverture du fichier.

Si tu as des pistes ou des solutions, je veux bien de ton aide.
Je n'y arrive vraiment pas. :(
même si je me fais des nœuds au cerveau.
 

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Bonsoir Moustic,

Fais un essai en reprenant mon fichier sans tes modifications et en remplaçant seulement Rounded Rectangle par Rectangle à coins arrondis avec un espace après arrondis.

A+

Martial
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Bonsoir Martial

J'ai déjà essayé de remplacer Rounded Rectangle par Rectangle à coins arrondis avec un espace après arrondis sans succès
mais je n'ai pas testé en l'écrivant Rectangleàcoinsarrondis avec un espace après :eek:

Mais dis moi, sais tu d'où vient le problème de lancement de l'USF mot de passe ?:confused:

J'ai fait de nombreux essais mais impossible de lancer l'USF mot de passe d'un clic sur l'image.
J'ai toujours le même message d'erreur.
Erreur d'exécution 9 : L'indice n'appartient pas à la sélection
Parce que lorsque j'ai tenté en changeant le code comme ceci, dans ThisWorbook , l'USF Mot de passe apparait bien à l'ouverture du fichier
:confused: :confused:
Code:
   Private Sub Workbook_Open()
 Sheets("EDITO").CommandButton1.Enabled = False
 Sheets("EDITO").CommandButton2.Enabled = False
 Sheets("EDITO").CommandButton3.Enabled = False   
 Sheets("EDITO").CommandButton21.Enabled = False   
 MotDePasse.Show

Pas d'inquiétude, je fais tellement de tests mais je garde bien précieusement ton fichier :)
 
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Re,

Chez moi, mon fichier fonctionne sur tablette Asus Excel 2013 32 bits, portable Excel 2013 64 bits et fixe avec Excel 2010. Et ce n'est pas la même configuration sur chaque PC.
Tu fais bien les essais avec mon fichier du post #95 ?

Le problème de lancement de l'UserForm doit venir du même problème que tu as à l'ouverture. Dans la macro Open, toutes les feuilles sont cachées puis c'est au tour des "Boutons" et "Rectangle coins arrondis". Je pense que cela vient des noms des rectangles.

Dans un premier temps, fais un essai en mettant en commentaire les lignes
'Définition des N° des rectangles
Re = Array(9, 8, 11, 13, 14, 16)
'Puis les cache
For i = 0 To 5
Feuil1.Shapes.Range(Array("Rounded Rectangle " & Re(i))).Visible = msoFalse
Next
A+
 

Discussions similaires


Haut Bas