MACROS ET USEFORM avec date du jour et renvoi à une ligne

Bonsoir,

Je débute avec Excel depuis quelques semaines, et je ne trouve pas les macros et/ou fonctions nécessaires à mes besoins en ligne.

Je dois proposer dans quelques jours un fichier Excel contenant des données d’une société, mais on me demande d’y apporter un peu de sécurité.

J’ai la trame de mon document, mais je n’arrive pas à trouver des cours de macro ou un listing répondant à mes idées.

Je m’explique :

Je souhaiterais qu’à l’ouverture de mon fichier, un useform apparaisse et demande un nom de famille, ces noms seraient limités afin d’empêcher d’autres utilisateur d’ouvrir ce fichier.

Une fois le nom validé, il serait demandé la date du jour sous le format : JJ/MM/AA.

Une fois la date correctement renseignée, le fichier irait sur un autre onglet à la date précise indiquée par l’utilisateur, afin d’y renseigner des données journalières.

Histoire de compliquer le tout, il faudrait que la ligne concernée par cette date, soit la seule que l’on puisse modifier, et non celle de la veille ou celle du lendemain. Je cherche une macro qui me permettrait de modifier seul certaines lignes.

Autre problème : une fois les données renseignées de la journée, je souhaiterais qu’un autre useform apparaisse pour demander si les informations tapées sont correctes. Si OUI, le fichier s’enregistre et se ferme, si NON, revenir à la ligne de la date concernée.

Enfin, comme j’ai pu voir ici et là sans comprendre, comment pourrais-je insérer un bouton export, pour imprimer des données précises sur une feuille Excel ?

Je me doute que je demande beaucoup, mais toutes les aides vues à ce jour sont particulièrement compliquées.

Je joins mon fichier en pièce jointe. Je vous remercie par avance, et regrette si je n’ai pas utilisé toujours les bons mots.

Merci

Nabulios

Bonjour,

Je ne trouve vraiment pas de solutions, ni de sites répondant, certainement à des choses simples, personne ne peut vraiment m'aider ?

Bonjour et bien vennue nabulios,

nabulios à écrit,

Je ne trouve vraiment pas de solutions, ni de sites répondant, certainement à des choses simples, personne ne peut vraiment m'aider ?

Nombre d'entre nous sommes en congés, probablement comme toi !

Ne soit soit donc pas surpris de n'avoir pas de réponses rapide.

Pour ma part, n'éttant pas expert VBA, je note une première erreur dans ta macro,

With Worksheets("Feuil1")

à changer par

With Worksheets("ACCUEIL")

Soit patient, nous sommes sur un site participatif et gratuit .

Sur ce bonne et heureuse année 2013

Bonsoir nabulios

Une proposition a finaliser

s'identifier

mettre un mot de pass

sur le deuxième formulaire,passer la sourie sur le champ en haut a gauche pour choisir une date

si la date existe et que l'enregistrement est vierge,le bouton de validation apparait

après validation,le classeur se ferme

Slt Bob,

Perso impossible sur "cjoint "par feu" est-il possible que tu le poste en FJ ?

Bonsoir mobil

le fichier est trop lourd pour le forum


RE

en espérant que cela fonctionne en comprimant

Re,

Merci, c'est OK.

Maintenant je cherche à comprendre.

Bonjour,

J'ai regardé votre projet et les réponses qui vous ont été proposées.

Personnellement je n'ai pas pu travailler avec celui de BOB71AU car je bloque avec le calendrier "Monthview1" qui n'est pas installé sur mon PC .

J'ai repris les codes de ce fichier et les ai adaptés d'une autre façon.

Quant à l'UserForm d'autorisation, il est initialisé avec le nom de l'administrateur "" admin" et le mot de passe"****"

On peut ajouter autant d'utilisateurs que l'on veut en les enregistrant avec le bouton "s'inscrire" qui oblige à connaître le mot de passe de l'administrateur.

Voir fichier joint.

Bon réveillon et bonne année 2013.

Henri

Bonne Année à toutes et à tous,

Comme j'avais posté mon fichier hier soir, j'avais mis la date du jour +1 . Il faut donc rectifier cette ligne du code suivant.

