Macro cellule cochée sur Excel 2016

Bonjour,

J'ai un tableau de ce type là :

2018 08 03 12h18 51

Je voudrais simplement que, quand je clique sur les cases, la case vide se transforme en case cochée et inversement. Je l'ai vu sur un fichier officiel de mon travail, donc je sais que c'est faisable, mais impossible d'y arriver pour mon projet perso (j'ai essayé avec des macros trouvées sur le forum sans succès).

Dans l'idéal je voudrais :

Pour chaque cellule :

Etat d'origine : Cellule vide

Sur clic : Cellule cochée (en unicode, ce serait le CharB (252))

Sur deuxième clic : Cellule vide

En prime, le must du must, ce serait que lorsque qu'une cellule est cochée, elle décoche toutes les cellules de la colonne (genre si je clic sur la cellule B4, les cellules B1; B2; B3; B5; B6... se décochent si elles étaient cochées).

J'espère avoir été clair. Le but étant de récupérer le nom des personnes de la colonne A qui ont été cochées dans la colonne B par une recherche dans une deuxième feuille. ça, c'est des formules excel, je maitrise contrairement aux macros

Merci d'avance !!

Bonjour,

Une proposition à étudier.

Cdlt.

3flocg1983.xlsm (22.59 Ko)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim lo As ListObject, lCol As Long
    If Target.ListObject Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    Set lo = Target.ListObject
    If Not Intersect(Target, lo.DataBodyRange.Offset(, 1).Resize(, lo.ListColumns.Count - 1)) Is Nothing Then
        Cancel = True
        lCol = Target.Column - lo.HeaderRowRange(1).Column + 1
        If IsEmpty(Target) Then
            lo.ListColumns(lCol).DataBodyRange.ClearContents
            Target.Value = ChrW(252)
        Else
            Target.Value = ""
        End If
    End If
End Sub

Salut Flocg,

Salut Jean-Eric,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
iRowA = Range("A" & Rows.Count).End(xlUp).Row
iTRow = Target.Column
If Not Intersect(Target, Range("B1:C" & iRowA)) Is Nothing Then
    Range(Chr(64 + iTRow) & "1:" & Chr(64 + iTRow) & iRowA).ClearContents
    Target.Offset(0, IIf(iTRow = 2, 1, -1)) = ""
    Target = ChrW(10008)
End If
'
End Sub

A+

Merci à tous les deux... mais cela ne fonctionne pas.

La solution de Jean-Eric fonctionne dans son fichier, mais je ne suis pas capable de l'adapter. trop de vocabulaire que je ne connais pas...

La solution de curulis me met un code erreur 1004.

Du coup, je vous envoie le fichier, comme ça vous comprendrez peut-être mieux comment ça se présente.

8essai.xlsm (17.27 Ko)

Merci en tout cas !

Re,

1 Question : Pourquoi 2 semblants de tableaux pour les données ?

1 seul tableau ne suffirait pas avec une colonne Agent (IDE et AS) pour le choix.

A te relire.

Cdlt.

La mise en page n'est pas encore finie évidemment...

C'est pour ma femme et je crois bien qu'elle préfère séparer les deux tableaux. Elle débarque dans le service et ne connais pas encore tout le monde...

Cdlt

Edit : PS : Mais si déjà j'ai la solution pour 1 tableau, je devrais me débrouiller pour modifier pour le deuxième.. ce sera l'occasion de commencer d'apprendre un langage nouveau !

Re,

Annulé

Cdlt.

Re,

Annulé

Cdlt.

ce qui veut dire?

Re,

J'avais écrit une c******e

Je réfléchis…

Cdlt.

C'est pour ma femme et je crois bien qu'elle préfère séparer les deux tableaux. Elle débarque dans le service et ne connais pas encore tout le monde...

bonjour

mauvaise idée de compliquer un fichier Excel pour des raisons de "préférence".

si tu veux faire solide et durable, le "joli" passe au second plan. Quoiqu'une feuille unique peut être jolie. Mets des couleurs, ça va passer

Avec ton tableau + un autre que j'avais trouvé sur Internet, j'ai pu faire ceci :

4essai.xlsm (18.55 Ko)

Reste plus qu'à :

  • Etendre la plage au second tableau (au pire, je créerai une seconde page. Une feuille IDe et une feuille AS, c'est pas très gênant)
  • Faire en sorte que le cochage d'une case sur la colonne désactive les autres cases de cette colonne.

Merci pour ta réflexion...

Bonjour tout le monde,

Avec le code de curulis57

ric

mauvaise idée de compliquer un fichier Excel pour des raisons de "préférence".

Et le challenge, alors ?

Non, mais au pire je séparerai en deux feuilles, ce n'est pas grave ça.

Bonjour tout le monde,

Avec le code de curulis57

ric

C'est bon ça ! Il reste juste un bug : je ne peux plus modifier la colonne des agents AS sans que ça me mette des croix...

Bonjour à tous,

Désolé, je n'avais pas suffisamment testé.

J'ai changé le fichier soumis précédemment.

Vérifier si ça convient ...

ric

C'est juste nickel !!

Merci à tous pour votre temps !

Bonjour tout le monde,

Une autre version où ... si un x existe et que tu cliques dessus le x, il s'effacera.

ric

Re,

Une nouvelle proposition à étudier (avec double-clic).

Cdlt

4essai.xlsm (26.95 Ko)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim lastRow As Long, lCol As Long
Dim rng As Range, rng2 As Range, rng3 As Range
    If Target.CountLarge > 1 Then Exit Sub
    With Me
        lastRow = .UsedRange.Rows.Count
        lCol = Target.Column
        Set rng = .Cells(4, 1).Offset(, 1).Resize(lastRow - 3, 6)
        Set rng2 = .Cells(4, 9).Offset(, 1).Resize(lastRow - 3, 6)
        Set rng3 = Union(rng, rng2)
        If Not Intersect(Target, rng3) Is Nothing Then
            Cancel = True
            If IsEmpty(Target) Then
                .Cells(4, lCol).Resize(lastRow - 3).ClearContents
                With Target
                    .Value = ChrW(252)
                    .Font.Name = "Wingdings"
                End With
            Else
                With Target
                .Value = ""
                .Font.Name = "Calibri"
                End With
            End If
        End If
    End With
End Sub

Salut l'équipe,

je ne comprends plus... j'ai peut-être perdu le fil depuis...

Ne fallait-il pas qu'UNE croix par ligne et par colonne ?

A+

Bonjour le monde,

@curulis57

En prime, le must du must, ce serait que lorsque qu'une cellule est cochée, elle décoche toutes les cellules de la colonne (genre si je clic sur la cellule B4, les cellules B1; B2; B3; B5; B6... se décochent si elles étaient cochées).

À moins que cela ait changé en chemin et que j'ai zappé.

ric

Rechercher des sujets similaires à "macro cochee 2016"