code VBA reponse bizarre

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

laplayast

XLDnaute Occasionnel
Bonjour,

Je tiens à remercier,l'aide au travers de ce forum qui j'espère continuera
longtemps avec tous les contributeurs.
Je joint le fichier excel en test car le code VBA ne fonctionne pas bien.
L'ideé est de s'identifier avec un code utilisateur,et un code d'accés en second
et d'enregistrer tous cela dans une feuille journal du classeurTESTCODEVBA.
Mais cela ne fonctionne pas bien.
Merci de votre aide.
@+🙂
 

Pièces jointes

Re : code VBA reponse bizarre

Bonjour

Dans la feuille le code est une donnée numérique, le code obtenu avec l'inputbox est une donnée de type string.
Code à modifier
Code:
If [COLOR="Red"]CStr[/COLOR](codeutil) <> VCode Then


JP
 
Re : code VBA reponse bizarre

Bonsoir laplayast,
JP 🙂,

Je te propose ceci:

Code:
Private Sub Workbook_Open()
vutil = InputBox("entrez votre nom d'utilisateur")
VCode = InputBox("entrez votre code d'accès")

Worksheets(1).Select

'recherche du code de l'utilisateur dans la feuille utilisateurs
[B][COLOR=Blue]Set util = Sheets("utilisateurs").Columns("A").Find(vutil, LookIn:=xlValues, lookat:=xlWhole)
If Not util Is Nothing Then
  If CStr(util.Offset(0, 1).Value) <> VCode Then
    MsgBox "desole, mot de passe incorrect", vbOKCancel, "securite"
    Exit Sub 'sortie de la procedure
  End If
Else: MsgBox "Utilisateur inconnu!", vbExclamation, "securite"
  Exit Sub
End If[/COLOR][/B]

Worksheets(3).Select
ActiveSheet.UsedRange

'selection de la premiere cellule vide
Range("A2").Select
ActiveSheet.UsedRange.Select
ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Offset _
(1, -2).Select
'ajout des informations à la fin de la liste de la feuille JOURNAL
ActiveCell.Value = vutil
ActiveCell.Offset(0, 1) = Date
ActiveCell.Offset(0, 2) = Time
'Affichage de la feuille TRAVAIL
Worksheets(1).Select
End Sub

PS: utilises plutôt Exit Sub à la place de End.
 
Dernière édition:
- 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

Discussions similaires

  • Question Question
Réponses
7
Affichages
347
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
1 K
Réponses
3
Affichages
434
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
616
Retour