macro sous word pour transformer chaque lettre d'un texte par une image donnée

Le
c_guillon
bonjour

question simple: ma femme est instit et a créé un abécédaire pour s=
es
gamins, sous la forme de 26 images .jpg pour chaque lettre
elle voudrait imprimer une liste des prénoms de ses élèves avec ces
lettres
pour l'instant, le seul moyen qu'elle connaisse (et moi aussi) c'est
d'insérer les lettres une par une pour recomposer les prénoms, ce qui
est fastidieux
quelqu'un saurait il comment faire une macro pour transformer le texte
d'un document en remplaçant chaque lettre par l'image correspondante ?
j'ai essayé mais je ne suis arrivé à changer que la première lettre
d'un texte et je ne sais pas changer de ligne, il faut dire que mes
connaissances en vba sont limitées

Merci d'avance
Chris
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Driss HANIB
Le #17849761
Salut c_guillon

Moi je ferai comme cela (je pense que ce la est dispnible en VbA)
- nommer chaque image par sa lettre : exemple "A.jpg"
- tu peux écrire un truc de la forme
for i = 1 to len(mot$)
'je ne connais plus la commande pour insérer une image mais ce serai de
la forme
insererImage mid$(mot$,i) & ".jpg"
next

à toi de définir proporement le répertoire ou sont stockées tes images


Driss

"c_guillon"
bonjour

question simple: ma femme est instit et a créé un abécédaire pour ses
gamins, sous la forme de 26 images .jpg pour chaque lettre
elle voudrait imprimer une liste des prénoms de ses élèves avec ces
lettres
pour l'instant, le seul moyen qu'elle connaisse (et moi aussi) c'est
d'insérer les lettres une par une pour recomposer les prénoms, ce qui
est fastidieux
quelqu'un saurait il comment faire une macro pour transformer le texte
d'un document en remplaçant chaque lettre par l'image correspondante ?
j'ai essayé mais je ne suis arrivé à changer que la première lettre
d'un texte et je ne sais pas changer de ligne, il faut dire que mes
connaissances en vba sont limitées

Merci d'avance
Chris
bahn po
Le #17851071
c_guillon a couché sur son écran :
bonjour

question simple: ma femme est instit et a créé un abécédaire pour ses
gamins, sous la forme de 26 images .jpg pour chaque lettre
elle voudrait imprimer une liste des prénoms de ses élèves avec ces
lettres
pour l'instant, le seul moyen qu'elle connaisse (et moi aussi) c'est
d'insérer les lettres une par une pour recomposer les prénoms, ce qui
est fastidieux
quelqu'un saurait il comment faire une macro pour transformer le texte
d'un document en remplaçant chaque lettre par l'image correspondante ?
j'ai essayé mais je ne suis arrivé à changer que la première lettre
d'un texte et je ne sais pas changer de ligne, il faut dire que mes
connaissances en vba sont limitées

Merci d'avance
Chris



En VBA aucune idée, mais en vb6



Private Sub Command1_Click()

Picture1.Picture = Picture1.Image
SavePicture Picture1.Picture, Text2
Clipboard.SetData Picture1.Picture
End Sub

Private Sub Command2_Click()
On Error GoTo recup:
Picture1.Width = 0

Picture1.Cls
For i = 1 To Len(Text1)
Picture2.Picture = LoadPicture(App.Path & "" & Mid(Text1, i, 1) &
".jpg")

Picture1.Width = Picture1.Width + Picture2.Width
If Picture1.Height < Picture2.Height Then Picture1.Height =
Picture2.Height
Picture1.PaintPicture Picture2.Picture, y, 0, , , , , , , vbSrcCopy
Picture1.Picture = Picture1.Image
y = y + Picture2.Width
Next i
Exit Sub
recup:
Label4.Caption = "Etat: " & Err.Description
End Sub

