XL 2019 Cellule verrouillée et feuille protégée

sersib

XLDnaute Junior
Bonjour,
J'ai une cellule verrouillée qui se renseigne par le biais d'un bouton avec une macro.
Quand je protège la feuille, la cellule ne se renseigne plus :confused:
Y'a t'il une solution ou astuce ?
Merci beaucoup.
 
Solution
Merci @Gégé-45550 , je comprends mais je vois pas trop où et comment ?
La macro:

Private Sub CommandButton2_Click()
Dim nf As String
deb = "FC" & Right(Year(Now), 2) & Right(Month(Now) + 100, 2) & "-"
On Error Resume Next
canal = FreeFile
Open chemin & "C:\Test\num.txt" For Input As #canal
Input #canal, nf
Close #canal
If Left(nf, 7) = deb Then
nf = deb & Format(Val(Right(nf, 2) + 1), "00")
Else
nf = CStr(deb & "01")
End If
Open chemin & "C:\Test\num.txt" For Output As #canal
Print #canal, nf
Close #canal
Sheets("Test").[E4] = nf
End Sub
Re
NB : Pour insérer du code, c'est mieux d'utiliser la balise adéquate (</> ci-dessus)
Comme ça :
VB:
Private Sub CommandButton2_Click()

Dim nf As String

deb = "FC" & Right(Year(Now), 2)...

Gégé-45550

XLDnaute Accro
Bonjour,
J'ai une cellule verrouillée qui se renseigne par le biais d'un bouton avec une macro.
Quand je protège la feuille, la cellule ne se renseigne plus :confused:
Y'a t'il une solution ou astuce ?
Merci beaucoup.
Bonjour,
La macro activée par le bouton doit :
  1. Déprotéger la feuille (MaFeuille.Unprotect motdepasse)
  2. Renseigner la cellule cible
  3. Reprotéger la feuille (MaFeuille.Protect motdepasse)
Cordialement,
 

sersib

XLDnaute Junior
Bonjour,
La macro activée par le bouton doit :
  1. Déprotéger la feuille (MaFeuille.Unprotect motdepasse)
  2. Renseigner la cellule cible
  3. Reprotéger la feuille (MaFeuille.Protect motdepasse)
Cordialement,
Merci @Gégé-45550 , je comprends mais je vois pas trop où et comment ?
La macro:

Private Sub CommandButton2_Click()
Dim nf As String
deb = "FC" & Right(Year(Now), 2) & Right(Month(Now) + 100, 2) & "-"
On Error Resume Next
canal = FreeFile
Open chemin & "C:\Test\num.txt" For Input As #canal
Input #canal, nf
Close #canal
If Left(nf, 7) = deb Then
nf = deb & Format(Val(Right(nf, 2) + 1), "00")
Else
nf = CStr(deb & "01")
End If
Open chemin & "C:\Test\num.txt" For Output As #canal
Print #canal, nf
Close #canal
Sheets("Test").[E4] = nf
End Sub
 

Gégé-45550

XLDnaute Accro
Merci @Gégé-45550 , je comprends mais je vois pas trop où et comment ?
La macro:

Private Sub CommandButton2_Click()
Dim nf As String
deb = "FC" & Right(Year(Now), 2) & Right(Month(Now) + 100, 2) & "-"
On Error Resume Next
canal = FreeFile
Open chemin & "C:\Test\num.txt" For Input As #canal
Input #canal, nf
Close #canal
If Left(nf, 7) = deb Then
nf = deb & Format(Val(Right(nf, 2) + 1), "00")
Else
nf = CStr(deb & "01")
End If
Open chemin & "C:\Test\num.txt" For Output As #canal
Print #canal, nf
Close #canal
Sheets("Test").[E4] = nf
End Sub
Re
NB : Pour insérer du code, c'est mieux d'utiliser la balise adéquate (</> ci-dessus)
Comme ça :
VB:
Private Sub CommandButton2_Click()

Dim nf As String

deb = "FC" & Right(Year(Now), 2) & Right(Month(Now) + 100, 2) & "-"

On Error Resume Next

canal = FreeFile

Open chemin & "C:\Test\num.txt" For Input As #canal

Input #canal, nf

Close #canal

If Left(nf, 7) = deb Then

nf = deb & Format(Val(Right(nf, 2) + 1), "00")

Else

nf = CStr(deb & "01")

End If

Open chemin & "C:\Test\num.txt" For Output As #canal

Print #canal, nf

Close #canal
Sheets("Test").Unprotect motdepasse ' <= c'est ici que ça se passe ; remplacer motdepasse par le vrai password
Sheets("Test").[E4] = nf
Sheets("Test").Protect motdepasse 'c'est ici que ça finit
End Sub
Cordialement,
 

Discussions similaires

Réponses
7
Affichages
351

Statistiques des forums

Discussions
312 231
Messages
2 086 443
Membres
103 211
dernier inscrit
pierrecharbs