Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

excel 2003 remplacer nom dans macro

  • Initiateur de la discussion Initiateur de la discussion casamartin
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

casamartin

Guest
Bonjour les poilus, c'est l'imberbe qui revient

J'ai gilsser un mot de passe dans certaines macros pour déprotéger et reprotéger les fichiers originaux pour modification par le responsable.
Malheureusement, je me vois mal remplacer, macro par macro le mot de passe.
Existe t'il la possibilité de le faire par macro.
Merci de comprendre ma détresse.
 
Re : excel 2003 remplacer nom dans macro

Bonjour,

essaye peut être la fonction remplacer, dans l'éditeur vba => barre de menu => édition => remplacer => tu coches "projet en cours".. devrait le faire...

bonne journée
@+
 
Re : excel 2003 remplacer nom dans macro

Merci Luky Luke pour ta réponse, c'est une solution pour moi même, mais je voudrais de préférence, mettre le mot de passe dans une cellule d'une feuille cachée accessible par le responsable de la société qui n'y connait rien en macro.
Par exemple remplacer le mot de passe par un code d'accés à cette cellule.
Penses tu que cela soit possible ?
 
Re : excel 2003 remplacer nom dans macro

N'ayant pas de réponse, je pose la question différemment:
Dans le code de protection
ActiveSheet.Protect "Motdepasse"
Pouvons nous remplacer le mot de passe avec un coller de la valeur d'une cellule que l'on dans au préalable enregistré dans le presse-papier.
Ceci est irréalisable manuellement, de plus en génération automatique de la protection il ne met que le bout de code ActiveSheet.Protect
et à vous de saisir entre guillemets le mot de passe.
Existe t'il un autre méthode par macro pour modifier une autre macro, ou est ce encore verrouillé?
Merci de me répondre oui ou non.
Sinon je me rabatterais vers la solution de Pierrot.
 
Re : excel 2003 remplacer nom dans macro

Re,

tu as aussi une autre possibilité, c'est d'utiliser une constante publique, dans ce cas il n'y aura qu'un endroit ou modifier ton mot de passe, exemple ci-dessous, à placer en tête d'un module standard, ensuite partout dans ton code tu fais référence à la constante "mdp" qui contiendra ton mot de passe...

Code:
Option Explicit
Public Const mdp As String = "ModDePasse"
 
Re : excel 2003 remplacer nom dans macro

Ca me parait déjà beaucoup plus intéressant, je vais testé.

Par contre il y a peut être une autre possibilité, c'est de générer dans une cellule par la formule concatener la ligne de code <ActiveSheet.Protect "Motdepasse">
Je vais testé aussi, je te rendrais compte des résultats
Merci.
 
Re : excel 2003 remplacer nom dans macro

Bonjour à tous
Dans le classeur joint la feuille Feuil1 est protégée. Le mot de passe (initialement toto) est dans une feuille cachée.
Lors de l'activation de la feuille, le mot de passe est demandé. S'il est incorrect la feuille reste protégée. S'il est correct, la feuille n'est plus protégée. Il est proposé à l'opérateur de confirmer ou de modifier le mot de passe. Il suffit de cliquer OK pour conserver le mot de passe en cours, ou d'en changer et de cliquer sur OK.
C'est évidemment une protection faible (LibreOffice n'est pas fait pour les chiens…)​
ROGER2327
#5188


Lundi 9 Clinamen 138 (Sainte Trique, lunatique, SQ)
11 Germinal An CCXIX
2011-W13-4T14:56:40Z
 

Pièces jointes

Dernière édition:
Re : excel 2003 remplacer nom dans macro

Je reviens vers Pierrot, si j'ai bien compris la solution la plus rapide c'est ton petit bout de code
Option Explicit
Public Const mdp As String = "ModDePasse"
qui m'enchante le mieux.
Par contre comment placer la reprise du code que je n'ai jamais utilisé, je n'ai que 15 jours de formation autodidacte à mon actif.
Voici une petite macro simplifiée en exemple:

Sub sauvegarde_tarif()
'Protège, sauve et quitte classeur1
'
Option Explicit
Public Const mdp As String = "ModDePasse"
Application.ScreenUpdating = False
Windows("classeur1.xls").Activate
Sheets("feuil1").Select
ActiveSheet.Protect "Motdepasse"
Sheets("feuil2").Select
ActiveSheet.Protect "Motdepasse"
With ActiveWindow
.Top = 1.75
.Left = 547
.Width = 384
.Height = 525
End With
ActiveWorkbook.Protect "Motdepasse", Structure:=True, Windows:=True
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub

Si tu pouvais me modifier pour que ça marche ce serait Super. Merci d'avance de perdre un peu de temps aux ânes du forum.
 
