Zone de recherche / activer la recherche sur 3 colonnes Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
a
alphaju
Nouveau venu
Nouveau venu
Messages : 7
Inscrit le : 30 mai 2016
Version d'Excel : 2010 FR

Message par alphaju » 31 mai 2016, 11:24

Bonjour à tous,

novice en vba, j'éprouve quelques difficultés à voir précisément ce qui ne va pas dans mon code. J'ai fait une zone de recherche et elle fonctionne parfaitement lorsque je la cible sur une seule colonne mais je ne parviens pas à englober les colonnes 2 à 6.

Private Sub TextBox1_Change()

Application.ScreenUpdating = False
Range("B2:G100").Interior.ColorIndex = xlColorIndexNone
ListBox1.Clear

If TextBox1 <> "" Then
For ligne = 2 To 100
If Range("B:G") Like "*" & TextBox1 & "*" Then
Range("B:G").Interior.ColorIndex = 20
ListBox1.AddItem Range("B:G")
End If
Next
End If

End Sub


merci pour l'aide que vous pourrez m'apporter
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 31 mai 2016, 12:51

Bonjour,
If TextBox1 <> "" Then
    For ligne = 2 To 100
        For col = 2 To 7
            If Cells(lign, col) Like "*" & TextBox1 & "*" Then
                Range("B" & ligne).Resize(, 6).Interior.ColorIndex = 20
                ListBox1.AddItem Range("B" & ligne).Resize(, 6)
                Exit For
            End If
        Next col
    Next ligne
End If
+Remarques :
Utiliser la balise code
Indenter son code
Déclarer ses variables
Doter ses expressions de qualificateurs d'objets
Soit : code mieux écrit et moins approximatif.

Cordialement.
a
alphaju
Nouveau venu
Nouveau venu
Messages : 7
Inscrit le : 30 mai 2016
Version d'Excel : 2010 FR

Message par alphaju » 1 juin 2016, 09:15

Merci pour ces bons conseils. Ceci étant il n'affiche rien dans ma listbox1
    If TextBox1 <> "" Then
        For ligne = 2 To 100
        For col = 2 To 7
            If Cells(ligne, col) Like "*" & TextBox1 & "*" Then
                Range("B" & ligne).Resize(, 6).Interior.ColorIndex = 20
                [surligner]ListBox1.AddItem Range("B" & ligne).Resize(, 6)[/surligner]     
                Exit For
            End If
        Next col
        Next ligne
 
End If
End Sub

merci :)
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 1 juin 2016, 12:54

Et en enlevant la boucle For col ?
a
alphaju
Nouveau venu
Nouveau venu
Messages : 7
Inscrit le : 30 mai 2016
Version d'Excel : 2010 FR

Message par alphaju » 1 juin 2016, 15:43

Non malheureusement :(
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 1 juin 2016, 16:00

Alors, sans fichier... !
a
alphaju
Nouveau venu
Nouveau venu
Messages : 7
Inscrit le : 30 mai 2016
Version d'Excel : 2010 FR

Message par alphaju » 3 juin 2016, 12:00

voici le fichier:
Inventory.xlsm
(72.66 Kio) Téléchargé 22 fois
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 3 juin 2016, 13:49

Dans ce cas, combiner AddItem et List...
Aussi régler ColumnCount sur 6 colonnes.
Reste à régler largeur de chaque colonne (dans fenêtre de propriété).

Cordialement.
alphaju_Inventory.xlsm
(70.48 Kio) Téléchargé 33 fois
a
alphaju
Nouveau venu
Nouveau venu
Messages : 7
Inscrit le : 30 mai 2016
Version d'Excel : 2010 FR

Message par alphaju » 3 juin 2016, 14:14

Un grand merci à toi. Bon week-end.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message