macro sous word pour transformer chaque lettre d'un texte par une image donnée
4 réponses
c_guillon
bonjour
question simple: ma femme est instit et a cr=E9=E9 un ab=E9c=E9daire pour s=
es
gamins, sous la forme de 26 images .jpg pour chaque lettre
elle voudrait imprimer une liste des pr=E9noms de ses =E9l=E8ves avec ces
lettres
pour l'instant, le seul moyen qu'elle connaisse (et moi aussi) c'est
d'ins=E9rer les lettres une par une pour recomposer les pr=E9noms, ce qui
est fastidieux
quelqu'un saurait il comment faire une macro pour transformer le texte
d'un document en rempla=E7ant chaque lettre par l'image correspondante ?
j'ai essay=E9 mais je ne suis arriv=E9 =E0 changer que la premi=E8re lettre
d'un texte et je ne sais pas changer de ligne, il faut dire que mes
connaissances en vba sont limit=E9es
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Driss HANIB
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" a écrit dans le message de news:
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
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" <c_guillon@yahoo.fr> a écrit dans le message de news:
36908090-4c66-43b1-97fb-096f294d4844@r15g2000prh.googlegroups.com...
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
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" a écrit dans le message de news:
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
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.
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 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.
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.
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
On 15 nov, 14:02, bahn po wrote:
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.
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
On 15 nov, 14:02, bahn po <bah...@vrotiska.net> wrote:
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
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.
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
c_guillon a couché sur son écran :
On 15 nov, 14:02, bahn po wrote:
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.
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.
c_guillon a couché sur son écran :
On 15 nov, 14:02, bahn po <bah...@vrotiska.net> wrote:
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
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 ÿ.
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.
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 ÿ.