XL 2016 Ecrire sur unr photo avec paint en vba excel

aurelio.ewane

XLDnaute Occasionnel
Bonjour les excellistes
je dispose de 500 photos et j'aimerais utiliser pzi't pour écrire dessus un message
c'est à dire les nom des élèves c'est pour un examen
je me demandais si c'était possible puisque les différents noms sont sur excel
decrire une macro qui va ouvrir chacune des photos avec paint et d'écrire dedans et fermer et passer à ma suivante
quelqu'un m'a dis que c'était possible avec les apI Windows
je galère la dessus depuis
prière de m'aider
 

Deadpool_CC

XLDnaute Accro
Bonjour,
tout dépend du format attendu mais au plus simple, je ne partirais pas sur une solution Excel
j'aurais plutôt fait un publipostage dans Word pour obtenir un pdf type tombinoscope avec les nom sous les photos...
Piloter une application Externe depuis Excel est franchement pas le plus simple.
 

fanch55

XLDnaute Barbatruc
Bonjour,
Si c'est pour une utilisation personnelle, une solution serait d'installer ImageMagick .
Le logiciel fait tout un tas de choses sur les photos .

L'Api Com pour Vb n'existant plus , on va utiliser la version commande Shell, code à mettre dans un module .
Je vous donne 2 types de notes ... ( il y a beaucoup d'autres options sur le site ImageMagick )
1677153656107.png


Je pense que vous saurez décliner la sub Test pour les cellules de votre tableau

VB:
Sub test()
  
  F = "D:\Users\....\Pictures\Source\"
  T = "D:\Users\....\Pictures\Cible\"
  ImgNote F & "Brochet.jpg", T & "Brochet Com.jpg", "Brochet", 1
  ImgNote F & "Brochet.jpg", T & "Brochet Com2.jpg", "Brochette", 2

End Sub

Sub ImgNote(Source As String, Cible As String, Note As String, TypOfNote)
Select Case True
    Case Note = ""
    Case Not CreateObject("Scripting.FileSystemObject").FileExists(Source)
    Case TypOfNote = 1
        Shell Replace("magick '" & Source & "'" & _
                  " -font Calibri" & _
                  " -pointsize 18" & _
                  " -background Khaki" & _
                  " -gravity Center" & _
                  "  label:'" & Note & "'" & _
                  " -append '" & Cible & "'", _
                  "'", """")
    Case TypOfNote = 2
      Shell Replace("magick '" & Source & "'" & _
                " -font Calibri" & _
                " -pointsize 18" & _
                " -gravity north" & _
                " -annotate +0+0 '" & Note & "'" & _
                "  '" & Cible & "'", _
                "'", """")
End Select
End Sub
 
Dernière édition:

aurelio.ewane

XLDnaute Occasionnel
Bonjour,
Si c'est pour une utilisation personnelle, une solution serait d'installer ImageMagick .
Le logiciel fait tout un tas de choses sur les photos .

L'Api Com pour Vb n'existant plus , on va utiliser la version commande Shell, code à mettre dans un module .
Je vous donne 2 types de notes ... ( il y a beaucoup d'autres options sur le site ImageMagick )
Regarde la pièce jointe 1164037

Je pense que vous saurez décliner la sub Test pour les cellules de votre tableau

VB:
Sub test()
  
  F = "D:\Users\....\Pictures\Source\"
  T = "D:\Users\....\Pictures\Cible\"
  ImgNote F & "Brochet.jpg", T & "Brochet Com.jpg", "Brochet", 1
  ImgNote F & "Brochet.jpg", T & "Brochet Com2.jpg", "Brochette", 2

End Sub

Sub ImgNote(Source As String, Cible As String, Note As String, TypOfNote)
Select Case True
    Case Note = ""
    Case Not CreateObject("Scripting.FileSystemObject").FileExists(Source)
    Case TypOfNote = 1
        Shell Replace("magick '" & Source & "'" & _
                  " -font Calibri" & _
                  " -pointsize 18" & _
                  " -background Khaki" & _
                  " -gravity Center" & _
                  "  label:'" & Note & "'" & _
                  " -append '" & Cible & "'", _
                  "'", """")
    Case TypOfNote = 2
      Shell Replace("magick '" & Source & "'" & _
                " -font Calibri" & _
                " -pointsize 18" & _
                " -gravity north" & _
                " -annotate +0+0 '" & Note & "'" & _
                "  '" & Cible & "'", _
                "'", """")
End Select
End Sub
Bonjour et merci pour votre réaction
please j'ai besoin de bien comprendre
ça veut dire que je dois telecharges le logiciel image magick
et ensuite exécuter la macro?
 

fanch55

XLDnaute Barbatruc
Bonjour et merci pour votre réaction
please j'ai besoin de bien comprendre
ça veut dire que je dois telecharges le logiciel image magick
et ensuite exécuter la macro?
Tout a fait.
cliquez sur le lien hypertexte pour télécharger,
installez le logiciel,
Mettez le code dans un module d'un classeur excel,
Modifiez la sub test avec vos propres fichiers images
Exécutez
 

aurelio.ewane

XLDnaute Occasionnel
Salut @Dranreb ,
Tu as réussi à l'exploiter avec VBA sans entrer dans l'Ui ?
non pas du tout
j'aimerais savoir le lien du dossier ou j'enregistre les photos
le lien du dossier ou je vais stocker les photos modifier
et les messages please je suis perdu

par exemple
mes photos se trouvent
sur un emplacement note source1 et les photos modifiées dans source1
comment adapter à ton code
parce que je n'y comprends rien
 

aurelio.ewane

XLDnaute Occasionnel
Bonjour,
Si c'est pour une utilisation personnelle, une solution serait d'installer ImageMagick .
Le logiciel fait tout un tas de choses sur les photos .

L'Api Com pour Vb n'existant plus , on va utiliser la version commande Shell, code à mettre dans un module .
Je vous donne 2 types de notes ... ( il y a beaucoup d'autres options sur le site ImageMagick )
Regarde la pièce jointe 1164104

Je pense que vous saurez décliner la sub Test pour les cellules de votre tableau

VB:
Sub test()
 
  F = "D:\Users\....\Pictures\Source\"
  T = "D:\Users\....\Pictures\Cible\"
  ImgNote F & "Brochet.jpg", T & "Brochet Com.jpg", "Brochet", 1
  ImgNote F & "Brochet.jpg", T & "Brochet Com2.jpg", "Brochette", 2

End Sub

Sub ImgNote(Source As String, Cible As String, Note As String, TypOfNote)
Select Case True
    Case Note = ""
    Case Not CreateObject("Scripting.FileSystemObject").FileExists(Source)
    Case TypOfNote = 1
        Shell Replace("magick '" & Source & "'" & _
                  " -font Calibri" & _
                  " -pointsize 18" & _
                  " -background Khaki" & _
                  " -gravity Center" & _
                  "  label:'" & Note & "'" & _
                  " -append '" & Cible & "'", _
                  "'", """")
    Case TypOfNote = 2
      Shell Replace("magick '" & Source & "'" & _
                " -font Calibri" & _
                " -pointsize 18" & _
                " -gravity north" & _
                " -annotate +0+0 '" & Note & "'" & _
                "  '" & Cible & "'", _
                "'", """")
End Select
End Sub
que représente TypOfNote
besoin de plus d'explications s'il vous plaît expert
 

fanch55

XLDnaute Barbatruc
ImgNote F & "Brochet.jpg", T & "Brochet Com.jpg", "Brochet", 1
F (From) est le nom du dossier source où sont vos photos
T (To ) est le nom du dossier cible où seront stockées les photos modifiées (annotées) .

TypOfNote est une variable fictive de valeur 1 ou 2 pour indiquer quel type d'annotation est voulu .
 
Dernière édition:

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 868
dernier inscrit
pierreselo33