Private Sub userform_initialize()
Me.TextBox1 = Format(Range("Accueil!O1").Value [color=#FF0000]+ 1[/color], "dddd d mmmm yyyy")
Me.Width = Application.Width - 5
Me.Height = Application.Height - 5
Dim i As Byte
For i = 1 To 32
Me.Controls("label" & i) = Sheets("Donnees").Cells(1, i)
Next i
End Sub

Cordialement

Henri

Voici une autre solution avec un ComboBox au lieu du TextBox pour le choix de la date au cas où la saisie et la validation du fichier se fait après minuit.

Henri

Bonsoir à tous et à Nabulios,

Pas de nouvelles de Nabulios malgré les différentes réponses sur ce Post.

Peut-être a-t-il trouvé une autre solution ailleurs?

J'ai retravaillé quelque peu le fichier en ajoutant une feuille supplémentaire (Recap_Mois) et préparé une sauvegarde annuelle qui peut éviter à la longue un fichier trop volumineux.

Voir fichier joint

Cordialement et peut-être une réponse.

Henri

33hoteldulac-2013.xlsm (102.32 Ko)

Bonjour,

Je vous remercie tous pour votre aide. Je n'avais pas déserté, j'ai repris le travail ce matin. Vous me proposez pas mal de choses, n'étant pas des plus performants, je vous suis reconnaissant.

Je vais tenter de comprendre de mieux comprendre votre travail et je reviens vers vous rapidement.

Merci encore.

Nabulios

Bonsoir Afeh,

J'ai tenté de modifier la photo et d'autres petites, j'ai enregistré, et après à l'ouverture il m'apparaît des erreurs :

Partie supprimée: partie /xl/styles.xml avec erreur XML. (Styles) Erreur de chargement. Ligne 2, colonne 1748.

Partie réparée: partie /xl/worksheets/sheet4.xml avec erreur XML. Erreur de chargement. Ligne 2, colonne 30084.

Enregistrements réparés: Information de cellule dans la partie /xl/worksheets/sheet1.xml

Enregistrements réparés: Information de cellule dans la partie /xl/worksheets/sheet2.xml

Enregistrements réparés: Information de cellule dans la partie /xl/worksheets/sheet4.xml

Je voulais également la DATE, afin que l'utilisateur aille à la dernière date du calendrier non renseignée.

J'ai voulu aussi trouver une solution pour obliger l'utilisateur à faire un commentaire dans les onglets "commentaire obligatoire" selon les données renseignées plus haut.

En tentant tout cela, votre trame ne marche plus, qu'ai-je fais comme erreurs ?

Merci !

Nabulios

Bonsoir Nabulios,

Curieux, avec moi ton fichier joint fonctionne parfaitement.

Pour ce qui est des contrôles, n'étant pas compétent, je laisse le soin à d'autres initiés de t'aider.

Quant aux erreurs lors de l'ouverture??

Essaies avec un fichier en .xls (ci-joint)

Cordialement,

Henri

Bonjour,

Tout marche bien, et je vous remercie pour aide. J'ai toutefois une dernière question :

J'ai lis plusieurs protections sur les feuilles et le code VBA, de manière à ce que les utilisateurs ne fassent pas des suppressions ici et là.

Mon fichier final contient près d'une quinzaine de feuilles toutes protégées.

Or je voudrais pouvoir ouvrir mon fichier sans les protections, modifier et enregistrer les données, mais quand il s'agirait d'un autre utilisateur, je voudrais que ce dernier ne puisse avoir que l'unique onglet d'accueil.

Parce qu'à chaque fois et plusieurs fois dans la journée, je dois tout déprotéger pour voir mes graphes ou prévisions ou autres calculs.

Je passe plus de temps à déprotéger qu'à travailler sur le fichier.

Si une personne avait une idée, j'ignore s'il existe une fonction utilisateur principal et autres utilisateurs sur Excel ?

Merci

Nabulios

Bonsoir,

Il est possible de protéger et déprotéger des feuilles en affectant des macros à la touche CRTL.

Par ex: CTRL et X pour déprotèger et CRTL et Y pour protéger.

Adresse moi ton fichier éventuellement.

cordialement

Henri

Rebonsoir,

Je ne sais pas si c'est ceci que tu demandes.

Avec la fonction Ctrl + x tu affiches et enlèves la protection de toutes les feuilles.

Avec la fonction Ctrl + y tu masques et protèges toutes les feuilles.

Ci-joint un fichier avec ces possibilités.

Cdlt

Henri

Bonsoir Nabulios,

Voici un autre fichier permettant de masquer et protéger les feuilles au gré de l'administrateur.

Le bouton "Accès aux modifications" permet cette possibilité ou les touches Ctrl + x et Ctrl +y

Le bouton "Quitter ce classeur" masque et protège les feuilles avant de sauvegarder le fichier et de le fermer.

J'ai également interdit l'accès à 4 TextBox de l'userform de saisie des données en les alimentant par des formules:

  • Couverts total= couverts midi + couverts soir
  • CA PDJ = Nmb PDJ x Prix PDJ (variable se trouvant dans la feuille "base", donc modifiable)
  • CA Total TTC = CA boissons + CA restaurant + CA PDJ
  • Encaissements Total Titres de paiement = encaissements CHEQUE + AMEX + CB+ ESPECES
Je ne sais pas si cela convient mais je m'amuse un peu avec ce fichier avec mes maigres connaissances.

Cordalement

Henri

Bonsoir Nabulios et le forum,

Avec beaucoup de patience, j'ai réussi à finaliser la demande de Nabulios concernant les différents contrôles qu'il demandait.

A savoir , commentaires obligatoires si TO<15%, si déjeuners >15, si diners <10, si NBRE PDJ>50 et TO >80%.

D'autres données restent obscures (PAX,recouches,etc.) pour savoir si elles ont un impact sur des colonnes spécifiques.

La colonne "Couverts au Mois" se trouve dans le feuillet "RECAP_MOIS" en additionnant les couverts midi et soir pour le mois concerné. Sans nouvelle de Nabulios, je ne peux pas améliorer davantage ce fichier, ne connaissant pas les définitions exactes des colonnes du fichier "Donnees".

Ci-joint la version 5 de ce fichier. Je suppose qu'on peut faire plus simple, mais ça fonctionne.

En espérant une réponse

Cordialement

Henri

Rechercher des sujets similaires à "macros useform date jour renvoi ligne"