Clôturer un fichier selon condition

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 !

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😛5000").Locked = True Then GoTo suite Else Range("A1😛5000").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
 
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
 
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
 
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.
 
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
 
- 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
Microsoft 365 worksheet_change
Réponses
29
Affichages
250
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
503
Réponses
2
Affichages
129
Réponses
16
Affichages
1 K
Réponses
32
Affichages
1 K
Réponses
2
Affichages
405
Retour