Remplacer une valeur en fonction d'une valeur trouvé

Bonjour,

j'ai besoin de votre aide concernant un VBA que je n'arrive à faire seul.

Dans le fichier ci joint j'aimerais que lorsque je clique sur le bouton "retour de rep" et que je scan un code à barre, la valeur "N°" de la feuille "Data" soit recherchée dans le tableau "Menu pointage" et que la valeur en colonne "Etat" change de "Réparation" à Vide.

J'espère avoir été assez clair... :)

Merci d'avance pour votre aide

Loïs

Bonjour,

Quelque chose comme ça ?

Private Sub Valider_Click()
DateAujourdhui = Format(Now, "dd/mm/yy")    'Date du jour
DerDonneePointage = ThisWorkbook.Sheets("Menu pointage").Range("E" & Rows.Count).End(xlUp).Row           'Derniere ligne du menu pointage

ThisWorkbook.Sheets("Data").Range("A2") = Scan.Value        'Valeur scanné dans Data / Scan
ThisWorkbook.Sheets("Data").Range("C2") = DateAujourdhui    'Date du scan dans Data / Date

For ProduitScan = 10 To DerDonneePointage               'Pour les lignes 10 a la dernier de pointage produit
    If Scan.Value = Range("E" & ProduitScan) Then       'Si la valeur en colonne E de cette ligne est = au produit scanné
        Range("E" & ProduitScan).Select                 'On selectionne cette ligne
            Ligne_Produit = ActiveCell.Row              'Pour Recupérer son numéro de ligne
        ThisWorkbook.Sheets("Menu pointage").Range("G" & Ligne_Produit) = ""        'On se sert de cette ligne pour mettre l'Etat du menu pointage a vide

        '... autre donnée a modifier

        GoTo StopRecheche   'Valeur trouvé boucle fini
    End If
Next ProduitScan
StopRecheche:

'... suite ?

End Sub

A+

Oui quelque chose de ce style. Mais pour l'instant je tâtonne pour l'adapter parfaitement à mon fichier.

il n'y aurait pas d'autre élément à modifier ni de suite

merci pour votre réponse

Bonjour Goef,

Lorsque j'exécute votre code il ne se passe rien dans mon tableau principal (tableau dans la feuille "Menu Pointage"). Cela ne change que dans la feuille "Data".

image

de plus l'userform ne se referme pas.

J'ai essayé toute la fin d'aprem de trouver une solution avec votre code afin de l'adapter mais sans succès..

Bonjour,

Le fichier que je t'ai joint prend la colonne E ("Désignation produit") en terme d'élément scanné et non le N° + le réf.

Le scan n'est donc pas trouvé et il ne fait rien sur "Menu Pointage" puisque pour le programme, le produit scanné n'est pas répertorié.

Pour corriger ça, tu peux remplacer

If Scan.Value = Range("E" & ProduitScan) Then

Par

If Scan.Value = Range("C" & ProduitScan) & " " & Range("D" & ProduitScan) Then

Pour que l'userform se ferme, il suffit de lui rajouter a la fin de la procédure "Unload Me" comme sur tes 2 autres boutons déja en place.

A+

Pour les "Unload me" j'étais tellement dans le truc de chercher pour le reste que j'en ai oublié ce que je connaissais

C'est parfait merci beaucoup !

Bonne journée

Rechercher des sujets similaires à "remplacer valeur fonction trouve"