Signaler

Problème de formule VBA Excel [Résolu]

Posez votre question joel27/07 42Messages postés lundi 12 novembre 2007Date d'inscription 4 novembre 2017 Dernière intervention - Dernière réponse le 7 oct. 2017 à 15:13 par fabien25000
Bonjour à tous fidèles compagnons de comment ça marche,

Mon problème:
J'ai bricolé un tableau Excel pour gestion d'un stock de pièces.
Jusque là pas de problème.
J'y ai installé une fenêtre de recherche avec une formule VBA que j'ai trouvé sur internet.
Et c'est là que ça se complique!!!
Quand je tape un article dans la fenêtre ça fonctionne mais la colonne ou sont inscris mes articles dépassent le cadre de mon tableau et la colonne change de couleur.

Je sais que cela vient de la formule, mais je n'arrive pas à trouver comment la modifier pour que ça ne dépasse pas le tableau et qu'elle s'adapte à chaque fois que j'ajoute des lignes.

Voila la formule:

A mon avis cela vient de (''B4:B65536'') ligne 4 et 4 To 65536 ligne 6
mais je peux me tromper car mes connaissances en matière de macro
sont vraiment au ras des pâquerettes. ( même pire!!!)


Private Sub TextBox1_Change() 'creer-un-champ-de-recherche-vba

Application.ScreenUpdating = False

Range("B4:B65536").Interior.ColorIndex = 2 'Exemple 1 (feuille)
ListBox1.Clear 'Exemple 2 (ListBox)

If TextBox1 <> "" Then
For ligne = 4 To 65536
If Cells(ligne, 2) Like "*" & TextBox1 & "*" Then
Cells(ligne, 2).Interior.ColorIndex = 43 'Exemple 1 (feuille)
ListBox1.AddItem Cells(ligne, 2) 'Exemple 2 (ListBox)
End If
Next
End If

End Sub

Je vous fais parvenir le lien du document Excel pour avoir une vue plus précise de mon problème.

http://www.cjoint.com/c/GJhi2z1beRu

En attendant vos réponses, je vous remercie d'avance.
Je vous souhaite un excellent week-end.
Sincères salutations

joel27/07




Utile
+0
plus moins
Bonjour,

J'ai pas trés bien compris ton problème de changement de couleur de la colonne : le seul changement de couleur que j'ai observé c'est les mots qui contiennent ce qui est écrit dans textbox1 je te les ai repéré en commentaire.

en tout cas, pour le nombre de ligne voici ton code modifié qui devrait te convenir :

Private Sub TextBox1_Change() 'www.blog-excel.com/creer-un-champ-de-recherche-vba
    Dim Derlig, Ligne As Long
    
'    Application.ScreenUpdating = False
    Derlig = Worksheets("Inventaire").Range("b" & Rows.Count).End(xlUp).Row
    
    Worksheets("Inventaire").Range("B4:B" & Derlig).Interior.ColorIndex = 2 'Exemple 1 (feuille)
    ListBox1.Clear 'Exemple 2 (ListBox)
    
    If TextBox1 <> "" Then
        For Ligne = 4 To Derlig
            If Cells(Ligne, 2) Like "*" & TextBox1 & "*" Then
                Cells(Ligne, 2).Interior.ColorIndex = 43 'changement de couleur cellule
                ListBox1.AddItem Cells(Ligne, 2) 'Exemple 2 (ListBox)
            End If
        Next
    End If
 
End Sub


joel27/07 42Messages postés lundi 12 novembre 2007Date d'inscription 4 novembre 2017 Dernière intervention - 7 oct. 2017 à 14:51
Bonjour Fabien 25000,

Je te remercie pour cette rapide réponse c'est vraiment très sympa de ta part.
J'ai installé ta formule à la place de la mienne, ça fonctionne à merveille!!!
Maintenant quand je fais une recherche ça reste dans le cadre de mon tableau.
Avec ma formule (ce que tu dis ne pas avoir très bien compris) quand je faisais une recherche la colonne B devenait blanche jusqu'à la 65536 ème lignes.
Et donc m'effaçait la couleur verte d'arrière plan du tableau.

Je vais me la mettre au chaud cette formule, pour des tableaux à venir!!!

Je te remercie encore pour cette rapide intervention, je te souhaite un excellent week-end.

Sincères salutation

joel27/07
Répondre
fabien25000 265Messages postés mercredi 5 octobre 2016Date d'inscription 16 octobre 2017 Dernière intervention - 7 oct. 2017 à 15:13
Super n'oublie pas de passer le sujet en résolu
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !