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

VBA - Besoin d'aide pour adapter une macro pour effectuer une recherche

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

JONEY76

XLDnaute Occasionnel
Bonsoir à toutes et à tous

Voici le petit soucis,

Ci dessous, c'est le code pour effectuer une recherche sur toutes les feuilles d'un classeur et pour afficher les résultats dans une listbox

La modification que je souhaiterai, c'est de faire cette même recherche mais sur 1 feuille précise uniquement nommée "base" et d'afficher les résultats

Je pense que le problème vient en partie du DIM WS et du For Each ws In Worksheets
With ws


Code:
Private Sub CommandButton1_Click()
Dim ws
On Error Resume Next

ListBox1.Clear
If TextBox1 = "" Then Exit Sub
For Each ws In Worksheets
   With ws

        Set C = .UsedRange.Find(TextBox1, LookIn:=xlValues)
        If Not C Is Nothing Then
            firstAddress = C.Address
            Do
                dcol = .Cells(C.Row, 256).End(xlToLeft).Column
                With ListBox1
                    If dcol > .ColumnCount Then .ColumnCount = dcol
                    .ColumnWidths = "100" & "20" & "20" & "120" & "120"
                    
                    .AddItem ws.Cells(C.Row, 1)
                    X = ListBox1.ListCount - 1
                    For i = 2 To dcol
                        ListBox1.List(X, i - 1) = ws.Cells(C.Row, i)
                    Next
                End With
                Set C = .UsedRange.FindNext(C)
            Loop While Not C Is Nothing And C.Address <> firstAddress
        End If
    End With
Next
End Sub



Merci d'avance pour le coup de pouce !!!
 

Pièces jointes

Dernière édition:
Re : VBA - Besoin d'aide pour adapter une macro pour effectuer une recherche

Bonsoir JONEY76, le forum,

Comme ça sûrement :

VB:
Private Sub CommandButton1_Click()

On Error Resume Next
'effacer la recherche précédente
ListBox1.Clear

'si le textbox est vide alors on sort
If TextBox1 = "" Then Exit Sub

   With Sheets("Base")
   

        Set C = .UsedRange.Find(TextBox1, LookIn:=xlValues)
        If Not C Is Nothing Then
            firstAddress = C.Address
            Do
                dcol = .Cells(C.Row, 256).End(xlToLeft).Column
                With ListBox1
                    If dcol > .ColumnCount Then .ColumnCount = dcol
                    .ColumnWidths = "70" & "70" & "70" & "70" & "70"
                    
                    .AddItem Sheets("Base").Cells(C.Row, 1)
                    X = ListBox1.ListCount - 1
                    For i = 2 To dcol
                       ListBox1.List(X, i - 1) = Sheets("Base").Cells(C.Row, i)
                   Next
                End With
                Set C = .UsedRange.FindNext(C)
            Loop While Not C Is Nothing And C.Address <> firstAddress
        End If
    End With
End Sub

A te relire

Yaloo
 
Re : VBA - Besoin d'aide pour adapter une macro pour effectuer une recherche

Re,

Dans la listbox, je souhaiterai afficher 20 colonnes, il m'en affiche 10 max

Quelle est la partie du code à modifier pour lui faire dire 20 ??

Merci pour vos réponses
 
Re : VBA - Besoin d'aide pour adapter une macro pour effectuer une recherche

Bonsoir Joney, le forum,

Dans l'aide de la listbox, plus particulièrement dans l'aide du ColumnCount nous avons ceci :


Utilises plutôt une listview si tu veux avoir plus de 10 colonnes.

A+
Yaloo
 
Dernière édition:
- 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
10
Affichages
309
Réponses
5
Affichages
312
Réponses
4
Affichages
225
Réponses
8
Affichages
490
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…