Il pourrait être utile pour vous d'avoir une colonne qui indique clairement "Out" ou "In" en fonction du nombre de balayages. Le code peut être placé dans une nouvelle colonne pour chaque ligne et devrait vous permettre de connaître cette information. Notez que je suppose qu'un nombre impair de balayages indique le statut "Out" et qu'un nombre pair de balayages représente le statut "In".
Ajoutez ceci à une nouvelle colonne :
=IF(MOD(COUNTA($B2:$ZZ2),2)=0,"In", "Out")
Où B est la première colonne d'horodatage et ZZ est le point le plus éloigné où l'on peut imaginer que les scans sortent.
COUNTA() compte le nombre de cellules non vides. MOD() effectue l'opérateur modulo qui indique le reste après division. IF() définit une valeur en fonction du résultat vrai ou faux d'un test.
À partir de là, vous pouvez utiliser le formatage conditionnel pour colorer la colonne "IN/OUT" de la couleur appropriée en fonction de sa propre valeur.
Si vous ne pouvez pas ajouter une colonne Étant donné que le code VBA devrait être modifié et que cela n'est pas acceptable, vous pouvez simplement utiliser cette formule à la place de la formule que je vous ai donnée ci-dessous pour votre mise en forme conditionnelle :
=MOD(COUNTA(C1:ZZ1),2)>0
Cette formule permet de vérifier si l'article est épuisé. Utilisez cette formule pour vérifier s'il est entré :
=MOD(COUNTA(C1:ZZ1),2)<1
Je pense que c'est une excellente utilisation du formatage conditionnel !
Commencez par sélectionner la colonne des codes-barres et allez au formatage conditionnel dans le ruban du haut.
Sélectionnez "Nouvelle règle".
Choisissez la dernière option dans la liste Type de règle : "Utiliser une formule pour déterminer les cellules à mettre en forme".
Dans la barre de formule, utilisez ce code et tapez ceci
=ISNUMBER(FIND("Out",$A2))
Où A2 représente l'emplacement de la colonne In/Out. Notez que le signe dollar conserve la colonne A mais ajuste la règle pour chaque ligne vers le bas.
Choisissez maintenant le formatage que vous souhaitez (c'est-à-dire la couleur de fond de la cellule du code-barres).
Vous répéterez ensuite ces étapes pour le formatage avec un fond vert lorsque l'élément est "In".
Edit : Juste pour information, la fonction FIND() essaie de trouver le texte donné dans un emplacement spécifié. Si elle trouve le texte que vous recherchez, elle renvoie l'endroit dans la chaîne où le texte a commencé, sinon elle renvoie une erreur. Nous pouvons ensuite utiliser ISNUMBER() pour vérifier si la valeur renvoyée était un nombre et, par conséquent, si elle se trouvait dans la cellule spécifiée.