Microsoft 365 filtre dynamique sous excel

thierry bernard

XLDnaute Nouveau
bonjour à tous , nouveaux sur ce forum. je cherche de l'aide afin d'avoir la possibilité de filtrer ( sous excel ) une liste de "Nom" en tapant les premières lettre dans une cellule
j'ai trouvé sur votre forum un formulaire correspondant au fichier que j’essaie de mettre en place. afin de permettre à nos bénévoles de valider l'arriver des personnes invitées sur certain évènements


si dessous le message envoyer ce matin à NODEX sur son fichier "Gestion des admissions" ainsi qu'une capture d’écran pour "expliquer " notre besoin

> Bonjour , bravo super programme .
pensez vous possible d'ajouter une cellule permettant de filtrer la liste des noms en rentrant les première lettres dans une cellule . je vous joins une capture d’écran sur la base de votre fichier
merci d'avance
thierry

screenshot_72.jpg
screenshot_72.jpg
 

merinos

XLDnaute Accro
Si je comprends bien tu veux faire quelque chose comme cela... ici je montre même je nom et le code postal...
1628349440030.png

a boter qu'on peut chercher sur les 2 zones en même temps...
1628349720248.png


VB:
Recherche intuitive de plusieurs mots séparés par le caractère espace
-Créer un combobox (onglet développeur)
-Propriété MatchEntry à None
-Clic-droit sur onglet Devis
-Afficher code


Dim a

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 On Error Resume Next

  If Not Intersect(Range("client_selector"), Target) Is Nothing And Target.Count = 1 Then
    a = Application.Transpose(Sheet4.Range("unique").Value)
    Me.ComboBox1.List = a
    Me.ComboBox1.Height = Target.Height + 3
    Me.ComboBox1.Width = Target.Width
    Me.ComboBox1.Top = Target.Top
    Me.ComboBox1.Left = Target.Left
    Me.ComboBox1 = Target
    Me.ComboBox1.Visible = True
    Me.ComboBox1.Activate
    'ActiveSheet.PivotTables("PivotTable2").PivotFields("unique").ClearAllFilters
    'ActiveSheet.PivotTables("PivotTable2").PivotFields("unique").CurrentPage = Range("client_selector").Value

  Else
    Me.ComboBox1.Visible = False
  End If
 

End Sub



Private Sub ComboBox1_Change()
 On Error Resume Next

 If Me.ComboBox1 <> "" And IsError(Application.Match(Me.ComboBox1, a, 0)) Then
   Set d1 = CreateObject("Scripting.Dictionary")
   clé = UCase("*" & Replace(Me.ComboBox1, " ", "*") & "*")
   For Each c In a
     If UCase(c) Like clé Then d1(c) = ""
   Next c
   Me.ComboBox1.List = d1.keys
   Me.ComboBox1.DropDown
 End If
   ActiveCell.Value = Me.ComboBox1
     
 If Range("client_selector").Address = Target.Address Then
    ActiveSheet.PivotTables("PivotTable2").PivotFields("unique").ClearAllFilters
    ActiveSheet.PivotTables("PivotTable2").PivotFields("unique").CurrentPage = Range("client_selector").Value
 End If

End Sub

Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
  Me.ComboBox1.List = a
  Me.ComboBox1.Activate
  Me.ComboBox1.DropDown
End Sub

Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode = 13 Then ActiveCell.Offset(1).Select
End Sub

Merci @BOISGONTIER ...



Merinos
 

fanch55

XLDnaute Barbatruc
Bonjour,
En assurant la présence de l'astérisque générique manuellement :
VB:
Private Sub TextBox1_Change()
    If TextBox1 = vbNullString Then TextBox1 = "*"
    [Tableau1].AutoFilter Field:=[Tableau1].ListObject.ListColumns("Colonne3").Index, _
                          Criteria1:="=" & TextBox1
End Sub
tb.gif
 

thierry bernard

XLDnaute Nouveau
Bonjour , d'abord je tiens à remercier tous les XLDnautes pour leurs aident . je crois arrivé à la fin de la création de notre petit fichier d’émargement . il me reste à trouver comment afficher une info bulle quand la souris arrive sur les "boutons" , afin de fournir une explication avant de cliquer et de lancer la macro
je vous joins la dernier version de notre fichier
désolé je voulais joindre une petite vidéo montrant les boutons mais je n'ai pas réussi :-(
bonne journée
 

Pièces jointes

  • TABLE D'ÉMARGEMENT dif ind-03.xlsm
    421 KB · Affichages: 9

fanch55

