Communication Excel / Word en VBA
Résolu/Fermé
mijean94
Messages postés
413
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
12 septembre 2024
-
19 mars 2016 à 21:18
Le Pingou Messages postés 12207 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 30 novembre 2024 - 21 mars 2016 à 22:35
Le Pingou Messages postés 12207 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 30 novembre 2024 - 21 mars 2016 à 22:35
A voir également:
- Communication Excel / Word en VBA
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Espace insécable word - Guide
- Supprimer une page word - Guide
- Organigramme word - Guide
8 réponses
Le Pingou
Messages postés
12207
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 novembre 2024
1 452
20 mars 2016 à 17:17
20 mars 2016 à 17:17
Bonjour,
Pouvez-vous expliquer pourquoi cette ligne de code :
Vous parlez de nombre de page et dans la suite du code vous utiliser la valeur comme largeur de l’objet [Shape]
Pouvez-vous expliquer pourquoi cette ligne de code :
Nb_pages = InputBox("Entrer le nombre de page sur le quel le dessin sera reproduit")
Vous parlez de nombre de page et dans la suite du code vous utiliser la valeur comme largeur de l’objet [Shape]
mijean94
Messages postés
413
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
12 septembre 2024
11
20 mars 2016 à 22:53
20 mars 2016 à 22:53
Bonjour,
Je réalise des créations de dessin sur livre par pliage pour mon plaisir. La ligne de code en question est utilisée pour convertir un nombre de page du livre en cm de rendu d’un dessin, afin de conserver une proportion au dessin par rapport à la hauteur de celui-ci.
ce que je cherche à faire :
a) créer un dessin sur Excel (WordArt) au bonnes dimensions par rapport à la hauteur de mon livre et au nombre de page que j'utilise
b) copier ce dessin sur une page Word (objet de ma 1ere question)
c) transformer cette page Word n JPG (Objet de ma deuxième interrogation, toujours à partir du code sous Excel)
d) récupérer le JPG, donc une image de mon dessin, pour la traiter avec une autre application sous Excel (cette séquence est presque résolue)
cordialement
Je réalise des créations de dessin sur livre par pliage pour mon plaisir. La ligne de code en question est utilisée pour convertir un nombre de page du livre en cm de rendu d’un dessin, afin de conserver une proportion au dessin par rapport à la hauteur de celui-ci.
ce que je cherche à faire :
a) créer un dessin sur Excel (WordArt) au bonnes dimensions par rapport à la hauteur de mon livre et au nombre de page que j'utilise
b) copier ce dessin sur une page Word (objet de ma 1ere question)
c) transformer cette page Word n JPG (Objet de ma deuxième interrogation, toujours à partir du code sous Excel)
d) récupérer le JPG, donc une image de mon dessin, pour la traiter avec une autre application sous Excel (cette séquence est presque résolue)
cordialement
Le Pingou
Messages postés
12207
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 novembre 2024
1 452
20 mars 2016 à 23:23
20 mars 2016 à 23:23
Bonjour,
Vous dites : un dessin sur Excel (WordArt) en principe (WordArt) est une zone de texte stylisée mais pas un dessin… !
Il se fait tard, je regarderai demain pour arriver à comprendre et voir ce qui est faisable.
Vous dites : un dessin sur Excel (WordArt) en principe (WordArt) est une zone de texte stylisée mais pas un dessin… !
Il se fait tard, je regarderai demain pour arriver à comprendre et voir ce qui est faisable.
mijean94
Messages postés
413
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
12 septembre 2024
11
Modifié par mijean94 le 21/03/2016 à 09:34
Modifié par mijean94 le 21/03/2016 à 09:34
Bonjour,
Vous dites : un dessin sur Excel (WordArt) en principe (WordArt) est une zone de texte stylisée mais pas un dessin… ! oui bien sur
Voici ce que je fais en manuel pour obtenir ce que je souhaite :
a) création du texte en Word Art sous Excel avec mise aux dimensions suivant mon besoin (h en cm *L en fonction du nb de page traduit ne cm).
b) je fait un copier et coller de ce texte sur Word en mode paysage centré sur la page
c) j'imprime la page Word avec Pdf Créator en pdf
d) j'ouvre le doc pdf et je le sauvegarde en jpg
e) après je récupère ce jpg (donc fichier image) que je traite en fonction de mon besoin (en automatique sous Excel, partie presque finalisée)
Je travail avec Excel 2003 et il n’est pas possible de sauvegarder une page en jpg directement, il me semble.
Sous Word je n’ai pas trouvé comment passer directement en jpg
donc je souhaiterai automatiser la section de a) à d)
Je suis à votre écoute pour tout complément d’information.
Merci par avance d’avoir consacré du temps à mon application
Bien cordialement
Vous dites : un dessin sur Excel (WordArt) en principe (WordArt) est une zone de texte stylisée mais pas un dessin… ! oui bien sur
Voici ce que je fais en manuel pour obtenir ce que je souhaite :
a) création du texte en Word Art sous Excel avec mise aux dimensions suivant mon besoin (h en cm *L en fonction du nb de page traduit ne cm).
b) je fait un copier et coller de ce texte sur Word en mode paysage centré sur la page
c) j'imprime la page Word avec Pdf Créator en pdf
d) j'ouvre le doc pdf et je le sauvegarde en jpg
e) après je récupère ce jpg (donc fichier image) que je traite en fonction de mon besoin (en automatique sous Excel, partie presque finalisée)
Je travail avec Excel 2003 et il n’est pas possible de sauvegarder une page en jpg directement, il me semble.
Sous Word je n’ai pas trouvé comment passer directement en jpg
donc je souhaiterai automatiser la section de a) à d)
Je suis à votre écoute pour tout complément d’information.
Merci par avance d’avoir consacré du temps à mon application
Bien cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le Pingou
Messages postés
12207
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 novembre 2024
1 452
21 mars 2016 à 14:23
21 mars 2016 à 14:23
Bonjour,
Dans un premier temps (imprévu ; de retour en fin de soirée) je vous ai mis le code pour copier la zone de texte de Excel sur le nouveau document Word.
Votre classeur : https://www.cjoint.com/c/FCvnw4u46KI
Dans un premier temps (imprévu ; de retour en fin de soirée) je vous ai mis le code pour copier la zone de texte de Excel sur le nouveau document Word.
Votre classeur : https://www.cjoint.com/c/FCvnw4u46KI
mijean94
Messages postés
413
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
12 septembre 2024
11
21 mars 2016 à 14:37
21 mars 2016 à 14:37
Bonjour,
Merci pour ce travail. je vais faire des essais.
Peut-être qu’il y a une solution sans passer par Word, mais je cherche comment sélectionner toutes les cellules sur les quelles le Word Art se trouve puis faire la sauvegarde en jpeg via PDF créator.
Il semble que la gestion de PDF créator n’est pas possible par VBA, donc le changement de nom et l’extension jpg doit être sélectionnée manuellement.
Cordialement
Merci pour ce travail. je vais faire des essais.
Peut-être qu’il y a une solution sans passer par Word, mais je cherche comment sélectionner toutes les cellules sur les quelles le Word Art se trouve puis faire la sauvegarde en jpeg via PDF créator.
Il semble que la gestion de PDF créator n’est pas possible par VBA, donc le changement de nom et l’extension jpg doit être sélectionnée manuellement.
Cordialement
Le Pingou
Messages postés
12207
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 novembre 2024
1 452
21 mars 2016 à 17:25
21 mars 2016 à 17:25
Bonjour,
J’ai un peu d’avance.
Cet essai insère l’objet Excel sur Word et le place au centre de la page.
Votre classeur : https://www.cjoint.com/c/FCvqxGmUgCI
Note pourquoi avez-vous besoin de convertir l’objet Shape en extension JPG ….
J’ai un peu d’avance.
Cet essai insère l’objet Excel sur Word et le place au centre de la page.
Votre classeur : https://www.cjoint.com/c/FCvqxGmUgCI
Note pourquoi avez-vous besoin de convertir l’objet Shape en extension JPG ….
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
21 mars 2016 à 18:01
21 mars 2016 à 18:01
Bonjour,
des fois que ça intéresse : https://stackoverflow.com/questions/18232987/export-pictures-from-excel-file-into-jpg-using-vba
Après neutralisation de lignes dont certaines me donnaient un BSOD :
Testé sur un WordArt, j'ai bien eu le jpg
eric
des fois que ça intéresse : https://stackoverflow.com/questions/18232987/export-pictures-from-excel-file-into-jpg-using-vba
Après neutralisation de lignes dont certaines me donnaient un BSOD :
Sub test() For Each oShape In ActiveSheet.Shapes strImageName = ActiveSheet.Cells(oShape.TopLeftCell.Row, 1).Value oShape.Select 'Picture format initialization 'Selection.ShapeRange.PictureFormat.Contrast = 0.5: Selection.ShapeRange.PictureFormat.Brightness = 0.5: Selection.ShapeRange.PictureFormat.ColorType = msoPictureAutomatic: Selection.ShapeRange.PictureFormat.TransparentBackground = msoFalse: Selection.ShapeRange.Fill.Visible = msoFalse: Selection.ShapeRange.Line.Visible = msoFalse: Selection.ShapeRange.Rotation = 0#: Selection.ShapeRange.PictureFormat.CropLeft = 0#: Selection.ShapeRange.PictureFormat.CropRight = 0#: Selection.ShapeRange.PictureFormat.CropTop = 0#: Selection.ShapeRange.PictureFormat.CropBottom = 0#: Selection.ShapeRange.ScaleHeight 1#, msoTrue, msoScaleFromTopLeft: Selection.ShapeRange.ScaleWidth 1#, msoTrue, msoScaleFromTopLeft '/Picture format initialization Application.Selection.CopyPicture Set oDia = ActiveSheet.ChartObjects.Add(0, 0, oShape.Width, oShape.Height) Set oChartArea = oDia.Chart oDia.Activate With oChartArea .ChartArea.Select .Paste .Export ("D:\tmp\test.jpg") End With oDia.Delete 'oChartArea.Delete Next End Sub
Testé sur un WordArt, j'ai bien eu le jpg
eric
Le Pingou
Messages postés
12207
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 novembre 2024
1 452
>
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
21 mars 2016 à 18:13
21 mars 2016 à 18:13
Bonjour eriiic,
Eh bien c’est avec grand plaisir que je vais essayer ta proposition.
Merci
Amicalement
Le Pingou
Eh bien c’est avec grand plaisir que je vais essayer ta proposition.
Merci
Amicalement
Le Pingou
Le Pingou
Messages postés
12207
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 novembre 2024
1 452
21 mars 2016 à 18:46
21 mars 2016 à 18:46
Bonjour eriiic,
C’est super pratique et en adaptant ton code toutes les [Shape] se retrouvent sur bureau.
Lignes adaptées :
Amicalement
Le Pingou
C’est super pratique et en adaptant ton code toutes les [Shape] se retrouvent sur bureau.
Lignes adaptées :
.Export ("C:\Users\PJP\Desktop\test_" & c & ".jpg") ' D:\tmp\test.jpg")
End With
c = c + 1
Amicalement
Le Pingou
mijean94
Messages postés
413
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
12 septembre 2024
11
>
Le Pingou
Messages postés
12207
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 novembre 2024
21 mars 2016 à 19:21
21 mars 2016 à 19:21
Bonjour,
Merci à tous les deux pour votre aide.
Effectivement ça marche nickel et ça répond à mon besoin.
Je vis essayer d'adapter pour pouvoir entrer le nom du fichier à sauvegarder et l'affaire sera OK
Un grand merci
Cordialement
Merci à tous les deux pour votre aide.
Effectivement ça marche nickel et ça répond à mon besoin.
Je vis essayer d'adapter pour pouvoir entrer le nom du fichier à sauvegarder et l'affaire sera OK
Un grand merci
Cordialement
Le Pingou
Messages postés
12207
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 novembre 2024
1 452
>
mijean94
Messages postés
413
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
12 septembre 2024
21 mars 2016 à 22:35
21 mars 2016 à 22:35
Merci,de rien.
Bonne suite.
Salutations.
Le Pingou
Bonne suite.
Salutations.
Le Pingou
mijean94
Messages postés
413
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
12 septembre 2024
11
21 mars 2016 à 21:48
21 mars 2016 à 21:48
Re,
Encore merci pour votre aide rapide et efficace .
J’ai ajouter une ligne de code en début pour saisir le nom du fichier à sauvegarder, et modifié la ligne export.
Cordialement
Encore merci pour votre aide rapide et efficace .
J’ai ajouter une ligne de code en début pour saisir le nom du fichier à sauvegarder, et modifié la ligne export.
nom_fichier = InputBox("Saisir le nom du fichier à sauvegarder")
For Each oShape In ActiveSheet.Shapes
strImageName = ActiveSheet.Cells(oShape.TopLeftCell.Row, 1).Value
oShape.Select
Application.Selection.CopyPicture
Set oDia = ActiveSheet.ChartObjects.Add(0, 0, oShape.Width, oShape.Height)
Set oChartArea = oDia.Chart
oDia.Activate
With oChartArea
.ChartArea.Select
.Paste
.Export ("C:\Users\Jean Mi\documents\" & nom_fichier & ".jpg")
End With
oDia.Delete 'oChartArea.Delete
Next
End Sub
Cordialement