Re : protégé un bouton
Bonjour,
Le code est parfait, il y a impression mais comme tu peux le voir je n'ai pas de bouton uniquement pour print mais bien une fonction print alors que le classeur est protégé contre l'impression mais ce bouton est aussi protégé.
Ma question est donc comment ne pas entré 2 fois le même code? est-ce possible? :
Sub envoyer_Click1()
strName = InputBox(Prompt:="Entrer Votre Code", _
Title:="ACCES", Default:="")
If strName = "" Or _
strName = vbNullString Then
Exit Sub
Else
Select Case strName
Case "Yohan"
End Select
End If
If MsgBox("Etes vous sûr?", vbYesNo) = vbYes Then
Dim Nom As String, Fichier As String, Chemin As String, NomFeuil As String
Dim Ws As Worksheet
'Nom à donner au nouveau classeur
Nom = Sheets("Commande").Range("G4").Value
'ThisWorkbook.Path permet de recuperer le chemin du classeur actif
Fichier = Nom & Format(Date, "yyyy-mm-dd") & "_" & ".xlsm"
'Enregistrement au format normal du classeur
Chemin = "H:\Gestion de production\Commande Archivage\"
ActiveWorkbook.SaveAs Chemin & Fichier
If LCase(Sheets("Commande").Range("G4").Value) Like "*xxx*" Then
ActiveWorkbook.SendMail Recipients:="xxx@xxx.be"
Else
End If
If LCase(Sheets("Commande").Range("BC1").Value) Like "*stephanie*" Then
ActiveWorkbook.SendMail Recipients:="xxx@xxx.be"
Else
End If
If LCase(Sheets("Commande").Range("BC1").Value) Like "*marie*" Then
ActiveWorkbook.SendMail Recipients:="xxx@xxx.be"
Else
End If
If LCase(Sheets("Commande").Range("BC1").Value) Like "*elena*" Then
ActiveWorkbook.SendMail Recipients:="xxx@xxx.be"
Else
End If
MsgBox ("Commande validée (délai à respecter)")
Sheets("Feuil1").Range("VDX1000").Value = "" 'On invalide l'impression
strName = InputBox(Prompt:=" Entrer Votre Code", _
Title:="ACCES", Default:="")
If strName = "" Or _
strName = vbNullString Then
Exit Sub
Else
Select Case strName
Case "Yohan"
Sheets("Feuil1").Range("VDX1000").Value = "1" 'On valide l'impression.....
ActiveSheet.PageSetup.PrintArea = "$A$1:$H$53" 'ICI TA MACRO.....
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
Case Is <> "Yohan"
CreateObject("Wscript.shell").Popup " ACCES REFUSE ", 1, " ERREUR", vbCritical
Exit Sub
End Select
End If
p = Sheets("Commande").Range("g4").Value
t = Sheets("Commande").Range("b4").Value
r = Sheets("Commande").Range("b4")
NomFeuil = Range("H5").Value
l = "H:\Gestion de production\Commande Archivage\" & p & Format(Date, "yyyy-mm-dd") & "_" & ".xlsm"
'mod i,j,k,y,z
y = Sheets("Commande").Range("g5").Value
Sheets("Commande").Range("Z1").Value = DateValue(Sheets("Commande").Range("G5").Value & " " & Sheets("Commande").Range("H5").Value)
e = Sheets("Commande").Range("Z1").Value
Workbooks.Open Filename:="\\Serveur\documents\GESTION DE PRODUCTION\Analyse\Analyse du système.xlsm", UpdateLinks:=0
For n = 1 To 10000
If Sheets("Informations").Range("B" & n) = r Then
Sheets("Informations").Range("E" & n) = e
Cells.Hyperlinks.Add Anchor:=Sheets("Informations").Range("A" & n), Address:=l, TextToDisplay _
:=p & t
End If
Next n
ActiveWorkbook.Save
ActiveWindow.Close
Workbooks.Open Filename:="H:\GESTION DE PRODUCTION\Planning.xlsm", UpdateLinks:=0
ActiveWorkbook.Sheets(NomFeuil).Select
Range("a1").Select
j = 1
For j = 1 To 31
If j = y Then
ActiveCell.Offset(0, 1).Select
j = 32
Else: ActiveCell.Offset(1, 0).Select
End If
Next j
z = 1
For z = 1 To 14
If ActiveCell.Value = "" Then
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
l, TextToDisplay _
:=p & t
z = 15
Else: ActiveCell.Offset(0, 1).Select
End If
Next z
Windows("Planning.xlsm").Activate
ActiveWorkbook.Save
ActiveWindow.Close
ThisWorkbook.Close savechanges:=False
Application.Quit
Else
End If
End Sub
Merci pour ton aide...
Yohan