Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
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 19/09/2011, 19h15   #1
Invité régulier
 
Homme
SAS automation
Inscription : juin 2011
Messages : 47
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : SAS automation
Secteur : Distribution

Informations forums :
Inscription : juin 2011
Messages : 47
Points : 7
Points : 7
Par défaut Excel et power point

Bonjour,

J'ai regardé un peu partout et je n'ai pas vu de topic qui répondait à ma question j'espère être au bonne endroit.

Voilà j'ai un classeur Excel avec mes données brut et d'un autre côté un power point avec une slide et un masque prédéfini de même que l'emplacement des différentes zone de texte et tableau.

Ce que je souhaite c'est créer en VBA une macro qui me permette de venir alimenter les différents tableau et sonne de texte.

Pour l'instant c'est un échec car je tombe toujour sur une erreur voici ce que j'ai commencé à écrire

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
26
27
28
29
30
31
32
Sub creation_power_point()
'Ouverture de la session Power point
'creation session PowerPoint
Set PPT = CreateObject("Powerpoint.Application")
'l'application sera visible
    PPT.Visible = True
'ouverture fichier ppt
    Set PptDoc = PPT.Presentations.Open("C:\Mes documents\82 report mag page1_FR_GT.ppt")
 
 
'compte le nombre de ligne dans le fichier Sortie SAS
ChDir _
        "C:\Mes documents\Sortie_SAS"
    Workbooks.Open Filename:= _
        "C:\Mes documents\Sortie_SAS.xls"
    Range("A1").Select
    nb_lignes = Sheets("TABLE_EXCEL").Rows.Count
'Création du power point
    For i = 2 To nb_lignes Step 1
    If Range("A" & i).Value = "VL" Then
 
    Windows("Sortie_SAS.xls").Activate
    Range("D" & i).Select
    Selection.Copy
    Windows("MAJ_donnees.xls").Activate
    PptDoc.Slides(1).Shapes("ArtechOthers 3").Paste
 
    End If
    Slides.Add Index:=nb_lignes+1
    Next
 
End Sub
La partie avec artechOther 3 vient d'un macro ppt que j'ai enregistré et en sélectionnant la zone de texte j'ai eu cela, donc j'ai pensé réécrire cela pour lui dire ou coller.

Merci de votre aide
En espérant avoir été clair.
Elcocco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 05h49   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 620
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 620
Points : 30 945
Points : 30 945
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Code bizarre et un peu confus, donc plusieurs questions :

Ton code se trouve où ? Dans Excel à priori, tu peux confirmer.
Tu dis que tu as une erreur, mais où ? Sur quelle ligne ? Quel est ce message d'erreur ?
Je ne comprends pas cette partie :
Code :
1
2
3
4
ChDir _
        "C:\Mes documents\Sortie_SAS"
    Workbooks.Open Filename:= _
        "C:\Mes documents\Sortie_SAS.xls"
Si j'ai bien compris tu récupères les informations de la colonne D que tu colles dans PowerPoint, mais tu fais cette opération plusieurs fois

Donc plus de détails et des réponses aux questions.

Philippe
__________________
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.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 09h12   #3
Invité régulier
 
Homme
SAS automation
Inscription : juin 2011
Messages : 47
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : SAS automation
Secteur : Distribution

Informations forums :
Inscription : juin 2011
Messages : 47
Points : 7
Points : 7
Ok désolé je ne suis pas un habitué de VBA donc mon code est composé de beaucoup de copier coller de code par internet ou d’enregistrement de macro.

La partie
Code :
1
2
3
4
5
 
ChDir _
        "C:\Mes documents\Sortie_SAS"
    Workbooks.Open Filename:= _
        "C:\Mes documents\Sortie_SAS.xls"
correspond à l'ouverture de mon fichier avec les données brut.

Mon code se trouve dans un classeur EXCEL, mon erreur se trouve à la ligne 26 j'ai comme message éléments inconnu ArtechOthers 3.

en gros dans mon fichier de données brut j'ai 82 lignes et je veux créer 82 slides et pour chacune des lignes alimenter mon template power point.

Merci de ton aide en espérant avoir été clair.
Elcocco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 11h46   #4
Invité régulier
 
Homme
SAS automation
Inscription : juin 2011
Messages : 47
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : SAS automation
Secteur : Distribution

Informations forums :
Inscription : juin 2011
Messages : 47
Points : 7
Points : 7
Finalement je m'en sors a peu près j'ai réussi à alimenter mon power point avec des zones de textes et au format que je souhaite.

mais j'ai un autre soucis, dans le power point j'ai des objets feuille de calcul et Graphiques. J'aimerais savoir comment coder en VBA pour mettre à jour les valeurs dans les différentes objet?

Merci d'avance
Elcocco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 06h31   #5
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 620
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 620
Points : 30 945
Points : 30 945
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Re

Regardes de ce coté : http://excel.developpez.com/faq/inde...jGraphExcelPPT

Philippe
__________________
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.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 09h10   #6
Invité régulier
 
Homme
SAS automation
Inscription : juin 2011
Messages : 47
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : SAS automation
Secteur : Distribution

Informations forums :
Inscription : juin 2011
Messages : 47
Points : 7
Points : 7
Merci pour le lien,j'ai déjà été faire un tour mais cela n'a pas l'air de fonctionner chez moi. En essayant pas à pas il ne reconnait pas de graphique dans ma slide.
Elcocco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 09h30   #7
Invité régulier
 
Homme
SAS automation
Inscription : juin 2011
Messages : 47
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : SAS automation
Secteur : Distribution

Informations forums :
Inscription : juin 2011
Messages : 47
Points : 7
Points : 7
Pour être un peu plus clair sur les message d'erreur avec la partie
Code :
1
2
3
4
Sub MAJ_graphiqueDansPresentation()
Dim appPPT As PowerPoint.Application
Dim Sh As PowerPoint.Shape
Dim Gr As Workbook
j'ai le message Type définie par utilisateurs non défini si je supprime cela pas de soucis il ouvre bien le power point et j'arrive à mettre à jour des tableau et zones de texte.
En ensuite en voulant exécuter la boucle j'ai une erreur dès le début
Code :
1
2
3
With appPPT.ActivePresentation.Slides(1)
    'Boucle sur les formes pour retrouver l'objet Excel
    For Each Sh In .Shapes
Il écrit Propriétés ou méthode non définie par cet objet.
Pour la ligne 1 j'ai enlevé ce qui est après le appPPT et il passe l'étape mais cela rebloque ensuite.

merci
Elcocco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 15h26   #8
Invité régulier
 
Homme
SAS automation
Inscription : juin 2011
Messages : 47
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : SAS automation
Secteur : Distribution

Informations forums :
Inscription : juin 2011
Messages : 47
Points : 7
Points : 7
Finalement en prenant les infos à droite et à gauche j'arrive quasiment au résultat final il me reste plus qu'a coller mon graphique en tant qu'image et non pas comme un classeur Excell.
J'ai bien trouvé l'option PasteEnhancedMetafile mais cela ne change rien, il me copie le graph avec la macro du fichier Excell et bien sur le tableau Excell.
Elcocco 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 03h25.


 
 
 
 
Partenaires

Hébergement Web