Re : excel 2003 remplacer nom dans macro

Rebonjour à tous

Je pédale encore dans le vide pour mon problème de mot de passe

j'ai inclus dans le thisworkbook du fichier personal

Private Sub Workbook_Open()
mdp = Application.InputBox("Tapez le mot de passe commun à toutes les procédures.", "motde passe", Type:=2)
End Sub

j'inclus en début de procédure dans chaque module concerné le code:
Sub protection()
Public mdp As String
'modèle de procédure
'protection classeur1.

Public mdp As String
Windows("classeur1.xls").Activate
Sheets("Feuil1").Select
ActiveSheet.Protect
ActiveWorkbook.Protect , Structure:=True, Windows:=True
End Sub

Erreur de compilation, attribut incorrectdans une procédure ou fonction Sub

JJe suis le dernier de la classe.
 
Re : excel 2003 remplacer nom dans macro

Bonjour casamartin, Roger,

pour répondre à ton post d'hier, que je n'avais point vu... je modifierais ainsi :

Code:
Option Explicit
Public Const mdp As String = "ModDePasse"
Sub sauvegarde_tarif()
'Protège, sauve et quitte classeur1
'
Application.ScreenUpdating = False
Windows("classeur1.xls").Activate
Sheets("feuil1").Select
ActiveSheet.Protect mdp 
Sheets("feuil2").Select
ActiveSheet.Protect mdp 
With ActiveWindow
.Top = 1.75
.Left = 547
.Width = 384
.Height = 525
End With
ActiveWorkbook.Protect mdp , Structure:=True, Windows:=True
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub

bonne journée
@+

Edition : pour rappel, ce code est à placer dans un module standard..
 
Re : excel 2003 remplacer nom dans macro

Un grand merci, le plus vieux des ânes à encore fait des progrés, ça va drôlement alléger mes mes modofications.

Une question compémentaire pour alléger encore mes macros.

J'ai deux groupes de macros pour protection,fermeture et pour ouverture,déprotection pour chaque classeur qui se ressemblent.
Si je veux appliquer sur l'ensemble des classeurs, il y a t'il une autre possibilité que de recopier l'ensemble des commandes du groupe dans une seul macro.
 
Re : excel 2003 remplacer nom dans macro

Toutes mes macros sont dans le fichier PERSONAL qui se trouve caché dans le répertoire de travail de chaque PC portable et en réseau sur le site dans un répertoire commun ou les terminaux ont le même paramétrage d'écran.
Chaque PC n'à pas le même paramètrage d'écran, j'ai donc crée par macro, un paramètrage de zoom différent pour chaque PC, donc autant de fichier PERSONAL qu'il y a de PC différents .
Le programme de travail comporte 11 classeurs avec 2 à 5 feuilles par classeur.
losque je fait des modifications sur le programme à cause des liaisons, je suis obligé de déprotéger sois l'ensemble, soit un classeur particulier.
Je repose donc la question différemment.
Puis je enchaîner les macros avec un seul bouton de commande sans recréer une macro complète.
 
Re : excel 2003 remplacer nom dans macro

A, noter, pour ne pas avoir à protéger / déprotéger des feuilles de calcul et que le code puisse s'exécuter quand même, protéger les feuilles par le code en utilisant l'argument "userinterfaceonly" :

Code:
Option Explicit
Private Sub Workbook_Open()
Feuil1.Protect "toto", userinterfaceonly:=True
End Sub
 
Re : excel 2003 remplacer nom dans macro

Encore un grand merci, ça fonctionne trés bien pour mon test sur un classeur vierge.

A qoi sert <userinterfaceonly:=True>, est ce les critères standards de protection, car je n'est pas les mêmes partout, auquel cas il faudrais que je varie la protection en fonction de la feuille.

Je sauvegarde l'ensemble de mon programme dans un autre répertoire pour travailler l'évolution avec des classeurs non protégés
Dés le programme mis à jour, j'inclus dans le Thisworkbook
de chaque classeur cette petite macro.
Option Explicit
Private Sub Workbook_Open()
, Les codes de paramétrages particuliers d'écran
ActiveWorkbook.Protect "MdP", Structure:=True, Windows:=True
Feuil1.Protect "MdP", userinterfaceonly:=True
Feuil2.Protect "MdP", userinterfaceonly:=True
End Sub

Je vais aussi redistribuer mes macros dans les classeurs et feuilles et ne garder dans le personal que les macros générales affectées à l'ensemble des classeurs
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
643
B
Réponses
0
Affichages
1 K
bilbinou
B
S
Réponses
2
Affichages
1 K
SeishuSlash
S
J
  • Question Question
Réponses
0
Affichages
1 K
Jérôme57
J
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…