Fermer un classeur session fermé
Fermé
Maksime568
Messages postés
144
Date d'inscription
mardi 15 avril 2014
Statut
Membre
Dernière intervention
28 novembre 2022
-
13 janv. 2021 à 07:16
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 14 janv. 2021 à 11:02
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 14 janv. 2021 à 11:02
A voir également:
- Fermer un classeur session fermé
- Uptobox fermé - Accueil - Services en ligne
- Rouvrir un onglet fermé - Guide
- Coco chat fermé - Accueil - Réseaux sociaux
- Comment fermer un compte paypal - Guide
- Utiliser pc portable fermé - Guide
3 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
14 janv. 2021 à 11:02
14 janv. 2021 à 11:02
Bonjour,
J'ai changer le nom des feuilles car je n'ai pas de feuilles 1 et 2 mais j'ai toujours l'erreur.
Comment veux-tu que je devine sans fichier ?
autre point, chaque jour j'ajoute une nouvelle feuille, comment le prendre en compte dans ce cas?
Et bien fait l'inverse, liste les feuilles à ne pas protéger :
j'avais déjà une private sub workbook_open.
il me dit alors, nom ambigü. comment passer outre?
Ne choisis pas trop la facilité, ça doit se trouver rapidement sur google ça...
eric
J'ai changer le nom des feuilles car je n'ai pas de feuilles 1 et 2 mais j'ai toujours l'erreur.
Comment veux-tu que je devine sans fichier ?
autre point, chaque jour j'ajoute une nouvelle feuille, comment le prendre en compte dans ce cas?
Et bien fait l'inverse, liste les feuilles à ne pas protéger :
Private Sub Workbook_Open() Dim sh As Worksheet, f As String f = ",Feuil2,Feuil3," ' liste feuilles à ne pas protéger For Each sh In Worksheets If InStr(f, "," & sh.Name & ",") = 0 Then sh.Protect Password:="mdp", UserInterfaceOnly:=True, DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowSorting:=True, AllowFiltering:=True Next sh End Sub
j'avais déjà une private sub workbook_open.
il me dit alors, nom ambigü. comment passer outre?
Ne choisis pas trop la facilité, ça doit se trouver rapidement sur google ça...
eric
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
13 janv. 2021 à 08:41
13 janv. 2021 à 08:41
Bonjour,
voir ceci pour mettre dans le classeur
https://www.mediaforma.com/vba-excel-executer-procedure-a-fermeture-dun-classeur/
et ceci pour l'enregistrement:
https://docs.microsoft.com/fr-fr/office/vba/api/excel.workbook.save
et puis pour fermer tous les classeurs:
https://support.microsoft.com/fr-fr/office/fermer-des-classeurs-ou-des-fen%C3%AAtres-de-classeur-ca74dca4-8d2f-43f9-84e1-f9a1b1621d26
voir ceci pour mettre dans le classeur
https://www.mediaforma.com/vba-excel-executer-procedure-a-fermeture-dun-classeur/
et ceci pour l'enregistrement:
https://docs.microsoft.com/fr-fr/office/vba/api/excel.workbook.save
et puis pour fermer tous les classeurs:
https://support.microsoft.com/fr-fr/office/fermer-des-classeurs-ou-des-fen%C3%AAtres-de-classeur-ca74dca4-8d2f-43f9-84e1-f9a1b1621d26
Maksime568
Messages postés
144
Date d'inscription
mardi 15 avril 2014
Statut
Membre
Dernière intervention
28 novembre 2022
13 janv. 2021 à 09:00
13 janv. 2021 à 09:00
pour les 2 premiers onglets je connaissais et j'ai appliqué la procédure de sauvegarde automatique à la fermeture.
cependant,
si l'utilisateur ne ferme pas sont classeur excel et que l'on change de session windows, le fichier reste bloqué en lecture seule jusqu'à ce que le premier utilisateur ferme ce classeur.
c'est ce point là que je souhaiterais bloquer.
cependant,
si l'utilisateur ne ferme pas sont classeur excel et que l'on change de session windows, le fichier reste bloqué en lecture seule jusqu'à ce que le premier utilisateur ferme ce classeur.
c'est ce point là que je souhaiterais bloquer.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
>
Maksime568
Messages postés
144
Date d'inscription
mardi 15 avril 2014
Statut
Membre
Dernière intervention
28 novembre 2022
13 janv. 2021 à 09:40
13 janv. 2021 à 09:40
Maksime568
Messages postés
144
Date d'inscription
mardi 15 avril 2014
Statut
Membre
Dernière intervention
28 novembre 2022
>
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
13 janv. 2021 à 10:37
13 janv. 2021 à 10:37
non car l'opération ne serait faite qu'avec un second utilisateur qui n'est pas celui qui a ouvert le classeur à la base.
il y a une macro qui force la fermeture d'excel au bout de X minutes après une saisie, ce qui serait applicable ici mais pas forcément la meilleur solution. Cela pourrait éviter qu'un utilisateur oubli de ferme un classeur malgré tous.
il y a une macro qui force la fermeture d'excel au bout de X minutes après une saisie, ce qui serait applicable ici mais pas forcément la meilleur solution. Cela pourrait éviter qu'un utilisateur oubli de ferme un classeur malgré tous.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
>
Maksime568
Messages postés
144
Date d'inscription
mardi 15 avril 2014
Statut
Membre
Dernière intervention
28 novembre 2022
13 janv. 2021 à 10:53
13 janv. 2021 à 10:53
il y a une macro qui force la fermeture d'excel au bout de X minutes après une saisie, ce qui serait applicable ici mais pas forcément la meilleur solution
Voir cela
https://www.tutoderien.com/comment-fermer-un-classeur-apres-un-delai-dinactivite/
@+ Le Pivert
Voir cela
https://www.tutoderien.com/comment-fermer-un-classeur-apres-un-delai-dinactivite/
@+ Le Pivert
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
13 janv. 2021 à 11:31
13 janv. 2021 à 11:31
Bonjour,
je suppose le fichier sur un réseau.
Dans ce cas tu peux partager (ancienne fonctionnalité !) le classeur que chacun puisse faire ses modifs.
Ca demande une certaine discipline, qu'un utilisateur n'écrase pas les modifs d'un autre, mais à 3 c'est jouable.
Le mieux est d'enregistrer le fichier avant de démarrer une modif. Ca force excel à rapatrier les modifs des autres en suspend et limites les collisions.
eric
je suppose le fichier sur un réseau.
Dans ce cas tu peux partager (ancienne fonctionnalité !) le classeur que chacun puisse faire ses modifs.
Ca demande une certaine discipline, qu'un utilisateur n'écrase pas les modifs d'un autre, mais à 3 c'est jouable.
Le mieux est d'enregistrer le fichier avant de démarrer une modif. Ca force excel à rapatrier les modifs des autres en suspend et limites les collisions.
eric
Maksime568
Messages postés
144
Date d'inscription
mardi 15 avril 2014
Statut
Membre
Dernière intervention
28 novembre 2022
13 janv. 2021 à 12:01
13 janv. 2021 à 12:01
C'est une bonne idée sauf que cette fonction n'est pas compatible avec l'utilisation de macro malheureusement.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
>
Maksime568
Messages postés
144
Date d'inscription
mardi 15 avril 2014
Statut
Membre
Dernière intervention
28 novembre 2022
13 janv. 2021 à 13:02
13 janv. 2021 à 13:02
Mais si.
Le message te dit qu'il faut départager si tu veux modifier les macros et le repartager ensuite, c'est tout.
eric
Le message te dit qu'il faut départager si tu veux modifier les macros et le repartager ensuite, c'est tout.
eric
Maksime568
Messages postés
144
Date d'inscription
mardi 15 avril 2014
Statut
Membre
Dernière intervention
28 novembre 2022
>
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
Modifié le 13 janv. 2021 à 17:48
Modifié le 13 janv. 2021 à 17:48
c'est vrai oui,
j'ai oublié,
mais j'ai dans une macro une fonction de retrait et ajout de protection et c'est cela qui n'est pas pris en compte pas le partage de fichier.
j'ai oublié,
mais j'ai dans une macro une fonction de retrait et ajout de protection et c'est cela qui n'est pas pris en compte pas le partage de fichier.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
>
Maksime568
Messages postés
144
Date d'inscription
mardi 15 avril 2014
Statut
Membre
Dernière intervention
28 novembre 2022
Modifié le 13 janv. 2021 à 18:04
Modifié le 13 janv. 2021 à 18:04
Ah bon, je ne me rappele pas... Tu as testé et ?
De toute façon il vaut mieux protéger ses feuilles à l'ouverture par macro avec le paramètre UserInterfaceOnly:=True
Ainsi les macros ont accès aux feuilles sans les déprotéger, seuls les utilisateurs sont bloqués.
eric
De toute façon il vaut mieux protéger ses feuilles à l'ouverture par macro avec le paramètre UserInterfaceOnly:=True
Ainsi les macros ont accès aux feuilles sans les déprotéger, seuls les utilisateurs sont bloqués.
eric
Maksime568
Messages postés
144
Date d'inscription
mardi 15 avril 2014
Statut
Membre
Dernière intervention
28 novembre 2022
>
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
Modifié le 13 janv. 2021 à 18:18
Modifié le 13 janv. 2021 à 18:18
oui j'avais tenté cette méthode dans un premier temps mais le portect / unprotect bloque.
je ne connais pas le paramètre "UserInterfaceOnly = True" tu saurais m'en dire plus par rapport au protect / unprotect?
voici le code d'une macro qui posait problème de mémoire.
je ne connais pas le paramètre "UserInterfaceOnly = True" tu saurais m'en dire plus par rapport au protect / unprotect?
voici le code d'une macro qui posait problème de mémoire.
Sub ajoutProduction() ' ' ajoutProduction Macro ' Dim nomF As String nomF = Format(Date, "dd-mm-yy") If FExist(nomF) Then avertissement 'appel de la MsgBox pour avertir que la feuille existe déjà Exit Sub End If ' ActiveWorkbook.Unprotect Sheets("Suivi Production").Select ' ActiveSheet.Unprotect Sheets("Suivi Production").Copy Before:=Sheets(1) ActiveSheet.Name = nomF With [G3] ActiveSheet.Unprotect .Value = Now .NumberFormat = "dd/mm/yy" End With ActiveSheet.protect