Autres Userform

pierrelecaillou

XLDnaute Nouveau
Bonjour à tous,
J'ai un problème avec le fichier joint. En effet, lorsque je clique sur "formulaire" puis "rechercher" et que je tape une recherche (en cochant une case et en tapent un terme), la recherche s'effectue bien sur une nouvelle feuille selon les critères demandés sur le userform. Le problème c'est que lorsque je ferme ce userform, la recherche s'efface, et j'aimerais qu'elle reste.

Pourriez-vous m'aider svp?

D'avance merci.
 

Pièces jointes

  • VBA fichier.xlsm
    32.2 KB · Affichages: 24

Jacky67

XLDnaute Barbatruc
Bonjour à tous,
J'ai un problème avec le fichier joint. En effet, lorsque je clique sur "formulaire" puis "rechercher" et que je tape une recherche (en cochant une case et en tapent un terme), la recherche s'effectue bien sur une nouvelle feuille selon les critères demandés sur le userform. Le problème c'est que lorsque je ferme ce userform, la recherche s'efface, et j'aimerais qu'elle reste.

Pourriez-vous m'aider svp?

D'avance merci.
Bonjour,
Pour la recherche le code du bouton "RECHERCHER" pourrait ressembler à ceci
VB:
Option Compare Text
Private Sub CommandButton1_Click()
    Dim Col&
    Col = Abs(OptionButton1 * 3 + OptionButton3 * 4 + OptionButton4 * 2 + OptionButton5 * 6)
    If Col = 0 Or TextBox1 = "" Then Exit Sub
    With Feuil1
        If .FilterMode Then .ShowAllData
        Set plage = .Range("A1:G" & .Cells(.Rows.Count, "A").End(xlUp).Row)
        plage.AutoFilter Field:=Col, Criteria1:=TextBox1.Value
        If plage.SpecialCells(xlCellTypeVisible).Count > plage.Columns.Count Then
            Sheets.Add After:=Feuil1
            plage.SpecialCells(xlCellTypeVisible).Copy: ActiveSheet.[a1].PasteSpecial Paste:=xlPasteValuesAndNumberFormats
        Else
            MsgBox "Aucune saisie pour " & TextBox1.Value, , "Information"
        End If
        plage.AutoFilter Field:=Col
    End With
    Unload UserForm2
End Sub
Il faut revoir ce code,
VB:
Private Sub UserForm_Terminate()
    Sauve (Id)
    ActiveSheet.Range("A1").Resize(UBound(T, 1), UBound(T, 2)) = T
End Sub
"ActiveSheet" perturbe cette recherche, faudrait utiliser le nom de la feuille
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal