Bonjour le forum,
Je joins le fichier dans lequel j'essaie d'expliquer les améliorations que j'aimerais faire mais qui me sont impossibles en raison de mon niveau "actuel" dans la programmation ainsi que ce que j'ai réussi à obtenir non sans mal et qui ne doit pas être des plus limpides pour les experts (cf ci dessous).
Je compte sur votre aide pour m'aider à aller jusqu'au bout de mon projet.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lig As Integer, VColL As Variant, VColD As Variant, Setrep As Variant, VMdP As Variant
If Target.Count > 1 Then Exit Sub
If Intersect(Range("A:N"), Target) Is Nothing Then Exit Sub
VColD = Range("D" & Target.Row).Value
VColL = Range("L" & Target.Row).Value
If VColL <> 0 And VColD <> 0 Then
Setrep = MsgBox("Validez votre saisie :Attention,vous ne pourrez plus modifier la ligne après la validation ", vbYesNo)
If Setrep = 6 Then
Range("A4:M65000").Select
Selection.Sort key1:=Range("D5"), Order1:=xlAscending, Key2:=Range("A5") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
ActiveWorkbook.Save
End If
End If
If ActiveWorkbook.Saved = True And Range("N" & Target.Row).Value = "" Then
Range("N" & Target.Row).Value = "enregistré"
End If
'Inscrit la date et heure de saisie si n'existe pas déjà
Lig = Target.Row
If Range("M" & Lig).Value = "" And Target.Value <> "" Then
Range("M" & Lig).Value = Now()
End If
End Sub
Essai d'attribuer un mot de passe sans succès dans les lignes qui suivent
'VMdP = InputBox("La date de la demande est déjà enregistrée !" & vbCrLf & vbCrLf _
' & "Pour modifier les données existantes, merci de saisir le mot de passe : ", _
' "MODIFICATION IMPOSSIBLE ...")
'If VMdP = "TOTO" Then
' Application.EnableEvents = False
'Application.Undo
' Else
'Application.EnableEvents = True
'End If
' End If
' End If
'Vérifie le mot de passe ICI
'If VMdP = "TOTO" Then
' Application.EnableEvents = True
' Else
' Exit Sub
D'avance merci
Amicalement
dss
Je joins le fichier dans lequel j'essaie d'expliquer les améliorations que j'aimerais faire mais qui me sont impossibles en raison de mon niveau "actuel" dans la programmation ainsi que ce que j'ai réussi à obtenir non sans mal et qui ne doit pas être des plus limpides pour les experts (cf ci dessous).
Je compte sur votre aide pour m'aider à aller jusqu'au bout de mon projet.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lig As Integer, VColL As Variant, VColD As Variant, Setrep As Variant, VMdP As Variant
If Target.Count > 1 Then Exit Sub
If Intersect(Range("A:N"), Target) Is Nothing Then Exit Sub
VColD = Range("D" & Target.Row).Value
VColL = Range("L" & Target.Row).Value
If VColL <> 0 And VColD <> 0 Then
Setrep = MsgBox("Validez votre saisie :Attention,vous ne pourrez plus modifier la ligne après la validation ", vbYesNo)
If Setrep = 6 Then
Range("A4:M65000").Select
Selection.Sort key1:=Range("D5"), Order1:=xlAscending, Key2:=Range("A5") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
ActiveWorkbook.Save
End If
End If
If ActiveWorkbook.Saved = True And Range("N" & Target.Row).Value = "" Then
Range("N" & Target.Row).Value = "enregistré"
End If
'Inscrit la date et heure de saisie si n'existe pas déjà
Lig = Target.Row
If Range("M" & Lig).Value = "" And Target.Value <> "" Then
Range("M" & Lig).Value = Now()
End If
End Sub
Essai d'attribuer un mot de passe sans succès dans les lignes qui suivent
'VMdP = InputBox("La date de la demande est déjà enregistrée !" & vbCrLf & vbCrLf _
' & "Pour modifier les données existantes, merci de saisir le mot de passe : ", _
' "MODIFICATION IMPOSSIBLE ...")
'If VMdP = "TOTO" Then
' Application.EnableEvents = False
'Application.Undo
' Else
'Application.EnableEvents = True
'End If
' End If
' End If
'Vérifie le mot de passe ICI
'If VMdP = "TOTO" Then
' Application.EnableEvents = True
' Else
' Exit Sub
D'avance merci
Amicalement
dss