Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Userform avec recherche de valeur

komarlehomard

XLDnaute Junior
Bonjour tout le monde.
J'espère que dans cette période bizarre vous prenez bien soin de vous.

j'aimerais savoir si il est possible après DOUBLE CLICK sur une cellule des colonnes RAME apparition USERFORM ou autre avec une recherche valeur.
Ma valeur cherchée serait RAME & n°action dans la feuille tampon Sheets("tampon").
J'aimerais voir apparaitre différentes cellules de la feuille tampon
J'ai pris au hasard la VOIT-0095
Le must serait que ça disparaisse quand on clique sur une autre cellule.
Et comme je sais que vous êtes top un zest d'explication.
d'avance merci beaucoup du temps que vous allez m'accorder.
 

Pièces jointes

  • aide sur userform.xlsm
    266.7 KB · Affichages: 15

komarlehomard

XLDnaute Junior
Bonjour Roblochon
Merci beaucoup de t'être penché sur mon fichier.
Oui cette solution me va absolument.
Par contre j'ai l'impression que les données dans tampon disparaissent.
Pourrait tu m'expliquer un petit peu que je puisse adapter dans mon vrai fichier ?
merci encore du temps que tu m'accordes
 

job75

XLDnaute Barbatruc
Bonjour Komarlehomard, [Edit] Roblochon,

Voyez le fichier joint et ces macros dans le code de la feuille "suivi" :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Unload UserForm1
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Row < 5 Or Intersect(Target, [V:V,AA:AA]) Is Nothing Or Target(1) = "" Then Exit Sub
Dim F As Worksheet, h&
Cancel = True
Set F = Sheets("Filtre")
F.Rows("2:" & F.Rows.Count).Clear 'RAZ
Cells(Target.Row, 1).Name = "Action" 'cellule nommée
Target.Name = "Rame" 'cellule nommée
With Sheets("tampon").[C6].CurrentRegion
    .Cells(2, -1) = "=(E7=Action)*COUNTIF(H7:IV7,Rame)" 'critère
    .AdvancedFilter xlFilterCopy, .Cells(1, -1).Resize(2), F.[A1:G1] 'filtre avancé
    .Cells(2, -1) = ""
End With
With UserForm1
    h = F.[A1].CurrentRegion.Rows.Count - 1
    With .ListBox1
        .ColumnCount = 7
        .ColumnHeads = h > 0
        .ColumnWidths = "50;50;50;70;70;65;50"
        .Width = 420
        If h Then .RowSource = F.[A1].CurrentRegion.Rows(2).Resize(h).Address(External:=True) Else .RowSource = ""
    End With
    .Caption = "Filtre sur '" & [Action] & "' et '" & Target & "'"
    .Show 0 'non modal
End With
End Sub
Le code n'est pas très difficile à comprendre si l'on sait comment fonctionne le filtre avancé.

La feuille auxiliaire "Filtre" peut et doit être masquée.

Edit : Or Target(1) = "" car il y a des cellules fusionnées en ligne 3.

A+
 

Pièces jointes

  • Filtrer(1).xlsm
    264.6 KB · Affichages: 9
Dernière édition:

komarlehomard

XLDnaute Junior
Coucou Roblochon.
Désolé à mon tour du manque de réactivité pour cause de vacances, mais j'ai été bien puni avec la météo.
Merci de t'y filer, le temps que je comprenne risque de durer beaucoup plus longtemps.
je vois bien ta commande "Shot " avec la zone définie dans tampon comme si c'est une formule ou une macro, en cliquant sur l'image.
Mais je n'arrive pas à savoir comment tu la définies, sur le visual basic ou sur une macro, je ne trouve pas de formule, bref je loupe quelque chose.

Encore merci du temps que tu m'accordes.ncore merci du temps que tu m'accordes.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…