Bonjour,
J'ai un feuille avec différentes étapes, une option à définir, puis un bouton.
L'idée : on clique et du coup on affiche l'étape suivante situé dans les lignes suivante, ainsi de suite.
Voici mon code commenté :
Sub Ouverture()
'
' OBJET : faire les actions selon valeur C4
' AFFECTATION : BOUTON D2
' si C4=0 fermer
If Range("C4").Value = 0 Then
ActiveWorkbook.Close
End If
' si C4>0
If Range("C4").Value > 0 Then
' ouvrir tous les fichiers du dossier
' inscrire 1 en sécurité
ActiveWorkbook.Unprotect
Sheets("Sécurité").Visible = True
Sheets("Sécurité").Select
Range("B16").Select
ActiveCell.Value = 1
ActiveSheet.Visible = False
ActiveWorkbook.Protect Structure:=True, Windows:=True
' positionner dans le process suivant
Sheets("Avancement").Select
ActiveSheet.Unprotect
Rows("7:10").Select
Selection.EntireRow.Hidden = False
ActiveSheet.Protect
Range("C9").Select
' étirer le masque transparent
' sauvegarder
ActiveWorkbook.Save
End If
End Sub
Sub Changementfeuille()
'
' OBJET : faire les actions selon valeur C9
' AFFECTATION : BOUTON D8
' si C9=C15 ouvrir la feuille pour actions
ActiveWorkbook.Unprotect
Sheets("Langue").Visible = True
Sheets("Langue").Select
Range("B16").Select
Sheets("Langue").Visible = False
ActiveWorkbook.Protect Structure:=True, Windows:=True
' reprendre la macro "sinon" dans la macro de validation de la saisie de "Langue"
' sinon
' inscrire 1 en sécurité
ActiveWorkbook.Unprotect
Sheets("Sécurité").Visible = True
Sheets("Sécurité").Select
Range("B17").Select
ActiveCell.FormulaR1C1 = "1"
Sheets("Sécurité").Visible = False
ActiveWorkbook.Protect Structure:=True, Windows:=True
' positionner dans le process suivant
Sheets("Avancement").Select
Rows("10:19").Select
Selection.EntireRow.Hidden = False
Range("C18").Select
' étirer le masque transparent
' sauvegarder
ActiveWorkbook.Save
End Sub
J'ai un souçi , le débogueur me dit erreur au niveau de la ligne en rouge : et j'ai un pop up : "impossible de définir la propriété de Hidden de la propriété de la classe Range"
Merci pour vos conseil!
P.S. : Sécurité est un onglet protégé, quand une étape est fini, on obtient un dans une cas qui est appelée pour permettre l'accès à la suite)
J'ai un feuille avec différentes étapes, une option à définir, puis un bouton.
L'idée : on clique et du coup on affiche l'étape suivante situé dans les lignes suivante, ainsi de suite.
Voici mon code commenté :
Sub Ouverture()
'
' OBJET : faire les actions selon valeur C4
' AFFECTATION : BOUTON D2
' si C4=0 fermer
If Range("C4").Value = 0 Then
ActiveWorkbook.Close
End If
' si C4>0
If Range("C4").Value > 0 Then
' ouvrir tous les fichiers du dossier
' inscrire 1 en sécurité
ActiveWorkbook.Unprotect
Sheets("Sécurité").Visible = True
Sheets("Sécurité").Select
Range("B16").Select
ActiveCell.Value = 1
ActiveSheet.Visible = False
ActiveWorkbook.Protect Structure:=True, Windows:=True
' positionner dans le process suivant
Sheets("Avancement").Select
ActiveSheet.Unprotect
Rows("7:10").Select
Selection.EntireRow.Hidden = False
ActiveSheet.Protect
Range("C9").Select
' étirer le masque transparent
' sauvegarder
ActiveWorkbook.Save
End If
End Sub
Sub Changementfeuille()
'
' OBJET : faire les actions selon valeur C9
' AFFECTATION : BOUTON D8
' si C9=C15 ouvrir la feuille pour actions
ActiveWorkbook.Unprotect
Sheets("Langue").Visible = True
Sheets("Langue").Select
Range("B16").Select
Sheets("Langue").Visible = False
ActiveWorkbook.Protect Structure:=True, Windows:=True
' reprendre la macro "sinon" dans la macro de validation de la saisie de "Langue"
' sinon
' inscrire 1 en sécurité
ActiveWorkbook.Unprotect
Sheets("Sécurité").Visible = True
Sheets("Sécurité").Select
Range("B17").Select
ActiveCell.FormulaR1C1 = "1"
Sheets("Sécurité").Visible = False
ActiveWorkbook.Protect Structure:=True, Windows:=True
' positionner dans le process suivant
Sheets("Avancement").Select
Rows("10:19").Select
Selection.EntireRow.Hidden = False
Range("C18").Select
' étirer le masque transparent
' sauvegarder
ActiveWorkbook.Save
End Sub
J'ai un souçi , le débogueur me dit erreur au niveau de la ligne en rouge : et j'ai un pop up : "impossible de définir la propriété de Hidden de la propriété de la classe Range"
Merci pour vos conseil!
P.S. : Sécurité est un onglet protégé, quand une étape est fini, on obtient un dans une cas qui est appelée pour permettre l'accès à la suite)