Private Sub Form_Load()
Text1_Change
Label3.Caption = Label3.Caption & ": " & App.Path & ""
Label3.Caption = Replace(Label3.Caption, "\", "")
End Sub

Private Sub Text1_Change()
chaine = "c:@"
Text2 = Replace(chaine, "@", Text1)
Text2 = Text2 & ".bmp"
End Sub


J'ai crée un exécutable, fonctionnel immédiatement.

http://cjoint.com/?lpn1FiCCt4

Cela créera une image en fonction d'une texte qu'il est possible
d'insérer après la sauvegarde via le menu idoine de Word ou de
n'importe quelle autre programme disposant de l'option.
c_guillon
Le #17859031
On 15 nov, 14:02, bahn po
En VBA aucune idée, mais en vb6

Private Sub Command1_Click()

Picture1.Picture = Picture1.Image
SavePicture Picture1.Picture, Text2
Clipboard.SetData Picture1.Picture
End Sub

Private Sub Command2_Click()
On Error GoTo recup:
Picture1.Width = 0

Picture1.Cls
For i = 1 To Len(Text1)
Picture2.Picture = LoadPicture(App.Path & "" & Mid(Text1, i, 1) &
".jpg")

Picture1.Width = Picture1.Width + Picture2.Width
If Picture1.Height < Picture2.Height Then Picture1.Height =
Picture2.Height
Picture1.PaintPicture Picture2.Picture, y, 0, , , , , , , vbSrcCopy
Picture1.Picture = Picture1.Image
y = y + Picture2.Width
Next i
Exit Sub
recup:
Label4.Caption = "Etat: " & Err.Description
End Sub

Private Sub Form_Load()
Text1_Change
Label3.Caption = Label3.Caption & ": " & App.Path & ""
Label3.Caption = Replace(Label3.Caption, "\", "")
End Sub

Private Sub Text1_Change()
chaine = "c:@"
Text2 = Replace(chaine, "@", Text1)
Text2 = Text2 & ".bmp"
End Sub

J'ai crée un exécutable, fonctionnel immédiatement.

http://cjoint.com/?lpn1FiCCt4

Cela créera une image en fonction d'une texte qu'il est possible
d'insérer après la sauvegarde via le menu idoine de Word ou de
n'importe quelle autre programme disposant de l'option.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



hey merci beaucoup, ça marche du feu de dieu, c'est exactement ce que
je voulais.
En plus, si j'ai bien compris, si je veux rajouter de nouveaux
fichiers (admettons un chiffre) il me suffit de le sauvegarder du même
nom que le caractère à taper (ex 1.jpg) pour que ça marche aussi ?
bonne journée
bahn po
Le #17859231
c_guillon a couché sur son écran :
On 15 nov, 14:02, bahn po
En VBA aucune idée, mais en vb6

Private Sub Command1_Click()

Picture1.Picture = Picture1.Image
SavePicture Picture1.Picture, Text2
Clipboard.SetData Picture1.Picture
End Sub

Private Sub Command2_Click()
On Error GoTo recup:
Picture1.Width = 0

Picture1.Cls
For i = 1 To Len(Text1)
Picture2.Picture = LoadPicture(App.Path & "" & Mid(Text1, i, 1) &
".jpg")

Picture1.Width = Picture1.Width + Picture2.Width
If Picture1.Height Picture1.PaintPicture Picture2.Picture, y, 0, , , , , , , vbSrcCopy
Picture1.Picture = Picture1.Image
y = y + Picture2.Width
Next i
Exit Sub
recup:
Label4.Caption = "Etat: " & Err.Description
End Sub

Private Sub Form_Load()
Text1_Change
Label3.Caption = Label3.Caption & ": " & App.Path & ""
Label3.Caption = Replace(Label3.Caption, "\", "")
End Sub

Private Sub Text1_Change()
chaine = "c:@"
Text2 = Replace(chaine, "@", Text1)
Text2 = Text2 & ".bmp"
End Sub

J'ai crée un exécutable, fonctionnel immédiatement.

http://cjoint.com/?lpn1FiCCt4

Cela créera une image en fonction d'une texte qu'il est possible
d'insérer après la sauvegarde via le menu idoine de Word ou de
n'importe quelle autre programme disposant de l'option.- Masquer le texte
des messages précédents -

- Afficher le texte des messages précédents -



hey merci beaucoup, ça marche du feu de dieu, c'est exactement ce que
je voulais.
En plus, si j'ai bien compris, si je veux rajouter de nouveaux
fichiers (admettons un chiffre) il me suffit de le sauvegarder du même
nom que le caractère à taper (ex 1.jpg) pour que ça marche aussi ?
bonne journée



Oui absolument, chaque caractère doit avoir sa correspondance en nom de
fichier, du moment que Windows accepte le nom de fichier car certains
caractère sont interdits, comme " ou ?, mais à la limite tu peux
tricher et remplacer ? par ÿ.

Si cela te convient c'est parfait, bon week end.
Publicité
Poster une réponse
Anonyme