Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint

Réponse
 
Outils de la discussion
Vieux 05/02/2008, 21h52   #1 (permalink)
Membre Confirmé
 
Date d'inscription: juin 2005
Messages: 238
Par défaut ouvrir un UF et recuperer des données .xls

Bonsoir à tous, Bonsoir le Forum
Voila mon pb..
dans une diapo, je lance l'ouverture d'un UF sur un bouton, jusque là pas de soucis...
mais je voudrais que la texbox1 affiche la valeur de la cellule N14 (14, 14) de la feuil2 du fichier CourbCap1.xls
Avec ce code ça plante...pourquoi..?
merci par avance

Code :
 
Private Sub UserForm_Activate()
Shell ("C:\Program Files\Microsoft Office\Office11\excel.exe C:\courbes\CourbCap1")
Sheets(2).Activate
Cells(14, 14) = TextBox1.Value
End Sub
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/02/2008, 14h33   #2 (permalink)
Responsable MSOffice
 
Avatar de Lou Pitchoun
 
Date d'inscription: février 2005
Localisation: Au soleil, Made In Marseille
Âge: 30
Messages: 5 125
Envoyer un message via MSN à Lou Pitchoun
Par défaut

Salut,

Et si tu passais par l'automation ?
Code :
 
Dim appExcel as Excel.Application
Dim oClasseur as Excel.Workbook
 
Set appExcel = CreateObject("Excel.Application")
Set oClasseur = appExcel.Workbooks.Open("Chemin+NomFichier")
 
With appExcel
    TextBox1 = .Sheets(2).Cell(14, 14)
End with
__________________
Responsable Office
Futurs Modérateurs, Rédacteurs : We need you

Access : Les Cours, Les Sources et Les FAQs Office
Avant de poster : les choses importantes à lire pour la bonne tenue du forum.
sinon

Ma boite à MPs n'est pas l'annexe du forum Le complément BouleDeCristal n'existe pas encore !!!
Lou Pitchoun est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/02/2008, 19h00   #3 (permalink)
Membre Confirmé
 
Date d'inscription: juin 2005
Messages: 238
Par défaut

Bonsoir....et merci pour ta réponse..
j'ai placé le code dans
Code :
Private Sub UserForm_Activate()
j'ai bien remplacé le chemin du fichier par
Code :
"C:\Documents and Settings\PBX\Bureau\courbes\courbcap"
mais
rien...l'uf s'ouvre bien sur click..mais pas d'ouverture du .xls..
et donc pas d'affichage dans uf...
De plus au déboguage, j'ai un message d'erreur sur
Code :
Dim appExcel As Excel.Application
message " erreur de compilation type défini par l'utilisateur non défini"..
Pourquoi..?
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/02/2008, 21h33   #4 (permalink)
Responsable MSOffice
 
Avatar de Lou Pitchoun
 
Date d'inscription: février 2005
Localisation: Au soleil, Made In Marseille
Âge: 30
Messages: 5 125
Envoyer un message via MSN à Lou Pitchoun
Par défaut

Pour le message d'erreur, il faut déclarer la référence MS Excel x.x.

Ensuite, tu ne verras pas Excel s'ouvrir.

Que je comprenne bien, tu as un userform dans Powerpoint et tu veux récupérer la valeur de la cellule dans un classeur excel pour l'affecter au champ du userform ?

Donc, ce que j'ai donné devrais fonctionner.

Citation:
j'ai bien remplacé le chemin du fichier par
Code :
 
"C:\Documents and Settings\PBX\Bureau\courbes\courbcap"
N'oublie pas le nom du fichier.

Par contre, je placerai le code dans UserForm_Initialize()


__________________
Responsable Office
Futurs Modérateurs, Rédacteurs : We need you

Access : Les Cours, Les Sources et Les FAQs Office
Avant de poster : les choses importantes à lire pour la bonne tenue du forum.
sinon

Ma boite à MPs n'est pas l'annexe du forum Le complément BouleDeCristal n'existe pas encore !!!
Lou Pitchoun est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/02/2008, 22h55   #5 (permalink)
Membre Confirmé
 
Date d'inscription: juin 2005
Messages: 238
Par défaut

mais comment fait-on pour ..déclarer la référence MS Excel x.x.
je ne sais pas faire...
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/02/2008, 23h46   #6 (permalink)
Membre Confirmé
 
Date d'inscription: juin 2005
Messages: 238
Par défaut

Ca y est ça marche...!!!
j'ai trouvé pour la référence MS Excel x.x.
et
juste "cells au lieu de "cell"

cool

Merci beaucoup..!!!
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/02/2008, 23h49   #7 (permalink)
Membre Confirmé
 
Date d'inscription: juin 2005
Messages: 238
Par défaut

par contre, après , si je veux réouvrir mon fichier .xls....il se retrouve verrouillé en lecture seule..
pourquoi..?
que faire
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/02/2008, 08h12   #8 (permalink)
Responsable MSOffice
 
Avatar de Lou Pitchoun
 
