Excel: Mon code est désactivé à l'ouverture.
Résolu/Fermé
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
-
17 janv. 2015 à 14:50
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 18 janv. 2015 à 19:45
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 18 janv. 2015 à 19:45
A voir également:
- Excel: Mon code est désactivé à l'ouverture.
- Liste déroulante excel - Guide
- Formule excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Mise en forme conditionnelle excel - Guide
14 réponses
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
17 janv. 2015 à 15:11
17 janv. 2015 à 15:11
Bonjour,
Ton code doit être une macro, exemple:
Ensuite dans ThisWorkBook en haut à gauche tu mets ceci:
Ton code doit être une macro, exemple:
Sub mamacro() 'blablabla End Sub
Ensuite dans ThisWorkBook en haut à gauche tu mets ceci:
Option Explicit Private Sub Workbook_Open() mamacro End Sub
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
Modifié par Anonyme209 le 17/01/2015 à 15:53
Modifié par Anonyme209 le 17/01/2015 à 15:53
Voilà ce que j'ai pour l'instant: (Feuil1)
UserForm1 est une fenêtre toute simple
Comment le transformer en macro?
(Désolé, le VBA, je ne connais pas trop)
Dim skip as Boolean Private Sub Worksheet_Change(ByVal Target As Range) If skip = True Then skip = False Exit Sub End If skip = True Application.Undo UserForm1.Show End Sub
UserForm1 est une fenêtre toute simple
Comment le transformer en macro?
(Désolé, le VBA, je ne connais pas trop)
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
17 janv. 2015 à 15:57
17 janv. 2015 à 15:57
Mettre dans un module:
Dans la feuille concernée:
Et dans ThisWorkBook:
Mais je ne comprends pas trop le processus, où est la macro pour rétablir la saisie?
Option Explicit Public Sub modif() Dim Skip As Boolean If Skip = True Then Skip = False Exit Sub End If Skip = True UserForm1.Show End Sub
Dans la feuille concernée:
Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) modif End Sub
Et dans ThisWorkBook:
Option Explicit Private Sub Workbook_Open() modif End Sub
Mais je ne comprends pas trop le processus, où est la macro pour rétablir la saisie?
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
17 janv. 2015 à 16:12
17 janv. 2015 à 16:12
Je n'ai pas fait de macro pour rétablir la saisie. J'aurais pu mais je n'en ai pas besoin.
Après avoir fait les modifications indiquées, le message "Les macros sont désactivées" s'affiche. Je clique sur "Activer pour ce document", et un message d'erreur (erreur 1004) s'affiche. A part ça, une fois que j'ai fermé le message d'erreur, le code fonctionne.
Maintenant je voudrais savoir:
-Comment supprimer ce message d'erreur
-Comment faire pour que la macro s'exécute automatiquement (si possible)
Après avoir fait les modifications indiquées, le message "Les macros sont désactivées" s'affiche. Je clique sur "Activer pour ce document", et un message d'erreur (erreur 1004) s'affiche. A part ça, une fois que j'ai fermé le message d'erreur, le code fonctionne.
Maintenant je voudrais savoir:
-Comment supprimer ce message d'erreur
-Comment faire pour que la macro s'exécute automatiquement (si possible)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
17 janv. 2015 à 16:21
17 janv. 2015 à 16:21
-Comment supprimer ce message d'erreur
cliquer sur Developpeur dans le ruban en haut
Sécurités des macros
Paramètres des macros: Activer toutes les macros
-Comment faire pour que la macro s'exécute automatiquement (si possible)
Et dans ThisWorkBook mettre:
Elle est opérationnelle à l'ouverture du classeur!!!
cliquer sur Developpeur dans le ruban en haut
Sécurités des macros
Paramètres des macros: Activer toutes les macros
-Comment faire pour que la macro s'exécute automatiquement (si possible)
Et dans ThisWorkBook mettre:
Option Explicit Private Sub Workbook_Open() modif End Sub
Elle est opérationnelle à l'ouverture du classeur!!!
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
17 janv. 2015 à 16:32
17 janv. 2015 à 16:32
On s'est mal compris:
La cause de l'erreur est la suivante:
Dès l'ouverture du classeur, on lance le sub modif.
Or, le sub modif annule la dernière modification effectuée (Application.Undo). Seulement, à l'ouverture du classeur, il n'y a rien à annuler, puisqu'aucune modification n'a encore été faite. Il faudrait donc que l'on sorte du sub si aucune modification n'est présente dans l'historique.
Pour l'exécution automatique, je souhaiterais qu'elle se fasse sur n'importe quel ordinateur, sans avoir besoin d'activer toutes les macros.
Sinon, quelqu'un qui veut modifier la feuille n'a qu'à ne pas activer les macros, et tout mon code sera neutralisé.
La cause de l'erreur est la suivante:
Dès l'ouverture du classeur, on lance le sub modif.
Or, le sub modif annule la dernière modification effectuée (Application.Undo). Seulement, à l'ouverture du classeur, il n'y a rien à annuler, puisqu'aucune modification n'a encore été faite. Il faudrait donc que l'on sorte du sub si aucune modification n'est présente dans l'historique.
Pour l'exécution automatique, je souhaiterais qu'elle se fasse sur n'importe quel ordinateur, sans avoir besoin d'activer toutes les macros.
Sinon, quelqu'un qui veut modifier la feuille n'a qu'à ne pas activer les macros, et tout mon code sera neutralisé.
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
17 janv. 2015 à 16:43
17 janv. 2015 à 16:43
Dès l'ouverture du classeur, on lance le sub modif.
Tu ne la lances pas à l'ouverture, elle va se lancer d'elle même au changement de saisie sur la feuille
Pour l'exécution automatique, je souhaiterais qu'elle se fasse sur n'importe quel ordinateur, sans avoir besoin d'activer toutes les macros.
C'est impossible, il faut trouver une autre solution sans macro. Les macros ne peuvent fonctionner que si elles sont activées
Tu ne la lances pas à l'ouverture, elle va se lancer d'elle même au changement de saisie sur la feuille
Pour l'exécution automatique, je souhaiterais qu'elle se fasse sur n'importe quel ordinateur, sans avoir besoin d'activer toutes les macros.
C'est impossible, il faut trouver une autre solution sans macro. Les macros ne peuvent fonctionner que si elles sont activées
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
17 janv. 2015 à 16:46
17 janv. 2015 à 16:46
J'ai supprimé le code dans ThisWorkBook, effectivement il n'y a plus d'erreur, et le code fonctionne toujours.
Si quelqu'un sait comment faire ce que je cherche sans macro, je suis preneur.
Sinon, est-il possible d'interdire l'ouverture du classeur si les macros sont désactivées?
Si quelqu'un sait comment faire ce que je cherche sans macro, je suis preneur.
Sinon, est-il possible d'interdire l'ouverture du classeur si les macros sont désactivées?
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
17 janv. 2015 à 16:58
17 janv. 2015 à 16:58
OUI
A mettre dans ThisWorBook:
A mettre dans ThisWorBook:
Option Explicit Private Sub Workbook_BeforeClose(Cancel As Boolean) 'on rétabli à la fermeture ThisWorkbook.IsAddin = True End Sub Private Sub Workbook_Open() 'empêcher l'affichage d'un classeur s'il est ouvert alors que l'exécution 'des macros est désactivée dans les options de sécurité ThisWorkbook.IsAddin = False End Sub
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
17 janv. 2015 à 20:28
17 janv. 2015 à 20:28
Merci beaucoup, ça marche
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
18 janv. 2015 à 12:01
18 janv. 2015 à 12:01
Je viens de voir que mon code n'était pas parfait:
Par exemple, il ne protège pas contre la suppression des graphiques.
Quelqu'un aurait un meilleur code?
Par exemple, il ne protège pas contre la suppression des graphiques.
Quelqu'un aurait un meilleur code?
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
18 janv. 2015 à 17:40
18 janv. 2015 à 17:40
En fait,
Cela oblige à enregistrer sous xlam. Comment le garder sous xlsm?
Option Explicit Private Sub Workbook_BeforeClose(Cancel As Boolean) 'on rétabli à la fermeture ThisWorkbook.IsAddin = True End Sub Private Sub Workbook_Open() 'empêcher l'affichage d'un classeur s'il est ouvert alors que l'exécution 'des macros est désactivée dans les options de sécurité ThisWorkbook.IsAddin = False End Sub
Cela oblige à enregistrer sous xlam. Comment le garder sous xlsm?
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
18 janv. 2015 à 19:34
18 janv. 2015 à 19:34
Tu peux enregistrer en .xls (Excel97-2003)
J'enregistre personnellement tous mes fichiers pouvant être partagés dans ce format, pour les personnes n'ayant pas les récentes versions
J'enregistre personnellement tous mes fichiers pouvant être partagés dans ce format, pour les personnes n'ayant pas les récentes versions
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
18 janv. 2015 à 19:45
18 janv. 2015 à 19:45
a propos des graphiques lire ceci pour empêcher leur modification
https://argyronet.developpez.com/office/access/makecharts/#L2-5-4
https://argyronet.developpez.com/office/access/makecharts/#L2-5-4