A voir également:
- [VBA: Excel-Powerpoint] passage de variables
- Excel compter cellule couleur sans vba - Guide
- Mkdir vba ✓ - Forum VB / VBA
- Vba range avec variable ✓ - Forum VB / VBA
- L'indice n'appartient pas à la sélection vba ✓ - Forum Programmation
- Autofill vba ✓ - Forum Excel
8 réponses
EBasta
Messages postés
37
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
25 mai 2007
31
21 mai 2007 à 15:06
21 mai 2007 à 15:06
Bonjour,
Le code VBA à placer dans PowerPoint serait de la forme :
Sub ModifierFeuilleExcel()
'Déclaration des variables
Dim xlApplication As Object
Set xlApplication = CreateObject("excel.application")
With xlApplication
.Workbooks.Open ("C:\Documents and Settings\Utilisateur\Bureau\test1.xls")
.sheets("Feuil1").Cells(1, 1) = TextBox1.Value
.Save
.Quit
End With
End Sub
J'espère avoir bien répondu.
Le code VBA à placer dans PowerPoint serait de la forme :
Sub ModifierFeuilleExcel()
'Déclaration des variables
Dim xlApplication As Object
Set xlApplication = CreateObject("excel.application")
With xlApplication
.Workbooks.Open ("C:\Documents and Settings\Utilisateur\Bureau\test1.xls")
.sheets("Feuil1").Cells(1, 1) = TextBox1.Value
.Save
.Quit
End With
End Sub
J'espère avoir bien répondu.
Bonjour Lupin A et irem 32
Merci pour vos réponses. En effet, Lupin A, vous avez tout a fait compris mon probleme. J'ai essayé de taper un code VBA pour essayer de piloter Excel depuis le VB de powerpoint, mais il ne marche pas, vraissemblablement à cause d'une erreur de syntaxe (je ne suis pas tres familié avec ce genre de programmation)
Pouriez vous me dire quel sont les grosses erreur qui vous saute aux yeux?
Merci d'avance
Sub ModifierFeuilleExcel()
'Déclaration des variables
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel
'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
Set wbExcel = appExcel.Workbooks.Open("C:\Documents and Settings\Utilisateur\Bureau\test1.xls")
With wbExcel
'copie de la Textbox de Powerpoint dans la feuille Excel active
Feuil1.Range("A1:B2") = TextBox1.Text
End With
End Sub
Merci d'avance!!
Merci pour vos réponses. En effet, Lupin A, vous avez tout a fait compris mon probleme. J'ai essayé de taper un code VBA pour essayer de piloter Excel depuis le VB de powerpoint, mais il ne marche pas, vraissemblablement à cause d'une erreur de syntaxe (je ne suis pas tres familié avec ce genre de programmation)
Pouriez vous me dire quel sont les grosses erreur qui vous saute aux yeux?
Merci d'avance
Sub ModifierFeuilleExcel()
'Déclaration des variables
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel
'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
Set wbExcel = appExcel.Workbooks.Open("C:\Documents and Settings\Utilisateur\Bureau\test1.xls")
With wbExcel
'copie de la Textbox de Powerpoint dans la feuille Excel active
Feuil1.Range("A1:B2") = TextBox1.Text
End With
End Sub
Merci d'avance!!
Perso, je le ferais de la manière suivante :
1°) Rentrer les param dans Powerpoint
2°) D'une macro Powerpoint, instancier et lancer (dans le même répertoire) le bon fichier excel et indexer les bonnes valeurs
3°) Lire ensuite les résultats toujours depuis Powerpoint pour mettre à jour la pres.
Ca c'est uniquement si les formules sont réellement complexes ou s'appuie sur des données externes et nécessite vraiment excel, sinon transposer les formules excel en formules vba sous powerpoint, plus simple et plus rapide.
Irem
1°) Rentrer les param dans Powerpoint
2°) D'une macro Powerpoint, instancier et lancer (dans le même répertoire) le bon fichier excel et indexer les bonnes valeurs
3°) Lire ensuite les résultats toujours depuis Powerpoint pour mettre à jour la pres.
Ca c'est uniquement si les formules sont réellement complexes ou s'appuie sur des données externes et nécessite vraiment excel, sinon transposer les formules excel en formules vba sous powerpoint, plus simple et plus rapide.
Irem
Utilisateur anonyme
21 mai 2007 à 15:57
21 mai 2007 à 15:57
Bonjour,
autres exemple, votre code que je me suis permis de modifier :
Lupin
autres exemple, votre code que je me suis permis de modifier :
' Déclaration de Types ' Déclaré vous un type personalisé ' Type Presentation Indice As Long NomFichier As String Parametres(3) As Long Resultats(2) As Long End Type Public CePPT As Presentation Sub ModifierFeuilleExcel() 'Déclaration des variables ' Je recommande d'utiliser le type [ Variant ], en VBS ' (Visual Basic Scripting), les variables sont déclarés ' mais non typés puisque tous natifs en [ Variant ]. ' Ainsi si le code demeure des objets VBS pur sous ' VBA, la transportabilité du code l'est sous toutes ' les composantes de Office ( Word, Excel, Acess, PowerPoint, ...) ' D'ou le choix de typé les objets en [ Variant ] Dim appExcel As Variant 'Application Excel Dim wbExcel As Variant 'Classeur Excel Dim wsExcel As Variant 'Feuille Excel 'En suposant que le fihier excel (*.xls) est au même endroit ' que le fichier powerpoint (*.ppt;*.pps), accéder au fichier ' de façon relative : Dim NomFichier As String, Boucle As Long ' La valeur de la variable peut-être saisie n'importe ' quand depuis powerpoint(vba) CePPT.NomFichier = "Test.xls" NomFichier = ActivePresentation.FullName NomFichier = Left(varFichier, InStrRev(NomFichier, "\")) NomFichier = NomFichier & CePPT.NomFichier 'Ouverture de l'application Set appExcel = CreateObject("Excel.Application") 'Ouverture d'un fichier Excel Set wbExcel = appExcel.Workbooks.Open(NomFichier) ' Main mise sur la feuille 1 Set xlWKS = wbExcel.Worksheets(1) ' Main mise sur l'adressage de la feuille Set xlRange = xlWKS.Range("A1:A65535") For Boucle = 1 To 3 xlRange.Cells(1,i).Value = CePPT.Parametres(Boucle-1) Next Boucle For Boucle = 1 To 2 CePPT.Resultats(Boucle-1) = xlRange.Cells(2,i).Value Next Boucle End Sub '
Lupin
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
21 mai 2007 à 14:25
21 mai 2007 à 14:25
Bonjour,
En fait, sous VBA de powerpoint il vous est possible de piloter
excel ou vice et versa bien sur, toute la suite bureautique est
pilotable, j'ai essayé excel,access et word !
Vous voulez donc cumuler des données saisies au cours de
votre présentation et ouvrir excel au bon moment afin d'alimenter
votre classeur et d'en récupérer les données "calculer/modifier".
Ai-je bien compris votre besoin ?
Lupin
En fait, sous VBA de powerpoint il vous est possible de piloter
excel ou vice et versa bien sur, toute la suite bureautique est
pilotable, j'ai essayé excel,access et word !
Vous voulez donc cumuler des données saisies au cours de
votre présentation et ouvrir excel au bon moment afin d'alimenter
votre classeur et d'en récupérer les données "calculer/modifier".
Ai-je bien compris votre besoin ?
Lupin
ce devrait etre plutot
With wbExcel
'copie de la Textbox de Powerpoint dans la feuille Excel active
'Feuil1.Range("A1:B2") = TextBox1.Text
.Worksheets(1).Cells(1, 2).Value =TextBox1.text
'par exemple
End With
Irem32
With wbExcel
'copie de la Textbox de Powerpoint dans la feuille Excel active
'Feuil1.Range("A1:B2") = TextBox1.Text
.Worksheets(1).Cells(1, 2).Value =TextBox1.text
'par exemple
End With
Irem32
Merci beaucoup pour vos reponses!!!
J'ai finalement adopté la réponse de Ebasta :
Sub ModifierFeuilleExcel()
'Déclaration des variables
Dim xlApplication As Object
Set xlApplication = CreateObject("excel.application")
With xlApplication
.Workbooks.Open ("C:\Documents and Settings\Utilisateur\Bureau\test1.xls")
.sheets("Feuil1").Cells(1, 1) = TextBox1.Value
.Save
.Quit
End With
End Sub
Propre, efficace et élégant!
merci aussi Irem32 pour votre correction.
J'ai finalement adopté la réponse de Ebasta :
Sub ModifierFeuilleExcel()
'Déclaration des variables
Dim xlApplication As Object
Set xlApplication = CreateObject("excel.application")
With xlApplication
.Workbooks.Open ("C:\Documents and Settings\Utilisateur\Bureau\test1.xls")
.sheets("Feuil1").Cells(1, 1) = TextBox1.Value
.Save
.Quit
End With
End Sub
Propre, efficace et élégant!
merci aussi Irem32 pour votre correction.