Re : Macro avec msgbox pour validation multiples
re bonjour a tous.
apres qqs temps je reviens !
merci a tous pour votre aide, c'est super
il me manquerai de finaliser l'histoire..
des trucs ont evolué depuis.
je souhaiterai que le "validateur" des semaines rentre un mot de passe pour lancer la macro.
ci-joint donc le code en l'etat actuel des choses /
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Count > 1 Then Exit Sub
If Target.Column <> 1 Then Exit Sub
Dim dl1 As Long ' dernière ligne
With Sheets(ActiveSheet.Name)
If InStr(1, Target.Value, "validation") > 0 Then
UserForm1.Show
If reponse = 0 Then Exit Sub
.Unprotect
Target.Offset(-1, 0).Value = Application.UserName
Target.Offset(2, 0).Value = Date
Target.Offset(3, 0).Value = "ok"
With .Rows(Target.Offset(-3, 0).Row & ":" & Target.Offset(3, 0).Row)
.Locked = True
.FormulaHidden = False
End With
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End With
End Sub
le nom d'utilisateur (boss ou drh) ainsi que la date sont automatique (pas besoin de renseigner ca, ils ne sont que 2 dans la boite a pouvoir le faire)
l'userform en l'etat actuel des chose n'est pas utile (j'ai enlevé dans VBA les lignes qui ne servait a rien...) , je voudrais la remplacer par une demande de mot de passe
comment faire pour avoir une userform qui demande (et verifie) un mot de passe ? (mdp unique pour tout les validateurs , genre "patron" ou autre).
d'autre part , quand la validation est en cour de lancement, une msg box s'ouvre (dans le code de l'userform) :
Option Explicit
Private Sub CommandButton1_Click()
Select Case MsgBox("Vous allez valider les heures de " & Environ("UserName"))
Case vbOK
Case vbCancel
Exit Sub
End Select
reponse = 1
Unload Me
End Sub
Private Sub CommandButton2_Click()
reponse = 0
Unload Me
End Sub
Private Sub UserForm_Click()
End Sub
comment faire pour que dans le texte de cette msg box soit ecrit le N° de la semaine qui est encours de validation ? (pour info le prob est que cette case est dépendante en fonction de chaque semaine : la case correspondante au N° de semaine est 3 case en dessous de la case "validation" qui sert a valider chaque semaine)
cela est un peu desordonné , je le sais. je suis + que novice en VBA. j'ai bidouillé, tenté de copier des trucs et des machins. il y en a surement qui sont en dépis du bon sens !!!
mais pour l'instant ca marche en l'etat...
merci a ceux qui me conprendrons et qui seraient en mesure de m'aider.
je ne peux pas poster le fichier excel, il est trop lourd ! (400 Ko et je suis limité a 48 Ko)..
merci a tous.
Djo