Travail d'un formulaire avec case à cocher

non c'est moi qui suis désolé d'êtr eu peu ignorant et maladroit...

l'exemple que je vous ai envoyé est une copie de la feuillle eqt-epci comme demandé mais sans changé le nom sinon dans mon formulaire initial ou je travaille, c'est EQT-EPCI. ce matin, en changeant les A pour arriver à A6... je revois les cases... votre résumé m'a aidé

existe t il, une possibilité d'avoir une case qui décoche toute les cases au lieu de cliqué une à une si on veut recommencer?

non c'est moi qui suis désolé d'êtr eu peu ignorant et maladroit..

Je n'irais pas jusque là tout de même.
Pensez simplement que si vous utilisez VBA cela nécessite toujours d'être très précis et bien struturé dans les feuilles.


l'exemple que je vous ai envoyé est une copie de la feuillle eqt-epci comme demandé mais sans changé le nom sinon dans mon formulaire initial ou je travaille, c'est EQT-EPCI. ce matin, en changeant les A pour arriver à A6... je revois les cases... votre résumé m'a aidé

Ok mais je suis certain que vous avez fait un copier - coller dans la feuille dans un nouveau fichier. Et ce n'était pas ce que vous avait écrit de faire. Mais passons...

existe t il, une possibilité d'avoir une case qui décoche toute les cases au lieu de cliqué une à une si on veut recommencer?

Ce que l'on faire c'est que si vous double-cliquez sur une case cochée, cela décochera la case. Du coup, les 3 cases seront décochées.

Question
: Ok pour vous ?


Autre point. Vous avez fusionné les lignes 1 à 5. C'est aussi cela vous a posé le souci de la couleur.
Pourquoi ne pas avoir utilisé la ligne 1 uniquement pour le titre ?
Je vous suggère de faire toutes vos feuilles concernées par les cases à cocher suivant la structure dont photo ci-dessous

presse papier02

Cela donnerait que :
- la ligne est la référence couleur (au lieu de A)
- La ligne est la première ligne contenant les cases à cocher

Question : Votre avis sur ce point.

tableau 1

j'ai fait comme vous m'avez dit ... j'ai refait un fichier copiant l'ancien et refait vos disposition, ce qui donne ca pour toutes les feuilles concernées.

j'aimerais un bouton "décocher les case" et une fois cliqué dessus toutes les cases de la feuille sont décochées, est ce possible? le but étant de ne pas devoir décocher tout une à une ou toutes les lignes

j'avais fusionné les cases pour avoir un truc plus grand ... méconnaissance excel tout simplement

j'aimerais un bouton "décocher les case" et une fois cliqué dessus toutes les cases de la feuille sont décochées, est ce possible? le but étant de ne pas devoir décocher tout une à une ou toutes les lignes

Cela va faire du changement mais c'est possible oui.
Est-ce que cela serait bon si on supprime simplement les info dans les colonnes B à D. Donc en gros on efface toutes les cases à cocher via le bouton

Je vous ai déjà préparé le code pour que si vous faites un double click sur une cellule déjà cochée, elle sera décochée et les colonnes N à P seront remise à 0 (donc c'est à chaque ligne bien entendu)

Ce fichier est adressé a plusieurs centaines de personnes dans les differents ministeres. C'est plus parlant d'avoir un bouton genre useform si j'ai pu bien lire et de cliquer simmlement sans d'autres demarches... c'est juste plis visuel

Je n'ai pas compris ce que vous voulez dire par bouton "genre userform" (Juste pour votre info, userform et bouton, ce n'est pas la même chose)

Par contre pouvez-vous me confirmer que votre bouton pour la réinitialisation sera placé sur chaque feuille où vous avez des cases à cocher ?

oui une case qui décoche tous celles d'une feuille et donc chaque feuille aurait ce principe. OK j'ai voulu faire le malin par mes differenctes lectures ... donc useform n'est pas cela .... j'ai cru voir que par exemple, on pouvait avoir un carré ou rectangle sur lequel on écrit par exemple "décocher les cases" et en cliquant sur cette forme on y arrive ... c esthétique

oui une case qui décoche tous celles d'une feuille et donc chaque feuille aurait ce principe.

Heu.... une case ?

