Microsoft 365 Case à cocher apparait si une autre case est cochée

  • Initiateur de la discussion Initiateur de la discussion dacunha
  • 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 !

dacunha

XLDnaute Nouveau
Bonjour,
J'aimerais que vous puissiez m'aider dans la construction de mon tableau Excel.
En effet, j'ai différentes cases à cocher et j'aimerais que certaines n'apparaissent que si l'une des cases des cellules D6 à D9 sont elles-mêmes cochées (une seule d'entre elles).
Auriez-vous une solution à me proposer?
Je vous remercie.
 
Re

@dacunha
Voila pour les masquer
VB:
Sub RAZ_Bis()
Dim ws As Worksheet, c As Range
Set ws = Worksheets("ZCOUP")
For Each c In ws.UsedRange
    If Not c.CellControl Is Nothing Then
        If c.CellControl.Type = xlTypeCheckbox Then
            c.Value = False
            c.Interior.Color = vbWhite
            c.Font.Color = vbWhite
        End If
    End If
Next c
End Sub
Mais comment tu fais pour les retrouver ensuite si tu veux de nouveau les cocher ?
En fait, lorsque j'utilise les conditions, dès que je clique sur le bouton RESET, tout est décoché donc je les vois à nouveau. Le but du bouton RESET est de tout décocher après le traitement d'un dossier et avant de passer à l'autre dossier.
J'ai testé la macro mais je préfère laisser la précédente RAZ et finalement laisser la mise en forme conditionnelle car je trouve qu'en terme de présentation, c'est mieux. Désolée.
Me reste plus que le format date et je pense que je suis au bout !
Merci beaucoup
 
Dernière édition:
Re

@dacunha
Essaie ceci pour la date
(donc il faut de nouveau remplacer la macro évènementielle
Code:
'dernière version 13/4/25 - 19h00
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x, v_al
If Not Intersect(Range("B:D"), Target) Is Nothing Then '-< ici modif
If Target.Count > 1 Then Exit Sub
Select Case Target.CellControl.Type
Case xlTypeCheckbox
If Target.Value = False Then Exit Sub
For i = 3 To [datas].Columns.Count Step 2
x = Target.Address(0, 0)
If IsError(Application.Match(x, Feuil2.ListObjects(1).DataBodyRange.Columns(1), 0)) Then Exit Sub
If Not IsEmpty(Application.VLookup(x, [datas], i, 0)) Then
v_al = InputBox(Application.VLookup(x, [datas], i - 1, 0))
Select Case IsDate(v_al)
Case True
Range(Application.VLookup(x, [datas], i, 0)) = CDate(v_al)
Case False
Range(Application.VLookup(x, [datas], i, 0)) = v_al
Case Else
'
End Select
End If
Next
Case Else
'
End Select
End If
End Sub
 
Re

@dacunha
Essaie ceci pour la date
(donc il faut de nouveau remplacer la macro évènementielle
Code:
'dernière version 13/4/25 - 19h00
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x, v_al
If Not Intersect(Range("B:D"), Target) Is Nothing Then '-< ici modif
If Target.Count > 1 Then Exit Sub
Select Case Target.CellControl.Type
Case xlTypeCheckbox
If Target.Value = False Then Exit Sub
For i = 3 To [datas].Columns.Count Step 2
x = Target.Address(0, 0)
If IsError(Application.Match(x, Feuil2.ListObjects(1).DataBodyRange.Columns(1), 0)) Then Exit Sub
If Not IsEmpty(Application.VLookup(x, [datas], i, 0)) Then
v_al = InputBox(Application.VLookup(x, [datas], i - 1, 0))
Select Case IsDate(v_al)
Case True
Range(Application.VLookup(x, [datas], i, 0)) = CDate(v_al)
Case False
Range(Application.VLookup(x, [datas], i, 0)) = v_al
Case Else
'
End Select
End If
Next
Case Else
'
End Select
End If
End Sub
Re,
Tu es le plus fort. Merci beaucoup, ça fonctionne très bien.
Merci sincèrement de m'avoir aidé. Grace à toi je suis au bout de ce projet et je n'y serai jamais arrivé seule. Cela m'a appris plein de choses et certaines philosophies d'Excel. Je me sens grandie de cette expérience.
Je ne clôture pas directement ce sujet car je vais demain mettre en pratique ce fichier et si tout est ok, je clôturerai ce post (d'ailleurs on fait comment pour le mettre en résolu?)
Merci
 
Dernière édition:
Re

@dacunha
Il suffit de cliquer sur la coche verte à droite du message que tu estimes être la meilleure réponse à ta question.
Mais ce n'est nullement obligatoire.

Tant mieux si mon aide a pu t'être bénéfique et bravo à toi d'avoir mis les mains dans le cambouis d'Excel 😉
 
Re

@dacunha
Il suffit de cliquer sur la coche verte à droite du message que tu estimes être la meilleure réponse à ta question.
Mais ce n'est nullement obligatoire.

Tant mieux si mon aide a pu t'être bénéfique et bravo à toi d'avoir mis les mains dans le cambouis d'Excel 😉
Oh que oui, ton aide a été cruciale. Je suis fière d'avoir réussi et appris plein de choses même si pour la macro c'est pas encore ça ! Mais je ne désespère pas, je vais persévérer !
Je viens de m'apercevoir que même si je décoche, au niveau des cases à cocher et bouton radio que la cellule est verrouillée, elle est quand même verrouillée lorsque je protège la feuille (pour les bouton RESET et COPIER ça fonctionne bien, il restent accessible malgré la protection de la page). Pour mon ancien fichier, j'ai fait la même chose et cela fonctionnait, je conservais l'accès aux cases. Est-ce le fait que l'ancien fichier contienne des cases à cocher du menu développeur? As-tu une idée pour que je puisse protéger mon fichier tout en laissant l'accès aux cases à cocher + boutons radio.
Lorsque je teste mon tableau, je constate que le RESET remet à 0 les cases. Est-il possible qu'il mette aussi à 0 les colonnes J,K,L,M car lorsque je fais 2 fois le test avec la même case à cocher les champs restent présents et mon contact se complète dans un premier temps avec les champs connu le temps de compléter à nouveau les questions.

Merci et bonne soirée
 
Dernière édition:
Bonjour Staple1600,

Hier j'ai pu tester le tableau et j'ai modifié certaines petites choses que je n'avais pas vu à la construction de ce tableau.

Je suis toujours bloquée pour les cases à cocher, qui, malgré le fait qu'elles soient déverrouillées (format cellules et j'ai enlevé verrouillé), ce verrouillent lorsque je met la protection de la feuille. Je pense que la case à cocher n'est pas liée à la cellule, ça me donne cette impression car dans ma version précédente, les cases étaient liées et ça fonctionnait très bien.
Je ne peux pas partager ce tableau tant que je n'ai pas résolu ce problème car les risques d'écrasement de formules sont nombreux !

J'aimerais aussi, mais je ne sais pas si cela est possible, figer une zone visible afin que les personnes n'accèdent pas visuellement à certaines lignes ou colonnes, notamment les colonnes J, K, L, M et lignes après la ligne 33 car elles contiennent des éléments. J'avais masqué masqué avec ;;; ces cellules mais après je ne peux pas récupérer les éléments normalement. Le fait de contraindre une zone permettrait aussi de ne pas avoir à utiliser la barre de défilement du bas et de rester au bon endroit tout le temps.

Si tu as une idée pour ces 2 questions, je te remercie.
Bonne journée
 
Bonjour à tous

@dacunha
Juste en passant ma vision du cross posting et pour rejoindre @Jean-Eric et @Gégé-45550 :

Vu du demandeur c'est plus facile de poster tout azimut en attendant une "solution toute zone" MAIS vu de ceux qui cherchent des réponses c'est clairement se moquer d'eux.

Dans 9 fois sur 10 le demandeur ne viendra pas dire arrêter de chercher j'ai trouvé sur tel site cette réponse qui me convient

Je préfère clairement la solution "mono forum" pour sa question car il ne fait pas perdre du "temps de cerveau disponible" aux personnes qui prennent le temps de chercher et répondre à la question du demandeur.

De plus voici ce qu'en pense l'administrateur de ce site David Aubert

==> https://excel-downloads.com/threads/copier-donnees-de-excel-vers-word-signet.20056678/#post-20425799

Et pour finir voir ce qu'en pense la charte du forum le § 2.10

Et en venant sur le site tu as accepté la charte ....

Et perso voila pourquoi quand je vois du cross posting je laisse tomber la demande sans chercher plus loin et j'essaie d'aider un autre fil...

Et ce n'est pas pour te montrer du doigt plus qu'un autre car on ne cherche pas à fliquer toutes les demandes mais souvent les personnes qui aident sont aussi sur plusieurs sites et quand ils voient du cross posting d'une demande souvent ils le signalent sur les 2 sites.

Bonne lecture
Bjr, ça c'est très bien dit ! 🙂
 
- 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

Discussions similaires

Réponses
18
Affichages
837
Réponses
11
Affichages
814
Retour