IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Voyant en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 96
    Par défaut Voyant en VBA
    Bonjour,

    J'utilise une caméra pour détecter différentes couleurs (RVB)
    Cette caméra me renvoie sur le port série une valeur m'indiquant les différents niveaux de rouge de vert de bleu
    En fonction de cette valeur je voudrais allumer un voyant pour chaque couleur
    sur le Userform.
    Quel élément me conseillez vous ?

    Merci d'avance

    CC

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Ne sachant pas sous quelle forme est récupéré le code et ce que tu entends par "allumer un voyant pour chaque couleur", ci-joint un petit exemple assez simple qui te permet d'afficher chaque couleur et la combinaison des 3 couleurs.

    Pièce jointe 34497
    .

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 96
    Par défaut voyant en VBA
    Merci pour ta réponse,
    Je connais maintenant la fonction pour récupérer certains caractères de la chaîne (mid)
    L'information que je récupère est de la forme S 25 116 49
    25 moyenne de rouge
    116 moyenne de vert
    49 moyenne de bleu

    Je voudrais sur mon PC (ma visu) un bouton d'acquisition pour capter l'image donc recevoir l'info S 25 .....

    et avoir 3 voyants gris avant l'acquisition et qui change de couleurs
    (un qui passe rouge , l'autre au vert et le dernier bleu)

    Est ce possible ?

    merci d'avance

    CC
    Images attachées Images attachées  

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    je ne vois pas vraiment où tu veux aller !

    Voilà un exemple (à toi de voir tes calculs, hein ...en fonction de ce que tu cherches !!!)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Command1_Click()
      Dim recu As String, rouge As Integer, vert As Integer, bleu As Integer, mescomposantes
      recu = "S 25 116 49"
      mescomposantes = Split(recu, " ")
      rouge = mescomposantes(1)
      vert = mescomposantes(2)
      bleu = mescomposantes(3)
      MsgBox rouge & " " & vert & " " & bleu
      Shape1.BackColor = RGB(128 + rouge, 128, 128)
      Shape2.BackColor = RGB(128, 128 + vert, 128)
      Shape3.BackColor = RGB(128, 128, 128 + bleu)
    End Sub
    J'appelle ton attention sur le fait que R,G et B ne sont pas des "moyennes" mais des valeurs de composantes et que ces valeurs n'ont rien à voir avec les "proportions" utilisées en peinture, hein (signe : un peintre).

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 96
    Par défaut
    Bonsoir,

    Mon objectif est de faire une interface homme machine sur un système industriel.
    J'ai une caméra qui détecte le passage d'un objet et elle doit indiquer à l'opérateur si celui ci est rouge, vert ou bleu .
    J'ai mis un bouton de commande pour faire l'acquisition manuelle lorsque l'objet est devant la caméra et je voudrais un indicateur ou des indicateurs pour donner la couleur détectée.

    Je viens d'essayer le code et j'ai une erreur dans la compilation 'erreur d'éxécution 424 objet requis
    Débogage ' Shape1.backcolor=...... ' pouvez vous m'indiquer le rôle de cette ligne.
    Je suis désolé mais je suis novice en VBA
    Mon niveau pour le moment c'est envoyer et recevoir des données par le port série (c'est limité ...)

    merci pour votre aide et votre indulgence

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Ci-joint un petit exemple avec des objets sur une feuille (objets qui n'acceptent pas la propriété BackColor)
    Pour comprendre, clic sur les objets, regarde leurs noms (dans la zone nom en haut à gauche) et regarde comment ils sont intégrés dans le code.

    Pièce jointe 34517

    Par contre, une explication que ucfoutu pourrait donner (moi je ne sais pas), est pourquoi ajouter 128 aux valeurs R, G et B ?
    .

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 96
    Par défaut
    Bonsoir,

    Merci pour votre code.
    Je pars de zéro et tout ceci me fait du bien ...
    Question
    Comment faites vous pour placer un bouton sur une feuille excel, moi j'arrive à le faire seulement lorsque j'insère un userform ..
    La question est faiblarde mais je débute ...
    Merci je continue à bosser votre code.

    CC

  8. #8
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Le principe est le même, tu insères le bouton depuis le menu "Boîte à outils contrôles". S'il n'apparait pas, menu Outils --> Personnaliser --> onglet Barres d'outils et cocher le menu en question.

    Une fois le bouton inséré sur la feuille, clic droit sur le bouton puis "Propriétés" pour modifier les propriétés de ce bouton et "Visualiser le code" pour lui affecter une macro. Ensuite il faut désactiver le mode "création" pour pouvoir l'utiliser, c'est l'icône avec une équerre.

Discussions similaires

  1. [VBA] [Interface] BringToFront/SendToBack
    Par DarkVader dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/10/2002, 14h29
  2. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  3. [VBA-E] [Excel] Tri automatique
    Par bovi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/10/2002, 10h19
  4. [VBA-E] [Excel] Filtrer le donnees d'une sheet
    Par donia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2002, 10h55
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo