Chekbox Et Filtre Automatique

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

vinpp

XLDnaute Nouveau
Bonjour,

merci pour votre aide

J'ai un problème concernant les chekbox.
Pour être claire, je veux créer des chekbox sur une 10 lignes au niveau d'excel (cela ne pose pas de problème).
Ensuite l'utilisateur pourra cocher les chekbox et réaliser des filtres sur les lignes (Filtra automatique dans excel).

Le problème est le suivant : J'ai un déphasage des chekbox si l'utiliasteur réalise plusieurs filtres. Par exemple la chekbox 1 situer à la base sur la première ligne (avec la lettre A en colonne C) se trouve après le filtre sur la 5 lignes (Avec la lettre P). Nous avans donc perdu le lien entre le chekbox et la ligne à laquelle elle était liée.


Code:
Dim Chekbox As OLEObject
Dim i As Integer
Dim Target As Range

For i = 10 To 14
  
    Set Target = ActiveSheet.Range("B" & i)
        Set Chekbox = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Left:=Target.Left, Top:=Target.Top, Width:=Target.Width, Height:=Target.Height)
        With Chekbox
        .LinkedCell = Target.Offset(0, 1).Address(0, 0)
        .Object.Value = False
       End With
Next
 
Re : Chekbox Et Filtre Automatique

bonjour vinpp

une idée simpliste:

choisir comme cellule liée celle qui est sous la checkbox soit:

Code:
........
With Chekbox
      .LinkedCell = [COLOR=blue]Target.Address(0, 0)
[/COLOR]      .Object.Value = False
End With
.......
 
Re : Chekbox Et Filtre Automatique

Re

une façon de mettre les linkedcells hors de portée (presque)

Code:
Sub test()
Dim Chekbox As OLEObject
Dim i As Integer
Dim Target As Range
For i = 10 To 14
    Set Target = ActiveSheet.Range("B" & i)
        Set Chekbox = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Left:=Target.Left, Top:=Target.Top, Width:=Target.Width, Height:=Target.Height)
        With Chekbox
        .LinkedCell = ActiveSheet.Cells(i - 9, 1).Address(0, 0)
        .Object.Value = False
       End With
Next
End Sub

Comme ceci elles sont sur les 5 premieres lignes
 
Re : Chekbox Et Filtre Automatique

Re

Mieux encore

Code:
Sub test()
Dim Chekbox As OLEObject
Dim i As Integer
Dim Target As Range
For i = 10 To 14
    Set Target = ActiveSheet.Range("B" & i)
        Set Chekbox = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Left:=Target.Left, Top:=Target.Top, Width:=Target.Width, Height:=Target.Height)
        With Chekbox
        .LinkedCell = ActiveSheet.Cells(1, i - 9).Address(0, 0)
        .Object.Value = False
       End With
Next
End Sub

la c'est la ligne 1 seulement qui ne doit pas figurer dans la region a filtrer
 
- 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
1
Affichages
1 K
Réponses
8
Affichages
1 K
Réponses
0
Affichages
898
Réponses
1
Affichages
1 K
Retour