Recherche valeur dans colonne via Marco

Infratunes

XLDnaute Nouveau
Bonjour le forum,

Merci d'avance pour le temps que vous prendrez à lire ce message.

J'aimerai avoir une macro permettant de rechercher une valeur dans la colonne A en tapant la recherche en B2 par exemple. (Ex : recherche de la référence 15677 dans une liste de 1500 références)

Ainsi il suffirait de cliquer sur un bouton de commande pour que la macro s'exécute et se place sur la valeur recherchée.

De plus est-il possible de surligner la ligne contenant la valeur ?

Merci d'avance à tous.

Infratunes.
 

porcinet82

XLDnaute Barbatruc
Re : Recherche valeur dans colonne via Marco

Salut Infratunes,

Le code suivant fait ce que tu souhaites. Je suppose que la plage de données de recherche commence en A1 et finit a la dernière cellule non vide de cette meme colonne. A toi de l'affecter a un bouton de commande.
PHP:
Sub test()
Dim cel As Range
For Each cel In Range("A1:A" & Range("A65536").End(xlUp).Row)
    If cel = Range("B2").Value Then
        cel.Select
        Exit Sub
    End If
Next cel
MsgBox "valeur non trouvée dans la liste", vbExclamation
End Sub

@+
 

informatixo

XLDnaute Occasionnel
Re : Recherche valeur dans colonne via Marco

Pour ceci, tu pourrais essayer d'utiliser un bouton avec une macro en vba.

Je te propose d'utliser "WorksheetFunction.VLookup" qui est l'équivalent en VBA de RechercheV sous excel et qui va te permettre de trouver ta référence.

Ensuite tu récupères la ligne concerné et tu fais un select sur cette ligne ainsi elle sera sélectionnée et enfin tu la colorie à l'aide "feuille.cellule.interior.colorindex = index de couleur".

Tu peux générer une macro sous excel pour récupérer l'index de couleur qui te convient.

J'espère t'avoir donné une piste de départ. A plus
 

porcinet82

XLDnaute Barbatruc
Re : Recherche valeur dans colonne via Marco

Bonjour a tous,

Je viens de jeter un oeil a ton code Michel, interressant l'utilisation du Find, je ne pense jamais a l'utiliser. Par contre l'idée de la macro evenementielle, je me suis taté a l'utiliser :rolleyes:

Cependant, excuse moi de te dire ca, mais ton code merdouille quelque peu car si l'on rentre 10 dans la cellule B2, le code selectionne la cellule contenant zaza10. Est-ce qu'il faut rajouter une option dans le code du Find?

@+
 

michel_m

XLDnaute Accro
Re : Recherche valeur dans colonne via Marco

Re:

ici, on colorietoute la ligne. inconvénient: on enlève toutes les autres couleurs de la feuille

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B2")) Is Nothing Then: Exit Sub
Cells.Interior.ColorIndex = xlNone
On Error Resume Next
Range(Columns(1).Find(Range("B2").Value, Range("A65536"), , xlWhole, xlByRows).Address).Select
If Err Then
MsgBox "valeur inconnue"
Exit Sub
End If
Rows(ActiveCell.Row).Interior.ColorIndex = 6 'jaune
End Sub
 

michel_m

XLDnaute Accro
Re : Recherche valeur dans colonne via Marco

Oui c'est possible: les couleurs ne seront alors détruites que de la colonne A à G. est-ce cela que tu veux?
(on pourrait ne détruire que la ligne concernée dans ces colonnes mais c'est un petit peu plus compliqué, donc...)

dans l'attente
Michel
 

Hervé

XLDnaute Barbatruc
Re : Recherche valeur dans colonne via Marco

bonjour tout le monde :)

a partir du code de l'excellentissime michel, une idée pour les couleurs de lignes sans pertes des couleurs précédentes.

par contre on ne peux plus utiliser de MEFC (enfin pour le moment)

salut
 

Pièces jointes

  • chercherdans colA_v2.zip
    10.9 KB · Affichages: 46

michel_m

XLDnaute Accro
Re : Recherche valeur dans colonne via Marco

salut Hervé, Re les autres

Excellentissime, tu as dit excellentissime ? puisqu'on parle de MFC je suis tout colorindex=3

Mais comment, alors pourrais je t'appeler mon cher Hervé? excellentissimesque, peut-être ou plus réel: Maîîître...

Avec mon plus profond respect,

Michel_M (lol)

A propos je rejoins ta solution avec MFC. Mon cher Infratunès, tu viens d'assiter à un des moments les + sympas du forum: la collaboration pour trouver une solution; merci à Hervé, Porcinet et Informatixo.
 

Discussions similaires

Statistiques des forums

Discussions
312 836
Messages
2 092 656
Membres
105 479
dernier inscrit
chaussadas.renaud