XLDnaute Barbatruc
Bonjour,
Vos boutons sont en fait des Shapes (dur,dur,dur...)
Le seul moyen d'y arriver, c'est d'utiliser l'excellente proposition de

Ci-joint le classeur modifié en conséquence .
Vous pourrez définir vos messages de notification dans le code de la feuile FEUILLE D'EMARGEMENT
VB:
Sub Set_Tiptext()
 
    ThisWorkbook.AddToolTipToShape Me.Shapes("Picture 13"), "Enregistrer " & ThisWorkbook.Name
    ThisWorkbook.AddToolTipToShape Me.Shapes("Picture 6"), "Envoyer un e-mail"

End Sub

D'autre part, j'ai vu que vous avez une pléthore d'objets Encre...
sans doute suite à de multiples test d'insertion de signatures.


Après ménage,
Si vous cherchez toujours à faire émarger les gens, vous pouvez consulter :

1628691379173.png
 
Dernière édition:

thierry bernard

XLDnaute Nouveau
bonjour à tous, après quelques tests dans la vrai vie .j'ai une amélioration à faire sur ma table d'émargement
contexte :
pour valider l'arrivée d'un participant . je fais changé la couleur de sa ligne, ajouter un "1" dans la colonne "présents" et ajouter la date et l'heure . hélas je suis parti du mauvais pied
en effet ma macro m'oblige à être sur la cellule du nom de la personne pour changer sa couleur puis appliquer ce magnifique vert au cellule avant et après , cell+1 , cell+2 , cell-1 etc ....... . le pblm est si une autres cellule est sélectionner la couleur date est décalé vers une autre zone ( normal .ok je vais au coin avec mon bonnet d’âne)
pouvez vous m'aider à créer une macro qui ,
quand je sélectionne une cellule entre la colonne B et J et sur la ligne de mon participant .la ligne passe en vert et ajoute le "1" + date

un grand merci d'avance à ce site et ses intervenants

Happy Novak Djokovic GIF by Miami Open


1631345795955.jpeg


Sub validation()
'
' validation Macro
' fait passé les lignes en vert + ajoute "1" dans "presents" (colonne I, ancien "confirmé")
'

'
'Range("B4").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
ActiveCell.Offset(0, 5).Select
ActiveCell.Value = 1
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With


With ActiveCell.Offset(0, 1).Select
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With

With ActiveCell
.Value = Now
.NumberFormat = "dd/mm/yyyy hh:mm"
End With


With ActiveCell.Offset(0, -2).Select
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With ActiveCell.Offset(0, -1).Select
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With ActiveCell.Offset(0, -1).Select
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With ActiveCell.Offset(0, -1).Select
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With ActiveCell.Offset(0, -1).Select
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With ActiveCell.Offset(0, -1).Select
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With ActiveCell.Offset(0, -1).Select
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With ActiveCell.Offset(0, 2).Select
End With
Application.Cursor = xlWait
Application.Cursor = XlDéfault
End Sub
 

Pièces jointes

  • TABLE D'ÉMARGEMENT dif ind-05 modif .xlsm
    424.4 KB · Affichages: 5

fanch55

XLDnaute Barbatruc
Bonjour,
Vos boutons sont en fait des Shapes (dur,dur,dur...)
Ci-joint le classeur modifié en conséquence .
Vous pourrez définir vos messages de notification dans le code de la feuile FEUILLE D'EMARGEMEN
Bonjour, je viens de m'apercevoir que je ne vous avait pas joint le fichier, alors acte :
 

Pièces jointes

  • TABLE D'ÉMARGEMENT dif ind-03-2.xlsm
    414.3 KB · Affichages: 5

fanch55

XLDnaute Barbatruc
Ce qui a été fait :
tous les objets Ink ont été supprimés.
Le nom des colonnes de tables en ligne 7 sont identiques à la ligne 4
Les subs de tri ont été simplifiées
Les objets superposés aux colonnes de ligne 4 permettant de faire un filtrage ont été supprimés.
Ce filtrage est maintenant assuré en double-cliquant dans la cellule correspondante de la ligne 4.
L'objet de Validation a été supprimé .
La présence se fait en sélectionnant la cellule correspondante de la ligne désirée et en cochant l'objet de Validation. La date correspondante est renseignée automatiquement . La couleur est assurée par une MFC (mise en forme conditionnelle) sur la table quand la cellule Présents n'est pas vide .
 

Pièces jointes

  • TABLE D'ÉMARGEMENT dif ind-05 .xlsm
    393.8 KB · Affichages: 12

Discussions similaires

Statistiques des forums

Discussions
312 203
Messages
2 086 197
Membres
103 153
dernier inscrit
SamirN