XL 2013 Macro Excel 2013 - Scan par douchette

VEVA21

XLDnaute Nouveau
Bonjour,
Je rencontre un problème sur la macro jointe dans le fichier.
Cette macro permet d'afficher une msgbox "cheptel positif" lorsque nous scannons numéro dans la colonne O

La macro fonctionne lorsque l'on fait un copier collé dans la colonne O
Par contre, lorsque l'on saisit un numéro manuellement dans la colonne O, elle ne fonctionne plus, et d'ailleurs, lorsque l'on scanne avec la douchette le QRCode, elle ne fonctionne pas non plus.

Voici la macro :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lig, Col, DerLi As Integer

Lig = ActiveCell.Row
Col = ActiveCell.Column
DerLi = Worksheets(2).Range("A1").End(xlDown).Row
For i = 1 To DerLi
If Worksheets(1).Cells(Lig, 18) = Worksheets(2).Range("A" & i) Then
MsgBox "CHEPTEL POSITIF"
Exit Sub
End If
Next i

End Sub

je vous joins le fichier.

La Macro permet de contrôler si le numéro de cheptel extrait dans la colonne Q fait partie de la liste des cheptels positifs (sur le deuxième onglet).

Merci d'avance pour vos lumières.

Bonne journée
 

Pièces jointes

  • ImportBvdVide.L.v8 test vide.xlsm
    180.6 KB · Affichages: 9

ivan27

XLDnaute Occasionnel
Bonjour le forum, VEVA21,
Un essai en pièce jointe. Je n'ai pas touché à la macro mais uniquement au formatage des cellules.
Je n'ai pas de douchette sous la main mais la saisie manuelle fonctionne.
Bon après-midi
Ivan
 

Pièces jointes

  • ImportBvdVide.L.v8 test vide.xlsm
    182.8 KB · Affichages: 8

VEVA21

XLDnaute Nouveau
Bonjour, Merci de votre réponse
J'ai testé avec votre fichier, mais lorsque l'on fait "entrée" et non tabulation à la fin de la saisie dans la colonne, cela ne fonctionne pas :-(

Je ne sais pas d'où cela vient, mais à priori, le caractère "tabulation" déclenche la macro, mais pas le caractère "Entrée"
D'ailleurs, si je paramètre la douchette avec le caractère "tabulation" en fin de scan, cela fonctionne mais pas avec le "retour chariot".

Du coup, je n'ai toujours pas de solution :-(
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @VEVA21, @ivan27, le Forum

Essaies avec ce code plutôt dans le Private Module de la Sheet "ImportBvdVide.L.csv.v6"

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim DerLi As Integer
If Target.Count > 1 Then Exit Sub     '<<< Si changement multi-selection on sort
If Target.Column <> 15 Then Exit Sub  '<<< Si on n'est pas dans O on sort...

DerLi = Worksheets(2).Range("A1").End(xlDown).Row
For i = 1 To DerLi
    If Target.Value = Worksheets(2).Range("A" & i).Value Then
        MsgBox "CHEPTEL POSITIF"
        Exit Sub
    End If
Next i

End Sub

L'évènement change "Capte" la sortie de la Cellule par Tabulation ou par Entrée, encore faut-il lui dire dans quelles cellules traquer l'évènement !

Bonne journée
@+Thierry
 

VEVA21

XLDnaute Nouveau
Merci pour votre réponse Thierry,

L'évènement change "Capte" la sortie de la Cellule par Tabulation ou par Entrée, encore faut-il lui dire dans quelles cellules traquer l'évènement !

Comment lui dire dans quelles cellules traquer l'événement ?
Merci de votre retour.
 

Statistiques des forums

Discussions
311 725
Messages
2 081 949
Membres
101 852
dernier inscrit
dthi16088