Date d'inscription: février 2005
Localisation: Au soleil, Made In Marseille
Âge: 30
Messages: 5 125
Envoyer un message via MSN à Lou Pitchoun
Par défaut

Si tu souhaites ouvrir le fichier après avoir charger la valeur de la cellule, il te faut libérer l'objet en fin de procédure

Code :
appExcel.Quit
 
Set appExcel = Nothing
__________________
Responsable Office
Futurs Modérateurs, Rédacteurs : We need you

Access : Les Cours, Les Sources et Les FAQs Office
Avant de poster : les choses importantes à lire pour la bonne tenue du forum.
sinon

Ma boite à MPs n'est pas l'annexe du forum Le complément BouleDeCristal n'existe pas encore !!!
Lou Pitchoun est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/02/2008, 08h58   #9 (permalink)
Membre Confirmé
 
Date d'inscription: juin 2005
Messages: 238
Par défaut

bonjour..!!!
c'est tres sympa des rester sur ce fil....merci...car suis un peu paumé..!!
bon, j'ai bien mis ton code sur un "bouton quitter" dans mon uf
Code :
Private Sub CommandButton1_Click()
Dim appExcel As Excel.Application
appExcel.Quit
Set appExcel = Nothing
End Sub
 
mais j'ai toujours le meme résultat..!!
le fichier .xls reste en lecture seule..et j'ai besoin de le réouvrir sitot après.!!par-dessus l'application .ppt
de plus si je reclique sur l'ouverture du uf...il s'ouvre...mais impossible de le refermer..planté...donc Ctrl/Alt.Sup.
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/02/2008, 09h09   #10 (permalink)
Membre Confirmé
 
Date d'inscription: juin 2005
Messages: 238
Par défaut

Help.....Svp
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/02/2008, 12h15   #11 (permalink)
Responsable Word
 
Avatar de Heureux-oli
 
Date d'inscription: février 2006
Localisation: Morlanwelz (Carnières)
Âge: 44
Messages: 10 067
Par défaut

Pour y voir un peu plus clair, pourrais tu nous mettre ton code en entier.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Ne posez pas de question par MP, c'est inutile.
Les rubriques Office recrutent.
Ma page d'accueil
Consultez nos FAQ !! Word ; Access ; Outlook ; Excel ; PowerPoint ; SharePoint
Si vous pensez que certains sujets manquent dans la FAQ, aidez nous !
Des images
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/02/2008, 13h21   #12 (permalink)
Membre Confirmé
 
Date d'inscription: juin 2005
Messages: 238
Par défaut

Bonjour, et merci par avance pour ton aide..voiçi mon code:
tout d'abord..la macro d'ouverture du UF...qui réagit à un click sur une forme
Code :
Sub Macro1_cap()
UserForm1.Show
End Sub
 
ensuite le code pour le textbox..et la capture du contenu de la cells(14, 14)
Code :
Private Sub UserForm_Initialize()
Dim appExcel As Excel.Application
Dim oClasseur As Excel.Workbook
 
Set appExcel = CreateObject("Excel.Application")
Set oClasseur = appExcel.Workbooks.Open("C:\Documents and Settings\PBX\Bureau\courbes\courbcap.xls")
 
With appExcel
    TextBox1.Value = .Sheets(2).Cells(14, 14)
End With
End Sub
et pour finir le code de fermeture du uf sur bouton1
Code :
Private Sub CommandButton1_Click()
Dim appExcel As Excel.Application
appExcel.Quit
Set appExcel = Nothing
End Sub
j'ai bien déclaré la référence MS Excel dans power point...
je ne sais plus
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/02/2008, 13h39   #13 (permalink)
Responsable Word
 
Avatar de Heureux-oli
 
Date d'inscription: février 2006
Localisation: Morlanwelz (Carnières)
Âge: 44
Messages: 10 067
Par défaut

Code :
Private Sub UserForm_Initialize()
Dim appExcel As Excel.Application
Dim oClasseur As Excel.Workbook
 
Set appExcel = CreateObject("Excel.Application")
Set oClasseur = appExcel.Workbooks.Open("C:\Documents and Settings\PBX\Bureau\courbes\courbcap.xls")
 
With appExcel
    TextBox1.Value = .Sheets(2).Cells(14, 14)
End With
End Sub
C'est dans ce morceau de code que tu dois libérer ton objet oClasseur, or tu ne le libère pas.
comme il n'est pas libéré, il est toujours en Read-only.

__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Ne posez pas de question par MP, c'est inutile.
Les rubriques Office recrutent.
Ma page d'accueil
Consultez nos FAQ !! Word ; Access ; Outlook ; Excel ; PowerPoint ; SharePoint
Si vous pensez que certains sujets manquent dans la FAQ, aidez nous !
Des images
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/02/2008, 20h43   #14 (permalink)
Membre Confirmé
 
Date d'inscription: juin 2005
Messages: 238
Par défaut

oui...effectivement...!!!
ça marche bien mieux...!!!
merci...
c'est parfait...
Merci à tous..pour vos aides
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide