Son sous condition dans excel 2003

Résolu/Fermé
dancesurfer - Modifié par dancesurfer le 28/08/2011 à 16:11
 dancesurfer - 2 sept. 2011 à 18:57
Bonjour,

Je voudrait arrivé dans une colonne si le terme "finded" ( ce terme peut revenir plusieurs fois ) est placé par excel suite à une condition ( si ) que un beep se fasse entendre, en sachant que je suit obligé de travaillé sous excel 2003 et que ce fichier doit être placé dans un scanner à code barre.

Merci d'avance à tous pour vos réponses.

Bonne journée.

A voir également:

4 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
28 août 2011 à 17:05
C'est très vague comme explication !
Quelle est l'évènement qui entraine l'apparition du "finded" ?
Comment identifie-t-on la ligne ?
A quoi ressemble le classeur ?
Peut-être qu'avec un exemple sur http://cijoint.fr/ ce serait plus explicite.

En attendant, une macro qui teste l'existence de "finded" dans la cellule C1 :
Private Sub Worksheet_Change(ByVal Target As Range)
  If Cells(1, "c").Value = "finded" Then Beep
End Sub
0
Bonjour Patrice33740, je pense qu'il n'y a pas besoin d'envoyer le fichier tu as trouvé ce qu'il me fallait, seul chose si ce n'est pas trop te demander pourrais tu me dire qu'elle modification du code je doit effectuer pour que cela ce fasse sur 1000 cellules.

Merci d'avance pour ton aide et pour ce que tu ma déjà envoyer.

Bien à toi Dancesurfer
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
28 août 2011 à 22:41
Les 1000 cellules ne passent passent pas à "finded" simultanément !!!
Si j'ai bien compris le but de la démarche, il n'y a qu'un cellule qui change à chaque scan.
Il me parait donc facile, en connaissant l'évènement qui provoque ce changement, d'identifier la cellule qui va changer.

Il y a 2 possibilité :
- soit on peut identifier la ligne qui change, et dans ce cas on teste qu'une cellule (c'est une adaptation du code ci-dessus).
- soit, avec une formule, on comptabilise le nombre de "finded" dans une cellule dédiée à cet effet et on surveille l'évolution de cette cellule (c'est moins simple et de plus il faut une cellule supplémentaire qui servira de mémoire pour déceler les évolutions) .
0
Bonsoir, je vous mets mon fichier en attachement avec de plus amples explications en feuil3, encore un tout grand merci pour votre aide
http://www.cijoint.fr/cjlink.php?file=cj201108/cijZJW5548.xls
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 249
Modifié par eriiic le 30/08/2011 à 22:52
Bonsoir,

ton fichier exemple avec 1000 finded dedans ne sert à rien (sauf si tu veux autant de beep que de finded...)
Explique plutôt le fonctionnement de ton vrai fichier.
Comment tu l'utilises et à quel moment tu veux un beep.
Fais l'effort de lire le post 3 et appuie-toi dessus pour expliquer

Tu disais : "finded" ( ce terme peut revenir plusieurs fois ) est placé par excel suite à une condition ( si )
C'est là dessus qu'il faut t'expliquer, il n'y a pas une seule formule dans ton fichier

eric
0
Bonsoir,

C'est le vrai fichier, le but est de placer des données(numéro de séries) en page data(feuil 2; colonne A) et avec le gun (scanner code barre ) de retrouver c'est numéros de séries dans un lot de pièces pouvant aller jusque mille unités( les numéros de séries sont scanner en feuil 1 colonne A). Il peut n'y avoir que une unités a retrouver comme 999.

C'est pourquoi le terme finded est placé suite à un recherchev. (je ne connais pas le vba tout est donc fait avec des conditions et des outils excel ).c'est numéros de séries peuvent arriver dans n'importe quel ordre ou ne pas faire partie de la base de donnée.
La ligne en feuil 1 colonne a change après chaque code barre scanner.

Le but du son est de ne pas avoir besoin de regarder l'écran à chaque fois que je scanne un code barre.

J'espère être clair, dans ma tête sa l'est mais par écrit ce n'est pas évident, je suit désolé.

Merci pour votre aide.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
31 août 2011 à 00:40
Bonjour,

Ton fichier n'est d'aucune utilité et je ne comprends vraiment rien à tes explications !

Peut-être qu'il s'agit de :
Vérifier à l'aide d'un scanner optique si la référence qui vient d'être scannée existe dans une base de données située sur la feuilles 2 colonne A.
Le résultat du scan s'inscrit dans la colonne A de la feuille 1 à la suite du scan précédent.

Si c'est le cas il n'y a aucun intérêt à inscrire "finded" dans la base de données !

C'est dans la colonne B de la feuille 1 qu'il faut l'inscrire, en face de la données qui vient d'être scannée pour savoir si elle existe ou non (en confirmant par un beep).

Dans ce cas ce code à copier dans la feuille 1 devrait suffire (clic droit sur l'onglet, visualiser le code) :
Private Sub Worksheet_Change(ByVal Target As Range)
  If Intersect(Target, Columns("A")) Is Nothing Then Exit Sub
  If Target.Count > 1 Then Exit Sub
  If Not Target.Value > "" Then Exit Sub
  Dim cel As Range
  Set cel = ThisWorkbook.Worksheets(2).Columns("A")
  Set cel = cel.Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
  If Not cel Is Nothing Then
    Target.Offset(, 1).Formula = "finded"
    Beep
  End If
End Sub

0
Bonsoir Patrice33740.

C'est bien cela que je désirait et c'est bien à cela que sert le fichier, :-( j'ai fait comme je pouvait avec mes faibles connaissances en EXCEL, merci beaucoup pour ton aide
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
1 sept. 2011 à 10:45
Les connaissances s'étofferont au fur et à mesure de l'utilisation, essaie de comprendre cette macro, car il est fort probable qu'ultérieurement tu doives la faire évoluer.

Au plaisir de te relire sur le Forum
0
Encore un tout grand merci, en plus je me suit acheté un livre sur le VBA, je voit bien que c'est absolument nécessaire pour être performant. Et promis je vais essayer de comprendre la macro dès que j'aurai quelque notion.

En tout cas vous êtes tous super pour dès gens comme moi, merci mille fois et à très bientôt sur les forums.
0