Clôturer un fichier selon condition

TEMAGOULTFARID

XLDnaute Occasionnel
Bonjour a vous tous,
En cette période compliquée, je me permet de faire appel a vos compétences.
La macro fonctionne très bien et j'aurai voulu ajouté une condition.
1 condition "L5 = Résolu" OK
2 Condition "Saisir mot de passe " ok
et la 3 condition que je souhaite intégré après la saisie du mot de passe que la cellule L5 passe en valeur "Clôturer" .
Par avance , merci


Sub cloturer()


If ActiveSheet.Name = "OT-VIERGE" Then
MsgBox ("Vous ne pouvez pas clôturer Signalement PCC.xlsm"): Exit Sub
End If
question = InputBox("Merci de saisir le mot de passe", , , 1000, 3000)

If question <> "toto" Then MsgBox "Fermeture non autorisée": Exit Sub
a = Range("L5")
If Range("L5").Value <> "Résolu" Then
MsgBox ("Clôture impossible, la cellule L5 n'est pas à jour"): Exit Sub
End If



rep2 = Workbooks("TABLEAU-OT.xlsm").Path & "\"
Workbooks.Open rep2 & "LOG.xlsm"

Windows("LOG.xlsm").Activate
Set celluletrouvee = Workbooks("LOG.xlsm").Sheets("Feuil1").Range("A1:A999").Find(Left(nom, 5), lookat:=xlWhole)

If celluletrouvee Is Nothing Then GoTo suite

derligne = celluletrouvee.Offset(0, 1)
Sheets("Feuil1").Range("A" & derligne & ":B" & derligne).Delete
ActiveWorkbook.Save

suite:
Application.DisplayAlerts = False
ActiveWorkbook.Close
a = ligne
If Range("A1:p5000").Locked = True Then GoTo suite Else Range("A1:p5000").Locked = True
Selection.Locked = True
Selection.FormulaHidden = False

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ligne = Workbooks("TABLEAU-OT.xlsm").Worksheets("Synthèse").Cells(1, 27)
' ActiveWorksheet.Protect userinterfaceonly:=True, Password:="chalet53"

Workbooks("TABLEAU-OT.xlsm").Worksheets("Synthèse").Cells(ligne, 12) = Range("L5").Value
ActiveWorkbook.Save
Application.DisplayAlerts = False
ThisWorkbook.Close
Application.DisplayAlerts = True
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour TEMAGOULTFARID

J'ai un peu du mal à saisir. J'enregistre si j'ai trois conditions :
Condition1 L5 = Résolu
Condition2 MDP OK
Condition3 L5 =Clôturer

Donc dans l'état Cond1 et Cond3 sont incompatibles.

Si vous voulez Cond1 puis Cond3 il vous faut créer une variable public initialisée à 0, qui passe à 1 quand c'est résolu, puis faire :
J'enregistre si j'ai trois conditions :
Variable Public = 1
et Condition2 MDP OK
et Condition3 L5 =Clôturer
 

TEMAGOULTFARID

XLDnaute Occasionnel
Bonjour et merci d’être penché sur ma demande
cette fonctionne très bien
je ne peux pas mettre le fichier sur le site du fait qu'elle comporte des informations confidentielles
Actuellement, lorsque je clic sur un icone , la fenêtre Msgbox s'ouvre bien et me demande le mot de passe et c'est valider si la cellule L5 contient "Résolu" sinon la clôture impossible et dans l'immédiat tout fonctionne bien,
je que je cherche a faire en plus c'est lorsque je valide mon mot de passe avec la condition de la valeur de la cellule L5 "Résolu" , que cette même cellule passe en valeur "Clôturer" .
j’espère que c'est un peu plus clair.
Par avance, merci
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir,
Si j'ai bien compris, c'est simple :

VB:
[If ActiveSheet.Name = "OT-VIERGE" Then
MsgBox ("Vous ne pouvez pas clôturer Signalement PCC.xlsm"): Exit Sub
End If
question = InputBox("Merci de saisir le mot de passe", , , 1000, 3000)
If question <> "toto" Then MsgBox "Fermeture non autorisée": Exit Sub
a = Range("L5")
If Range("L5").Value <> "Résolu" Then
MsgBox ("Clôture impossible, la cellule L5 n'est pas à jour"): Exit Sub
End If


' Si on arrive ici, c'est que L5 contient "Résolu" et que le mot de passe est correct.
' Donc on met "Clôturé" en L5'
Range("L5")= "Clôturé"
Il y a juste la dernière ligne à rajouter dans votre code.
 

TEMAGOULTFARID

XLDnaute Occasionnel
Bonsoir,
Si j'ai bien compris, c'est simple :

VB:
[If ActiveSheet.Name = "OT-VIERGE" Then
MsgBox ("Vous ne pouvez pas clôturer Signalement PCC.xlsm"): Exit Sub
End If
question = InputBox("Merci de saisir le mot de passe", , , 1000, 3000)
If question <> "toto" Then MsgBox "Fermeture non autorisée": Exit Sub
a = Range("L5")
If Range("L5").Value <> "Résolu" Then
MsgBox ("Clôture impossible, la cellule L5 n'est pas à jour"): Exit Sub
End If


' Si on arrive ici, c'est que L5 contient "Résolu" et que le mot de passe est correct.
' Donc on met "Clôturé" en L5'
Range("L5")= "Clôturé"
Il y a juste la dernière ligne à rajouter dans votre code.
Bonjour ,
merci infiniment et en fin de compte je me suis servi de cette ligne autrement et qui fonctionne tres bien garce a vous
Prenez bien soins de vous et de vos proche
bien cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 182
Messages
2 086 003
Membres
103 084
dernier inscrit
Hervé30120