1ère macro oui oui !!!

  • Initiateur de la discussion Initiateur de la discussion JC de Lorient
  • 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 !

J

JC de Lorient

Guest
bsr le forum

je viens de me lancer dans ma 1ère macro et bien évidemment elle fonctionne pas !!!!

pourtant elle est toute simple du moins je pensais !!

donc voilà :
j'ouvre mon classeur, la page menu s'affiche ça c ok

ensuite je voudrais mas text box pour le mot de passe

si mot de passe bon on continue sinon on ferme le classeur

voilà mon code :

Private Sub Workbook_Open()

Sheets('Menu').Activate

Dim mdp As String

mdp = InputBox('Mot de passe?', 'Merci d'entrer le mot de passe')
If mdp <> '****' Then Woorkbooks('JOEL.XLS').Close

End Sub


qu'est ce qui bloque ?

merci a vous !

JC
 
re le forum ,Dg62

merci dg

en effet ça marche mieux comme ça mé g découvert plusieurs trucs
1 si le projet VBA est verrouillé ça marche pas
2 si sur le textbox je fé annuler, il me demande si je veux enregistrer les modifs et là si je réponds annuler je peux accèder à ma feuille !

surprenant non ?

peut on améliorer ça ?

merci de votre aide

JC
 
re tout le monde

j'ai un peu modifié le code

Private Sub Workbook_Open()

Dim mdp As String

mdp = InputBox('Mot de passe?', 'Merci d'entrer le mot de passe')
If mdp = '****' Then Sheets('Menu').Activate Else Workbooks('JOEL.XLS').Close

End Sub

comment éviter la fenetre : voulez vous enregistrer les modifications?

merci bcp
 
Salut,

il nest pas possible de mettre des '*' dans un mot de passe je pense donc ta comparaison ne peut fonctionner mais d'autres te confirmont surement

Patrick



mdp = InputBox('Mot de passe?', 'Merci d'entrer le mot de passe')
If mdp <> '****' Then Woorkbooks('JOEL.XLS').Close
 
re

Code:
Private Sub Workbook_Open() 

Dim mdp As String 

mdp = InputBox('Mot de passe?', 'Merci d'entrer le mot de passe') 
if mdp='' then
msgbox 'Vous n'avez pas saisi le mot de passe'
Exit sub

else
if  mdp = '****' Then Sheets('Menu').Activate 

end if
End Sub
 
Bonjour a tous
Merci dg pour ton code g réussi a l'adapter

Private Sub Workbook_Open()

Dim mdp As String

mdp = InputBox('Mot de passe?', 'Merci d'entrer le mot de passe')
If mdp <> '1234' Then
MsgBox 'Au revoir.'
ThisWorkbook.Saved = True
Workbooks('JOEL.xls').Close
Exit Sub
Else
Sheets('Menu').Activate
End If
End Sub

Je voudrais maintenant allez plus loin cad avoir la possibilite de demander le code une deuxième fois du genre : 'code incorrect, 2ème et dernier essai avant fermeture du classeur

que dois je rajouter? et surtout comment ?

merci a vous

JC
 
Bonjour JC

Code:
Sub mdp()
Dim essaiMdp, mdp As String
Dim essai As Integer
essai = 1
mdp = '1234'

While essai <= 3

essaiMdp = InputBox('Mot de passe ?')
If essaiMdp = mdp Then
essai = 4
Else
essai = essai + 1
End If
Wend

End Sub
 
re le forum, dg62

merci du code
je 'comprends' le fonctionnement

mais mon souci c : Je le mets ou par rapport a mon 1er code?

faut il remplacer le 1er par celui ci?

je patauge grave !! 🙂

merci bcp

JC
 
re

une nouvelle version avec un flag qui indique si le mdp est correct ou pas.

Code:
Sub mdp()
Dim essaiMdp, mdp As String
Dim essai As Integer
essai = 1
mdp = '1234'

While essai <= 3

essaiMdp = InputBox('Mot de passe ?')
If essaiMdp = mdp Then
flag = True
essai = 4
Else
essai = essai + 1
flag = False

End If

Wend

If flag = True Then
Sheets('Menu').Activate
Else
MsgBox 'Au revoir.'
ThisWorkbook.Saved = True
Workbooks('JOEL.xls').Close
End If

End Sub
 
Salut tout le monde,

Tout d'abord sachez que je suis novice et par conséquent merci d'être indulgent avec mes remarques et questions.


dg62,

Que penses tu de ce code :


Private Sub Workbook_Open()

Dim mdp As String

mdp = InputBox('Mot de passe?', 'Merci d'entrer le mot de passe')
If mdp <> '1234' Then
mdp = InputBox('Deuxième essai !', 'Merci d'entrer le mot de passe')
If mdp <> '1234' Then
MsgBox 'Au revoir.'
ThisWorkbook.Saved = True
Workbooks('JC de Lorient.xls').Close
Exit Sub
Else
Sheets('JOEL.xls').Activate
End If
End If

End Sub


Merci de tes conseils.



Selecteur.
 
Bonjour sélecteur, re le forum

je viens d'essayer ton code

ça marche bien aussi avec quelques modif sur le classeur et la feuille

je ne sé pas si l'un est mieux que l'autre en tous cas ça fonctionne !

Dans les msgbox comment remplacer le microsoft excel ?
g fé plusieurs essai sans aucun résultat

du genre msgbox 'au revoir', ' pas de bol!!'

merci

JC
 
- 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
1
Affichages
569
Réponses
5
Affichages
908
Compte Supprimé 979
C
G
Réponses
2
Affichages
610
gaelle31
G
  • Question Question
Réponses
10
Affichages
1 K
Z
  • Résolu(e)
XL 2016 Macro
Réponses
5
Affichages
1 K
K
Réponses
0
Affichages
672
kheiro31
K
D
Réponses
49
Affichages
9 K
D
L
Réponses
12
Affichages
1 K
La flamme
L
A
Réponses
3
Affichages
1 K
A
Retour