mise en forme à partir de case à cocher

  • Initiateur de la discussion Initiateur de la discussion cycy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

cycy

Guest
bonsoir à tous ,
j'ai besoin d'aide pour modifier le mise en forme de cellules à partir de cases à cocher
un peut long à expliquer donc je joint un fichier qui sera plus parlant
merci
cyrille
 

Pièces jointes

Re : mise en forme à partir de case à cocher

Salut cycy, le Forum

pas sur d'avoir compris. regardes ce code a mettre dans le Module de la Feuille
Quid des mots et des couleurs qui se trouvent dessous les valeurs où il faut enlever les couleurs

Note que j'ai remplacé tes case à cocher par une police Wingdings qui se déclenche par Double Click

VB:
Option Explicit
Dim C As Range, X As Range
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.ScreenUpdating = False
If Not Application.Intersect(Target, Range("B44:B47,B51:B58")) Is Nothing Then
    Cancel = True
    Target = IIf(Target = "o", "þ", "o")
    For Each C In Range("B51:B60")
        For Each X In Range("Tab")
            If C.Offset(, 1).Value = X.Value Then
                X.Interior.ColorIndex = IIf(C = "o", xlNone, C.Offset(, 1).Interior.ColorIndex)
                X.Font.ColorIndex = IIf(C = "o", 2, 0)
            End If
        Next X
    Next C
End If
If Not Application.Intersect(Target, Range("B41")) Is Nothing Then
    Cancel = True
    For Each C In Range("B44:B47,B51:B58")
        C = "þ"
        Target.Offset(1, 0) = "o"
        Target = "þ"
    Next C
    For Each C In Range("B51:B60")
        For Each X In Range("Tab")
            If C.Offset(, 1).Value = X.Value Then
                X.Interior.ColorIndex = IIf(C = "o", xlNone, C.Offset(, 1).Interior.ColorIndex)
                X.Font.ColorIndex = IIf(C = "o", 2, 0)
            End If
        Next X
    Next C
End If
If Not Application.Intersect(Target, Range("B42")) Is Nothing Then
    Cancel = True
    For Each C In Range("B44:B47,B51:B60")
        C = "o"
        Target.Offset(-1, 0) = "o"
        Target = "þ"
    Next C
    For Each C In Range("B51:B60")
        For Each X In Range("Tab")
            If C.Offset(, 1).Value = X.Value Then
                X.Interior.ColorIndex = IIf(C = "o", xlNone, C.Offset(, 1).Interior.ColorIndex)
                X.Font.ColorIndex = IIf(C = "o", 2, 0)
            End If
        Next X
    Next C
End If
Application.ScreenUpdating = True
End Sub

fait des tests avec ce fichier et dis nous

Bonne Journée
 

Pièces jointes

Re : mise en forme à partir de case à cocher

bonjour et merci pour ton aide ,
ce que tu à réalisé fontionne très bien il y à juste une petite fontion qui ne marche
vu ce que tu à déjà réalisé ce doit être assez simple pour toi
merci
A+
cyrille
 

Pièces jointes

Re : mise en forme à partir de case à cocher

bonjour dull ,
je galère avec le fonction car j'ai besoin de l'adapter et je ne comprend pas les fonctions
1 ) je voudrais faire passer le tableau en haut de la feuille
2 ) rajouter des clients
3 ) rajouter des artisans
j'aimerais connaitre les zones à modifier afin de le modifier moi même
si c'est pas clair , n'hésite pas à me retourner un message pour plus d'explications
merci
cyrille
 
Re : mise en forme à partir de case à cocher

Bonjour ,
après avoir travaillé sur le fichier il y à quelques problèmes que je n'arrive pas à résoudre
si il t'est possible de regarder le fichier joint , j'ai fait le point sur mes questions qui seront très simples pour toi
merci d'avance
cyrille
 

Pièces jointes

Re : mise en forme à partir de case à cocher

Salut Cyrille, le Forum

1) Ok tu l'as fait 🙂

2) Pour ajouter des Artisans, regardes dans le code cette syntaxe: Range("B6:B17,F4:F17,I4:I17") tu peux ajouter des plages en les séparant d'une virgule ex:
en ajoutant la plage L4:L17 ça deviendra Range("B6:B17,F4:F17,I4:I17,L4:L17")

3) Pour ajouter des Clients c'est la même chose Range("B6:B10") deviendra Range("B6:B17")

ton Fichier en retour

Bonne Journée
 

Pièces jointes

Re : mise en forme à partir de case à cocher

bonjour dull
ok j'ai bien compris tout ce que tu m'à fait passer
une question subsiste pour moi
la mise en forme ( blanc sur fond blanc s'arrête à la colonne AP )
J'ai vu que en insérant des colonnes la zone s'agrandissait , donc je me débrouille mais je ne comprend pas ce qu'il faudrait écrire dans la macro
merci pour les éléments que tu m'à fait passer ça me sera très utile ( dans travail de tous les jours et pour épater mon chef )
cyrille
 
Re : mise en forme à partir de case à cocher

Re Cyrille

il n'a pas lieu de toucher à la Macro

La zone que tu décris est une plage nommée: Insertion/Noms/définir
elle s'appelle Tab et elle correspond à la plage "G25:AP200" Tu peux l'agrandir à volonté en changeant ta plage de cellule.

Et voila

Bonne Journée
 
Re : mise en forme à partir de case à cocher

Salut Cyrille, le forum

Salut cycy, le Forum

pas sur d'avoir compris. regardes ce code a mettre dans le Module de la Feuille
Quid des mots et des couleurs qui se trouvent dessous les valeurs où il faut enlever les couleurs...


J'en étais sur🙄

M'enfin fait un test sur le nouveau fichier

Bonne journée
 

Pièces jointes

Re : mise en forme à partir de case à cocher

bonjour DULL ,
j'espère que tu verras ce message
j'ai mis la macro en application , ça fonctionne
malheureusement , dans mon cas avec environ 30 cases à cocher et un très grand tableau il me faut attendre 1 minute à chaque coche
j'ai abandonné cette pour une solution plus simple
merci de t'être intéressé à mon problème
cordialement
cyrille
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
358
Réponses
10
Affichages
411
Réponses
15
Affichages
469
Retour