XL 2010 cases à cocher

letroubadour

XLDnaute Occasionnel
bonjour

en colonne B est en principe alimentée par une formule, le résultat est 1 ou bien vide.
Si le résultat est 1 alors je veux pouvoir agir sur mes cases d'options pour alimenter le colonne D et si B est vide alors cases d'option vide ainsi que le cases correspondante en D

merci à tous

le troubadour
 

Fichiers joints

herve62

XLDnaute Barbatruc
Bonjour
Une idée de départ , par contre c'est du VBA je pense impossible de faire autre !!
J'utilise B2 pour ta case formule test=1 , teste un peu en modifiant A1 B1 pour avoir ou pas B2=1
C'est sur le principe connu de mémoriser à l'ouverture la valeur de la cellule concernée qui va changer
Si c'est Ok il faudra adapter à ton cas précisément
 

Fichiers joints

letroubadour

XLDnaute Occasionnel
Merci Hervé pour ta réponse mais ça ne correspond pas tout à fait à ma demande.
Je veux rester sur des cases d'option pour basculer d'un à l'autre

encore merci

Le troubadour
 

letroubadour

XLDnaute Occasionnel
bonjour

je veux rester comme dans mon fichier sur des cases d'option , les deux cases sont associées et non pas sur des cases à cocher où il faut les cocher ou les décocher
 

letroubadour

XLDnaute Occasionnel
Ok , je viens de comprendre, ça prends forme, merci pour ton aide
en Pj le nouveau fichier.
comment afficher le cases d'option sans avoir à cliquer dans une des cellules de la colonne B
et comment le faire sur un mois complet, faut -il répéter la macro trente et une fois ?

merci

le troubadour
 

Fichiers joints

herve62

XLDnaute Barbatruc
Normalement il ne faut pas cliquer dans la col B ???
Reprend ce dernier fichier joint ici car celui que tu as modifié ne va pas , tu ne respectes pas les groupements
avec les boutons , mieux vaut repartir sur des bases nouvelles . A la rigueur un nouveau fichier avec mes macros
et tes souhaits REELS ! dans les feuilles ,serait mieux pour continuer avec affectations des groupes et boutons
comme variable ; De 1 à 31 ne va pas être simple .... mais bon , à voir avec des Dim de tableaux .. peut être ??
Là je ne mets que des exemples bidon pour que tu vois , mais mon "truc" marche très bien !!!
 

Fichiers joints

letroubadour

XLDnaute Occasionnel
bonjour
en PJ ton dernier fichier avec mes voeux.
Col A les jours , en B en retrouve soit un 1 ou bien vide. et en G la cellule contrôlée par la case d'option ( 1 ou 2).
effectivement c'est nickel comme ça, ce que je veux c'est le reproduire sur les 30 jours suivants

merci pour ton aide et ta patience
 

Fichiers joints

sousou

XLDnaute Accro
Bonjour à vous deux.
Une solution qui fabrique les boxs et les boutons

J'ai passer outre la vérif d'Hervé, pas bien compris à quoi elle sert!
Je ne répond pas peut-être exactement à tes besoins, mais tu peux t'inspirer de ce que j'ai fait
 

Fichiers joints

letroubadour

XLDnaute Occasionnel
bonjour
merci sousou pour ton fichier , c'est exactement ça.
Il me faudrait encore quelques petite choses pour finaliser le projet.
- lorsque une case en B est vide la case correspondante en G doit l'être également.
- enlever jour 1 , jour 2, etc... sur les box
- et enlever le cadre noir de la box

sur la macro il y a une sauvegarde , est ce que c'est nécessaire ?

encore merci
 

Fichiers joints

ChTi160

XLDnaute Barbatruc
Bonjour
Bonjour le Fil ,(sousou)
Une autre approche via la procédure événementielle "Worksheet_Change"
Issue de l'adaptation de la procédure de "sousou"
VB:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
With Worksheets("feuil1")
Derlgn = .Cells(.Rows.Count, 1).End(xlUp).Row
If Intersect(Target, .Range(.Cells(2, 2), .Cells(Derlgn, 2))) Is Nothing Or Target.Rows.Count > 1 Then Exit Sub
On Error Resume Next
Set C = Target
    R = C.Row
    Application.ScreenUpdating = False
        For i = 1 To 2 'on va Boucler pour créer les OptionButton
         If C = 1 Then ' Si la valeur entree est = 1
            gauche = C.Offset(0, 1).Left
                 haut = C.Top + 2
            gauche = gauche + IIf(i = 1, 5, 60)
            Set OptB = .OptionButtons.Add(gauche, haut, 50, 5) 'On crée un OptionButton
             With OptB  'Avec l'optionButton ainsi crée
               .Characters.Text = IIf(i = 1, "Taux plein", "1/2 taux") 'On définit le texte
               .Name = "OptB" & i * R 'On le nomme
               .LinkedCell = C.Offset(0, 5).Address 'on lui affecte la Cellule Liée
             End With
           Else 'Si autre valeur
               .Shapes("OptB" & i * R).Delete 'On supprime les OptionButton
            C.Offset(0, 5) = "" 'On vide la cellule
         End If
        Next
  End With
  Application.ScreenUpdating = True
End Sub
Bonne fin de journée
jean marie
 

herve62

XLDnaute Barbatruc
Bonsoir
Eh bin , un peu de courage et tu continues comme tu as fait mais sur 30 jours !!! pour bien il faudrait
que tous les groupes et boutons se suivent de 1 +1
ex comme dans le fichier : Zone 30 = bouton 28 & 29
donc on devrait avoir Zone 31 = 30 & 31 etc ..
C'est pour affecter des variables et boucler
Donc effectue ce travail de base sur ce fichier , ensuite je ferais ta macro sous réserve que l'on puisse mémoriser
31 valeurs à l'ouverture du fichier afin de comparer les modif de chaque cellule

PS: Je ne vois pas la formule en B ? puisque tu as dit que celle ci change par calcul
et qu'il ne faut pas cliquer sur une cellule ?
 

letroubadour

XLDnaute Occasionnel
j'essaie de l'adapter forcément ça ne fonctionne pas
ce qui correspond à la colonne B se trouve en AI (col 35) la colonne G se trouve en AK , les jours en C et le tableau commence en ligne 9
 

herve62

XLDnaute Barbatruc
Désolé , j'étais en train de répondre pendant la réponse de Sousou qui fonctionne bien
Sauf que cela ne répond pas à ton souhait !!!! En effet Tu demandes que les boutons ne doivent s'afficher que
en fonction du RESultat en B ( formule ex B2= E2-E1) , et non pas en y entrant une valeur
comment afficher le cases d'option sans avoir à cliquer dans une des cellules de la colonne B
Raison pour laquelle je suis passé par 2 événements de feuille ( calculate et change)
Donc la méthode est certainement bonne mais à revoir !!
 

Discussions similaires


Haut Bas