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 :

Vidéo temps réel dans une feuille excel depuis une webcam/caméra externe [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2017
    Messages : 132
    Par défaut Vidéo temps réel dans une feuille excel depuis une webcam/caméra externe
    Bonjour à tous,

    J'ai à saisir dans une feuille excel une valeur de pression à partir de laquelle un matériau n'est plus étanche à l'eau. Pour obtenir cette valeur, j'augmente manuellement la pression et vérifie la surface du matériau sur une vidéo issue d'un microscope USB via le logiciel AMCAP : quand une goutte d'eau apparaît je note la valeur de la pression. Cependant, naviguer entre la fenêtre excel et la fenêtre vidéo n'est guère pratique c'est pourquoi j'aimerais insérer la vidéo en temps réel dans ma feuille de calcul afin de synchroniser observation et saisie et de le faire au même endroit.

    J'ai beaucoup cherché mais je ne trouve absolument rien d'intéressant. J'en fais donc appel à vous dans l'espoir que vous puissiez m'aider.

    Cordialement

    Nagel Tha

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    A ma connaissance, on peut insérer dans Excel un fichier video mais pas une video en direct.

  3. #3
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2017
    Messages : 132
    Par défaut
    Je vais attendre quelques avis. Si personne n'a de piste je me contenterai d'insérer un cliché si c'est utile. Mon souci étant justement que comme je n'ai qu'une valeur a noté, prendre un cliché n'est pas une bonne solution dans le sens où cela va forcer à faire une saisie à chaque incrément.

    A moins de faire une boucle afin d'écraser la capture avec une nouvelle capture et à ce moment là il faudrait qu'une nouvelle itération de la boucle soit déclenchée par un événement clavier (l'incrément étant manuel je ne peux pas utiliser un pas de temps constant)...

    Cela amène une autre question : est-il possible de récupérer la valeur des touches pressées afin qu'entrer la valeur de la pression soit mon événement clavier et que les 3 touches du pavé numérique permettent d'inscrire en même temps la valeur de la pression ? (aucune cellule n'étant sélectionnée spécialement)

    Si vous avez d'autres propositions je suis preneur bien sûr

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2017
    Messages : 132
    Par défaut
    Voici ce que j'ai trouvé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    Sub CommandButton1_Click()
    ' Le code suivant permet de capturer une image à partir d'une caméra (la webcam par défaut mais une modification du code permet
    ' d'utiliser une caméra extérieure.
    ' L'exécutable, le classeur Excel et l'image doivent être dans le même répertoire. Autrement le code doit être adapté en conséquence.
    ' L'exécutable et le code original ont été proposés par batchloaf (Ted Burke) le 7 janvier 2013 sur son blog :
    ' https://batchloaf.wordpress.com/2013/01/07/running-commandcam-from-excel-using-vba/
    ' Le code ci-dessous en est simplement une traduction en français avec ajout de quelques commentaires 
     
        Dim ValeurRetour
     
        ' Assurez-vous que le répertoir est celui où se trouve votre classeur Excel :
        ChDir (ActiveWorkbook.Path)
     
        ' Supprimez le fichier image s'il y en a un :
        If Dir("image.bmp") > "" Then ' Opération effectuée si un fichier est déjà présent dans le répertoire
            Kill ("image.bmp") ' Suppression du fichier image
        End If
     
        ' La boucle while suivante permet de s'assurer que le fichier image a bien été supprimé :
        While Dir("image.bmp") > ""
        Wend
     
        ' Capture de la nouvelle image :
        ValeurRetour = Shell("CommandCam.exe", vbNormalFocus) ' Exécution avec affichage de la console
        ' ValeurRetour = Shell("CommandCam.exe", vbHide) ' Exécution sans affichage de la console
        ' Par défaut, la source est la webcam mais il est possible de mofifier la ligne de manière à utiliser une caméra externe
     
        ' La boucle suivante permet de s'assurer que l'image a bien été sauvegardée dans le répertoire :
        While Dir("image.bmp") = ""
        Wend
     
        ' Court délai après la sauvegarde afin de s'assurer que l'opération soit terminée avant une nouvelle action :
        Application.Wait (Now + TimeValue("00:00:01"))
     
        ' Chargement de l'image capturée et sauvegardée dans l'objet image "Image1" de la première feuille (Feuil1) :
        Feuil1.Image1.Picture = LoadPicture("image.bmp") ' Rafraîchissement de l'objet image
        ' Cette ligne cause une erreur s'il n'y a pas d'objet image initialement dans la feuille
        ' Si l'objet image est dans une autre feuille ou qu'il ne s'appelle pas "Image1" modifier le code en conséquence
    End Sub
    Le code original (proposé par batchloaf) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    Private Sub SnapshotButton_Click()
        Dim RetVal
     
        ' Make sure the current directory is set to the one
        ' where the Excel file is saved
        ChDir (ActiveWorkbook.Path)
     
        ' First, delete image file if present
        Kill ("image.bmp")
     
        ' Now, wait until image file is definitely gone
        While Dir("image.bmp") > ""
        Wend
     
        ' Capture new image
        RetVal = Shell("CommandCam.exe", vbNormalFocus)
     
        ' Wait until image file is definitely there
        While Dir("image.bmp") = ""
        Wend
     
        ' Short delay to let new file finish saving
        Application.Wait (Now + TimeValue("00:00:01"))
     
        ' Load new image into image object on spreadsheet
        Image1.Picture = LoadPicture("image.bmp")
    End Sub
    Le répertoire (capture ici du post de blog de batchloaf) :
    Nom : excelcam_folder.jpeg
Affichages : 1946
Taille : 91,7 Ko

    La console qui apparaît (si vbNormalFocus) :
    Nom : Capture (2)_LI.jpg
Affichages : 1945
Taille : 757,7 Ko
    J'ai ajouté le point rouge au niveau de la ligne qui la fait apparaître.

    J'ai pris cette exécutable car je manque de temps pour en créer un moi-même mais cela est tout à fait possible.

    Lien vers la licence d'utilisation.

    Lien vers le blog de batchloaf

    Lien de l'exécutable proposé par batchloaf

    Et son code source en C++

    La page GitHub de batchloaf (Ted Burke)

    J'ai encore des adaptations à faire pour remplir mon cahier des charges. La solution technique que je choisis de développer (basée) sur l'exécutable mis à disposition par Ted Burke alias batchloaf est une feuille excel contenant un objet image que je rafraîchirai avec la capture image du microscope à chaque saisie de pression : à chaque incrément de pression, l'utilisateur entrera la pression puis après 5 secondes, l'objet image sera actualisé avec l'image capturé. L'utilisateur contrôlera la présence d'une goutte en surface du matériau. En l'absence de goutte il répétera ces opérations, sinon la valeur de pression correspondra à la valeur du WEP (Water Entry Pressure) c'est-à-dire à la pression limite d'étanchéité à l'eau du matériau.

    En ce qui concerne ma question initiale, je considère que la réponse est "avec Excel et VBA cela est soit impossible, soit très compliqué". Je note donc mon problème comme "résolu" et je remercie Menhir de sa réponse. Pour ceux que la question intéresse je propose l'alternative ci-dessus et si je parviens à une solution aboutie je la posterai éventuellement

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    quand on cherche on trouve
    meme sur DVP tu a des tuto pour WIA si tu avais bien cherché tu aurais trouvé comment capturer une image a partir de la webcam
    sans parler des exemples que l'on trouve partout sur le net exemple ce fichier que j'avais trouvé il y a quelques années
    difficile de faire mieux c'est sur un plateau
    tu n'a pas besoins de commandcam.exe
    Fichiers attachés Fichiers attachés
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2017
    Messages : 132
    Par défaut
    quand on cherche on trouve
    Tu supposes que je n'ai pas cherché. C'est difficile de le prendre bien même si tu as sans doute de bonnes intentions. De plus effectivement j'ai cherché et j'ai trouvé puisque j'ai même pu proposer une solution...
    Je prends cela comme une maladresse de ta part que je pardonne. Par ailleurs je te remercie de ta réponse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/07/2018, 16h35
  2. [XL-2010] Copier coller en VBA un fichier depuis une feuille Excel sur un ordinateur dans un smartphone.
    Par RANDOLOISIRS dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 19/12/2015, 15h52
  3. [XL-2007] copier une feuille excel d'une instance excel à une autre
    Par marcelisa2 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/03/2012, 23h44
  4. [EG] Ecrire dans les cellules d'une feuille Excel depuis SAS
    Par MDsas dans le forum Outils BI
    Réponses: 12
    Dernier message: 15/12/2011, 17h35
  5. Faire appel à un autre fichier excel depuis une feuille excel
    Par dammswell dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/10/2009, 09h24

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