Mise en forme conditionnelle
Résolu
Gregminko
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
Gregminko Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
Gregminko Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je reviens sur le forum demander votre aide.
j'aimerai faire une mise en forme automatique. en effet, je souhaite que dans la cellule C1, on écrit "1er", les colonnes D, E et F soient masquées et si on écrit en C1 "2eme", laes colonnes E et F soient masquées et si en C1 c'est "3eme", toutes les colonnes s'affichent.
https://www.cjoint.com/?AIDnjoJWd4H
Merci de votre aide
Je reviens sur le forum demander votre aide.
j'aimerai faire une mise en forme automatique. en effet, je souhaite que dans la cellule C1, on écrit "1er", les colonnes D, E et F soient masquées et si on écrit en C1 "2eme", laes colonnes E et F soient masquées et si en C1 c'est "3eme", toutes les colonnes s'affichent.
https://www.cjoint.com/?AIDnjoJWd4H
Merci de votre aide
A voir également:
- Mise en forme conditionnelle
- Mise en forme conditionnelle excel - Guide
- Mise en forme tableau croisé dynamique - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Excel liste déroulante conditionnelle - Guide
11 réponses
- pour masqué les colonne il vous faut passer par les macro ( programmation VBA )
- cependant si vous souhaité seulement masqué les info sur les colonne désiré il suffit de mettre un format conditionnelle en BLANC pour la police si la condition est vrai
- cependant si vous souhaité seulement masqué les info sur les colonne désiré il suffit de mettre un format conditionnelle en BLANC pour la police si la condition est vrai
Salut,
Clic droit sur la feuille concernée/Visualiser le code et colle ce code
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C1")) Is Nothing Then
If [C1] = "1er" Then Columns("D:F").EntireColumn.Hidden = True
If [C1] = "2eme" Then Columns("E:F").EntireColumn.Hidden = True And Columns("D").EntireColumn.Hidden = False
If [C1] = "3eme" Then Columns("D:F").EntireColumn.Hidden = False
End If
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Clic droit sur la feuille concernée/Visualiser le code et colle ce code
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C1")) Is Nothing Then
If [C1] = "1er" Then Columns("D:F").EntireColumn.Hidden = True
If [C1] = "2eme" Then Columns("E:F").EntireColumn.Hidden = True And Columns("D").EntireColumn.Hidden = False
If [C1] = "3eme" Then Columns("D:F").EntireColumn.Hidden = False
End If
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Avec le code ça marche sauf que ma feuille doit être protégée et la cellule C1 seule sera modifiable. Quand je protège la feuille, j'ai un message "erreur d'exécution 1004 impossible de définir la propriété hidden"
y a t-il une solution pour cela?
y a t-il une solution pour cela?
Re,
normal on ne peut modifier une feuille protégé, ta feuille est elle protégée avec un mot de passe !
il faut inclure la déprotection et la reprotection dans le code
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
normal on ne peut modifier une feuille protégé, ta feuille est elle protégée avec un mot de passe !
il faut inclure la déprotection et la reprotection dans le code
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui je comprends bien, mais as tu déjà un mot de passe protéger ou déprotéger ta feuille ou veux tu en prévoir un dans le code
Alors voilà ton code, pour le mot de passe tu peux le changer comme tu veux en le mettant entre guillemet.
soit tu déprotéges ta feuille, puis tu changes le mot de passe dans le code pour la déprotection et la protection
ou tu le fais en deux temps, dans le code tu changes le mot de passe en fin de code pour la protection, tu actives le code en changeant la valeur en C1 puis tu reviens dans le code et tu changes le mot de passe pour la déprotection en début de code
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C1")) Is Nothing Then
ActiveSheet.Unprotect ("grenicia")
If [C1] = "1er" Then Columns("D:F").EntireColumn.Hidden = True
If [C1] = "2eme" Then Columns("E:F").EntireColumn.Hidden = True And Columns("D").EntireColumn.Hidden = False
If [C1] = "3eme" Then Columns("D:F").EntireColumn.Hidden = False
ActiveSheet.Protect Password:="grenicia"
End If
End Sub
soit tu déprotéges ta feuille, puis tu changes le mot de passe dans le code pour la déprotection et la protection
ou tu le fais en deux temps, dans le code tu changes le mot de passe en fin de code pour la protection, tu actives le code en changeant la valeur en C1 puis tu reviens dans le code et tu changes le mot de passe pour la déprotection en début de code
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C1")) Is Nothing Then
ActiveSheet.Unprotect ("grenicia")
If [C1] = "1er" Then Columns("D:F").EntireColumn.Hidden = True
If [C1] = "2eme" Then Columns("E:F").EntireColumn.Hidden = True And Columns("D").EntireColumn.Hidden = False
If [C1] = "3eme" Then Columns("D:F").EntireColumn.Hidden = False
ActiveSheet.Protect Password:="grenicia"
End If
End Sub
j'essaie mais ça ne marche pas. j'avoue que je suis un novice de la VBA. Même la proposition de hich24, je ne comprends rien avec un exemple, je comprendrai mieux. Si vous modifiez le document que j'ai joint, je comprendrai mieux.