Retrouver une ligne dans un tableau

13distri-yves.xlsm (273.37 Ko)

Bonjour

Je recherche une fonction qui me permette de retrouver facilement le bénéficiaire une fois que j’ai effectué le scan de sa carte de bénéficiaire.

Quand un bénéficiaire arrive je scanne sa carte, le scan reconnaît le N° et je valide par « ok » mais j’ai du mal à retrouver la ligne.

Exemple, je scanne un bénéficiaire qui ce trouve en ligne 108 est il possible qu’une fois valider par « ok » cette ligne ce retrouve sous la ligne 11 en faisant défiler vers le haut ou vers le bas .

Merci de votre aide

Bonsoir Yves, bonsoir le forum,

Peut-être comme ça :

Private TEST As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
Dim R As Range
Dim LI As Integer

If TEST = True Then Exit Sub
If Application.Intersect(Target, Range("C2:D4")) Is Nothing Then Exit Sub
If Target(1, 1).Value = "" Then Exit Sub
TEST = True
Set R = Me.Columns(2).Find(Target(1, 1).Value, , xlValues, xlWhole)
If Not R Is Nothing Then
    LI = R.Row
    Target(1, 1).Value = ""
    If MsgBox("Souhaitez-vous Valider ?", vbExclamation + vbYesNo, "Inscrire OK") = vbYes Then _
    Cells(LI, 1) = "OK"
    ActiveWindow.ScrollRow = LI '<==== ici
Else
    MsgBox "Inexistant !"
End If
Target.Select
TEST = False
End Sub

Bonjour ThauTheme,

Vu qu'il y avait déjà une Worksheet-Change, moi je l'aurai laissée et j'aurai juste rajoutée la ligne scrollrow :

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False  '<== Ligne à supprimer
If Selection.Count = 1 And Not Intersect(Target, Range("C2")) Is Nothing Then
    If Target <> "" Then
        iRow = Application.Match([C2], Columns(2), 0)
        [C2] = ""
        ActiveWindow.ScrollRow = iRow '<= ligne à rajouter
        If IsNumeric(iRow) Then
            If MsgBox("Souhaitez-vous Valider ?", vbExclamation + vbYesNo, "Inscrire OK") = vbYes Then _
                Cells(iRow, 1) = "OK": _
                Range("L" & iRow) = Range("L" & iRow) + 1
        Else
            MsgBox "Inexistant !"
        End If
    End If
    [C2].Select
End If
Application.EnableEvents = True  '<== Ligne à supprimer
End Sub

J'ai pas trop analysé mais il semble que les lignes EnabeEvents ne soient guère utiles dans ce cas : Compte tenu de leur danger potentiel, moi je es supprime également. !

A+

Bonsoir,

Merci pour vos réponses.

Je n'ai pas avec moi la douchette et je ne peux pas faire une test. Demain je récupère la douchette et je vous tiens au courant.

Bonne soirée

Yves

Bonjour,

Je viens de récupérer la douchette et j'ai essayé les propositions de Thau Thème et de Galopin01 elles fonctionnent très bien toutes les deux.

Merci pour m'avoir accordé de votre temps.

Yves

Bonjour à tous,

Voila plus d'un an j'avais sollicité votre aide pour le fichier joint cela à trés bien marche aussi je reviens vers vous.

Pour éviter aux différents utilisateurs de modifier à leurs insu les onglets JAUNE et BLEU je voudrais ajouter un formulaire dans l'onglet Accueil.

Ce (ou ces) formulaire permettra d'enregistrer de nouveau bénéficiaire ou de modifier les bénéficiaires (fin de l'aide, nb d'enfant, etc)

J'ai commencé un formulaire (comme modèle) dans l'userform. Vous pouvez modifier ou ajouter les boutons de commande.

Le principe des semaines Jaune et Bleu:

Nous ne pouvons pas accueillir tout le monde en même temps, c’est pour cela que nous avons mis en place semaine Jaune et bleu et nous essayons d'équilibrer les bénéficiaires en fonction des semaines.

Merci de votre aide,

Yves

Rechercher des sujets similaires à "retrouver ligne tableau"