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:

Hasco

XLDnaute Barbatruc
Repose en paix
je n'arrive pas à définir l'objet ou à trouver ta référence à ("shot")
Bonjour le fil, Job

Un peu tard mais, 'shot' est une image (prise avec l'appareil photo excel) puis posée sur la feuille 'Suivi' et renommée dans la zone de texte à gauche de la barre de formule:
1621324402434.png


Cordialement
 

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.
1621929696340.png
ncore merci du temps que tu m'accordes.
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 939
Membres
101 844
dernier inscrit
pktla