Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/04/2008, 11h06   #1
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 0
Points : 0
Par défaut Insérer un objet Word dans un fichier powerpoint, à 1 hauteur et largeur prédéfinies

Bonjour à tous,

En mode page de commentaire, lors d'un import d'objet Word (insert > object > create from file > fichier.doc) dans powerpoint, celui-ci se positionne au milieu de ma page.

Je souhaiterais savoir comment, lors de cet import d'objet, je pourrais "figer" une hauteur et une largeur afin que mon objet se positionne correctement (par exemple: largeur: 3 cm - hauteur: 12 cm).

On m'a parlé de la création d'une macro à cet effet (via Dotnet?). Quelqu'un pourrait-il m'aider? Quelqu'un a-t-il une solution à me proposer, svp?

L'utilisation d'une macro semble inévitable. PowerPoint ne proposant pas cela par défaut.

J'espère avoir été clair...

Merci d'avance!!!

Faninho.
Faninho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 11h30   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 909
Points : 30 909
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Pas besoin de macro pour positionner un objet, surtout que tu fais un import manuel.

Tu sélectionnes ton objet, un clique droit pour afficher le menu conceptuel, là tu sélectionnes Mettre en forme l'objet.

Tu auras l'ouverture d'une fenêtre avec des onglets, un onglet Taille et Position.

Edit : La manipulation est valable pour PowerPoint 2002 et 2003, je n'ai pas la version 2007 sous la main (que ce soir), et 2000 pas du tout.

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 11h45   #3
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 0
Points : 0
Le truc, c'est que j'ai jusqu'à 100 objets à importer et j'aurais aimé automatiser mon import; pour ne pas à refaire la manip dont tu me parles à chaque fois.
Faninho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 11h52   #4
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 909
Points : 30 909
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Ok, il fallait préciser.

Regardes le code que j'ai donné dans cette discussion : http://www.developpez.net/forums/sho...d.php?t=520907

Ce qui va changer dans ton cas c'est le type, donc remplace la lignes
Code :
If shp.Type = msoPicture Then
par
Code :
If shp.Type = msoOLEControlObject Then
cela devrait le faire (pas testé avec un document Word). ou comme type : msoEmbeddedOLEObject ou msoLinkedOLEObject

Par contre ce code ne sert que pour la remise en forme, je vais regarder pour l'import, mais peut-être pas avant ce soir. Il ne faut pas croire mais je bosse.

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 11h59   #5
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 909
Points : 30 909
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Re

Cependant il faudrait un peu plus de détails avant de créer un code d'importation de fichier Word.

Combien ? Tous au même endroit ? etc...

Un espéce de petit cahier des charges, car on peut patauger longtemps.

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 12h23   #6
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 0
Points : 0
Merci pour ton aide!!!

En fait, a chaque page (format page de commentaire), j'importe un fichier word.

Je te mets une capture d'écran pour te donner une idée.

J'ai environ 100 pages PPT, donc 100 objets Word a réimporter.
Images attachées
Type de fichier : gif exemple.GIF (61,6 Ko, 3 affichages)
Faninho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 12h25   #7
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 909
Points : 30 909
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Re

Où sont tes fichiers ? Même répertoire ?
Version de PPT ?

Edit : Y a-t-il un ordre d'insertion ? Comment sont nommés tes fichiers ? Il faut plus de détails.

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 12h50   #8
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 0
Points : 0
Re,

La version de PPT est la 2000.

Mon fichier powerpoint (PA2_GU.ppt) est au même niveau que mon dossier qui contient tous mes objets Word.

Ce dossier s'appelle "code objet péda". Les fichiers Word sont nommés de la façon suivante: PA2_010.doc, PA2_015.doc, PA2_020.doc, ..., PA2_100;doc

J'insère mon objet PA2_010.doc à la page 7 de mon doc PPT. Et ainsi de suite...
Images attachées
Type de fichier : gif 2008-04-08_124501.gif (1,6 Ko, 3 affichages)
Faninho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 14h34   #9
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 909
Points : 30 909
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Re

Dernière question, est-ce que toutes tea diapositives sont crées où les crées tu au fur et à mesure ?

Si je compte bien, tu démarres à 7 + 100, donc 107 diapositives, exact ?

Quel est ton niveau en VBA ?

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 05h10   #10
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 909
Points : 30 909
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

On va essayer de faire quelque chose, mais sans garantie, car je n'ai pas PPT 2000, j'ai travaillé sous PPT 2007.

Dans l'éditeur VBA, insère un module et colle le code suivant à l'intérieur

