Mise en forme conditionnelle

Résolu/Fermé
Gregminko Messages postés 10 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 29 septembre 2011 - 29 sept. 2011 à 13:16
Gregminko Messages postés 10 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 29 septembre 2011 - 29 sept. 2011 à 17:56
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
A voir également:

11 réponses

hich24 Messages postés 1633 Date d'inscription mardi 2 octobre 2007 Statut Membre Dernière intervention 3 novembre 2024 753
29 sept. 2011 à 13:44
- 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
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 111
Modifié par Mike-31 le 29/09/2011 à 13:50
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.
0
Gregminko Messages postés 10 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 29 septembre 2011 1
29 sept. 2011 à 15:07
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?
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 111
Modifié par Mike-31 le 29/09/2011 à 15:57
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gregminko Messages postés 10 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 29 septembre 2011 1
29 sept. 2011 à 15:58
j'aimerai la protégée afin que les formules ne soient pas effacées par une mauvaise manip.
A+
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 111
29 sept. 2011 à 16:01
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
0
Gregminko Messages postés 10 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 29 septembre 2011 1
29 sept. 2011 à 16:05
le mot de passe est:"grenicia" c'est celui là que j'aimerai utiliser.
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 111
29 sept. 2011 à 16:15
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

0
Gregminko Messages postés 10 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 29 septembre 2011 1
29 sept. 2011 à 16:33
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.
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 111
29 sept. 2011 à 16:57
0
Gregminko Messages postés 10 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 29 septembre 2011 1
29 sept. 2011 à 17:56
Merci, ça marche.
A bientot.
0