on pouvait avoir un carré ou rectangle sur lequel on écrit par exemple "décocher les cases"

C'est le principe du bouton placé sur vos feuilles et que vous pouvez par exemple créer via la menu Insertion --> Illustration --> Formes. ensuite en faisant un click droite sur le bouton vous pouvez en changer l'aspect.

exemple dans votre feuille :

presse papier02
tableau 1

comme ceci ... cette case permettrait de décocher toutes les cases cochées en une fois et recommencer le travail

Vous la dessinez comment cette case ? C'est un bouton sans remplissage couleur ?
c'est à vous de voir mais ce n'est pas très parlant à mon avis notamment sur ce à quoi la case sert

Non je vois cela comme un rectangle beige ou blanc cassé avec texte (decochez toutes les cases). Ceci permet qu'une fois cliqué sur celle ci , toutes les cases cochées dans les cononnes B a D soient décochées pour facilité

Ok. Bon vous allez devoir faire des changements. Donc je vous invite à bien suivre point par point ce que je vous écris ci-après

Etape 1
- Allez dans Thisworbook
- Supprimez complétement le code que je vous ai donné et remplacez la par celui ci-dessous

Option Explicit
Private Sub Workbook_SheetBeforeDoubleClick(ByVal sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim dlg As Integer
Dim i As Byte

Application.ScreenUpdating = False

Call controle_feuille_active(nom)

'si variable nom est vide on sort de la macro
If nom = "" Then Cancel = True: Exit Sub

'définir dernière ligne de colonne A
dlg = Sheets(nom).Range("A" & Rows.Count).End(xlUp).Row

'vérifier si case à cocher se trouve bien en colonne B à D
If Not Intersect(Target, Sheets(nom).Range("B5:D" & dlg)) Is Nothing Then

    'cas si double click sur une case déjà cochée
    If Target.Value = "R" Then
        With Sheets(nom).Cells(Target.Row, Target.Column)
            .Font.Name = "Wingdings 2"
            .Font.Size = 12
            .Font.ColorIndex = xlAutomatic
            .Value = "£"
        End With
        Sheets(nom).Range("N" & Target.Row & ":P" & Target.Row) = 0
        Cancel = True
        Exit Sub
    End If

    'cas si double clic sur une case décochée
    '1.réinitialisation des 3 cases à cocher
    With Sheets(nom).Range("B" & Target.Row & ":D" & Target.Row)
        .Font.Name = "Wingdings 2"
        .Font.Size = 12
        .Font.ColorIndex = xlAutomatic
        .Value = "£"
    End With
    Sheets(nom).Range("N" & Target.Row & ":P" & Target.Row) = 0 'remise à 0 des colonnes N a P

    '2.cochage de la case double cliquée
    With Target
        .Font.Name = "Wingdings 2"
        .Font.Size = 12
        .Font.ThemeColor = Sheets(nom).Range("A2").Interior.ThemeColor
        .Value = "R"
    End With
    Cancel = True
    Target.Offset(0, 12) = 1
End If
Application.ScreenUpdating = True
End Sub

Etape 2
- Allez dans l'éditeur VBA
- Dans le menu, cliquez sur INSERTION et choisissez MODULE
- Collez toutes les lignes de code ci-dessous

Const feuille As String = "PGBET-CST,SO-CS,LTG,IE,AC,AB,AP-ergo,EQT-EPCI"
Public nom As String

Sub controle_feuille_active(nom As String)
Dim f() As String
Dim i As Byte

f = Split(feuille, ",")

For i = LBound(f) To UBound(f)
    If ActiveSheet.Name = f(i) Then
        nom = f(i)
        Exit For
    End If
Next i

End Sub

Sub Reinit_Casecochee()
Dim dlg As Integer

Call controle_feuille_active(nom)
'si variable nom est vide on sort de la macro
If nom = "" Then Cancel = True: Exit Sub

'définir dernière ligne de colonne A
dlg = Sheets(nom).Range("A" & Rows.Count).End(xlUp).Row

    With Sheets(nom).Range("B5:D" & dlg) 'edit : remplacé B2 par B5
        .Font.Name = "Wingdings 2"
        .Font.Size = 12
        .Font.ColorIndex = xlAutomatic
        .Value = "£"
    End With

Sheets(nom).Range("N5:P" & dlg) = 0

End Sub

Etape 3
- faites un click droite sur votre rectangle qui sera utilisé pour décocher les "cases à cocher"
- choisir "Affecter à une macro"
- Sélectionnez la macro "Reinit_Casecochee"


Explications
- Vos noms de feuilles concernées par les cases à cocher sont mentionnées dans la ligne --> Const feuille.... C'est là que vous pouvez adapter au cas où vous voudriez modifier un nom de feuille, le retirer ou ajouter une nouveau
Veillez à l'orthographe exact entre ce qui est écrit dans la ligne CONST FEUILLE et le nom de vos feuilles --> y compris Majuscule et Minuscule
- les cases à cocher commencent toujours en ligne 5
- la couleur de référence appliquée à une case cochée en toujours en A2

NB : dans un de vos fichiers, j'ai vu "module de classe". Vous ne devriez avoir que le module que je vous ai dit de créer

je n'ai plus que ce que vous avez mis ...

ca marche ! et c'est plus joli, plus net ! magnifique ...

merci pour votre bienveillance car en effet, j'ai le même fichier en néerlandais puisque les affiliés sont soit francophone ou néerlandophones donc j'aurais le même fichier mais les feuilles seront nommées différemment et j'allais vous le demander

j'ai remis la photo. donc maintenant pour avoir qqch de plus visible que cette petite case, que puis je faire pour la rendre visible (type rectangle à cliquer)

j'ai le même fichier en néerlandais puisque les affiliés sont soit francophone

Heu vous êtes de Belgique là ... ?

donc j'aurais le même fichier mais les feuilles seront nommées différemment et j'allais vous le demander

Il vous suffit de changer les noms dans la ligne Const feuille.... en veillant à avoir le même nom que la feuille.

j'ai remis la photo.. donc maintenant pour avoir qqch de plus visible que cette petite case, que puis je faire pour la rendre visible(type rectangle à cliquer)

Je n'ai pas compris ce que vous voulez.
Si vous voulez un rectangle à cliquer, faites comme expliqué ici --> https://forum.excel-pratique.com/s/goto/1135360

oui je suis belge et chez nous ... nous avons 3 langues mais je m'arrête à deux

oui j'avais compris votre explication et j'ai essayé mais c'est moins beau que le votre ... j'ai fais la forme puis je l'ai msi en arrière plan pour que l'on voit la case à cocher mais je trouve votre exemple mieux

tableau 1

je viens de remarquer qu'en faisant des essais, j'ai des cases dans les lignes A2 et A3 des colonnes Bà D ... comment peut onr retirer ces cases de trop

je n'ai rien dit ... j'ai cliqué droit et effacer le contenu et c'est bon

oui je suis belge et chez nous ... nous avons 3 langues mais je m'arrête à deux

Ah là je sais cela (si vous cliquez à gauche sur la petite flèche vers le bas qui est située juste en dessous de ma version excel, vous verrez d'où je viens aussi ... )

. j'ai fais la forme puis je l'ai msi en arrière plan pour que l'on voit la case à cocher mais je trouve votre exemple mieux

j'ai cliqué droit et effacer le contenu et c'est bon

Oui le double click là ne fait rien à cet endroit. de toute façon si vous sélectionnez les cellules contenant des cases et que vous appuyer sur la touche Supp ou Delete, cela supprimera les cases.

j'ai fais la forme puis je l'ai msi en arrière plan pour que l'on voit la case à cocher mais je trouve votre exemple mieux

Vous pouvez reprendre le bouton dans le fichier joint.
Je suis parti d'un rectangle via le menu insertion. Une fois le rectangle sélectionné, l'onglet Outil de dessin (Format de forme) s'affiche dans le menu. Ensuite il suffit d'utiliser les outils disponibles

13bouton.xlsx (9.64 Ko)

Lorsque vous en aurez terminé pensez à -->

j'aimerais bcp apprendre à faire ca.

il y a des cours sur le VBA et la programmation ?

liège, belle ville mais bcp de problème de toxicomanie..... grosse prison qui n'est pas suffisante pour la population à enfermer bien que les prisons ne soient pas la solution

Rechercher des sujets similaires à "travail formulaire case cocher"