Code :
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
Public Sub Chargement()
    ' ===== déclaration des variables =====
    Dim fso As FileSystemObject
    Dim fld As Folder
    Dim fle As File
    Dim i As Integer ' pour incrémenter les slides (diapositives)
 
    ' ===== affectation ====
    Set fso = New FileSystemObject
    Set fld = fso.GetFolder(Application.ActivePresentation.Path & "\Code Objet Pedagogique")
    i = 7 ' pour se mettre sur la première diapositive
    ' on parcours les fichiers du répertoire
    For Each fle In fld.Files
        ' on ajoute le fichier word à la diapositive
        ActivePresentation.Slides(i).Shapes.AddOLEObject 10, 10, 200, 200, , fld.Path & "\" & fle.Name
        ' on teste la dernière diapo avant de continuer
        If i = ActivePresentation.Slides.Count Then
            Exit For
        Else
            i = i + 1
        End If
    Next fle
    MsgBox "Traitement terminé"
 
End Sub
Ensuite dans le menu Outils/Référence, recherche la bibliothèque Microsoft Scripting Runtime; coche là et valide.

Ensuite mets le curseur dans la procédure et appuie sur la touche F5, et attends, le traitement peut-être assez long, un message apparaitra à la fin pour te signaler la fin du traitement.

Regardes dans l'aide VB pour voir à quoi correspondent chaque instructions.

Donc sans garantie, car non testé sous PPT 2000. Essayes déjà sur un diaporama vierge d'une dizaine de diapositive (on commence à 7).

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 11h31   #11
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 0
Points : 0
Bonjour et tout d'abord merci pour tes infos!!!

Toutes mes diapos sont créées: le powerpoint "traditionnel" est fait; je n'ai plus qu'à ajouter ensuite mes objets word aux bons endroits.

Et effectivement, je démarre à 7 et je vais jusqu'a 107.

mon niveau est intermédiaire, je connais VBA pour avoir fait quelques développements, mais je ne suis pas capables de faire un développement entier comme tu le proposes.

Mais je connais suffisamment le langage pour comprendre ta logique de fonctionnement.

Je vais tester ton code, et je n'hésiterai pas à te recontacter si j'ai des soucis mais également pour te dire que tout est ok ( et j'espère que ce sera pour ce cas-là )
Faninho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2008, 11h11   #12
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 0
Points : 0
Bonjour,

J'ai regardé ton code, celui-ci bloque à la 2è ligne (Dim fso As FileSystemObject).
J'ia le message suivant: compil error: user-defined type not defined
Faninho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2008, 11h12   #13
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 909
Points : 30 909
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

J'ai écrit dans le post
Citation:
Ensuite dans le menu Outils/Référence, recherche la bibliothèque Microsoft Scripting Runtime; coche là et valide.
Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2008, 11h59   #14
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 0
Points : 0
Ca y est, j'ai reussi à la faire tourner.
Cela importe mes commentaires, seulement, ils sont directement intégrés dans la slide et non pas dans la partie "pages de commentaires"

JE te joins la photo pour que tu vois ce dont je parle
Images attachées
Type de fichier : jpg photo.jpg (65,1 Ko, 2 affichages)
Faninho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2008, 12h05   #15
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 909
Points : 30 909
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Re

Il faudrait alors utiliser l'objet Comments au lieu de Shapes, hors selon l'aide, à priori la méthode Add ne permet d'ajouter que du texte et non des fichiers comme avec les shapes.

J'essaierai de tester, mais sans garantie.

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2008, 12h15   #16
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 0
Points : 0
Je te remercie!!! C'est vraiment sympa!
Faninho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2008, 12h19   #17
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 909
Points : 30 909
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Re

Essayes avant d'augmenter le paramètre Top de la méthode Add (regardes dans l'aide c'est lequel), pour qu'il dépasse de la page, c'est juste une idée, je n'ai pas testé.

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2008, 14h48   #18
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 0
Points : 0
Je n'ai toujours pas réussi à importer mes objets dans ma page de commentaire. Cela se fait dans la slide, mais dans la page de commentaire.
Faninho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2008, 16h29   #19
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 909
Points : 30 909
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Re

Dernier essai (j'ai trouvé cela ce matin ), c'est juste un test.
Code :
ActivePresentation.Slides(1).NotesPage(1).Shapes.AddShape msoShape12pointStar, 0, 500, 100, 100
Inséres NotesPages dans ton code, le reste est identique.

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h53.


 
 
 
 
Partenaires

Hébergement Web