Recherche de ligne dans un tableau excel

Résolu/Fermé
lemateux - 5 juil. 2009 à 20:13
 lematheux - 15 juil. 2009 à 10:51
Bonjour,
je cherche à définir un macro sur excel pouvant rechercher une ligne selon le code contenu dans sa première cellule, et si la ligne est retrouvée le contenu de la cellule qui suit celle qui contient le code sera copié et colé dans la cellule où se trouve le curseur.
Je ne suis qu'un pauvre débuttant sur excel !
Merci d'avance pour votre aide
A voir également:

3 réponses

Raymond PENTIER Messages postés 58396 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 094
5 juil. 2009 à 21:43
Et tu veux absolument une macro pour ça ?
La fonction RECHERCHEV rend le même service, en beaucoup moins compliqué ...
4
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
5 juil. 2009 à 22:22
Salut,

Ah je vois que tu monde est arrivé sur la discussion, je mets tout de même un code basique facile à modifier, sans vouloir griller la politesse à mes amis que je salut avant de partir vers le soleil

si j'ai bien tout compris, sinon ignorez cette proposition

Sub test()
Range("A65536").End(xlUp).Select 'sélectionne la première cellule non vide colonne A
Do While ActiveCell <> Cells(1, ActiveCell.Column) 'boucle jusqu'a la première cellule de la colonne
Do While ActiveCell.Value <> "O" 'entre parenthèse le mot à chercher
If ActiveCell = Cells(1, ActiveCell.Column) Then Exit Sub 'si arrive à la première cellule de la colonne sorti de procédure
ActiveCell.Offset(-1, 0).Select
Loop
ActiveCell = ActiveCell.Offset(1, 0) 'si mot trouvé, copie la cellule inférieure
Loop
End Sub

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
1
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
5 juil. 2009 à 21:48
bonjour

Comme toujours il y a plusieurs façon de le faire mais ceci me parait le plus simple :
Dim sel As Variant
    Set sel = Columns(1).Cells.Find("ta recherche")
    If Not sel Is Nothing Then ActiveCell.Value = sel.Offset(0, 1).Value

Tu recherches ta donnée dans la colonne 1 et si elle est trouvée "le contenu de la cellule qui suit celle qui contient le code sera copié et collé (= plus simple) dans la cellule où se trouve le curseur" (ActiveCell).
0
salut
un grand merci à vous pour votre proposition salvatrice de solution !
0