ouvrir un fichier excel depuis Access en VBA, encore une petite chose

ouvrir un fichier excel depuis Access en VBA, encore une petite chose - VB/VBA/VBS - Programmation

Marsh Posté le 10-11-2005 à 11:00:29    

Bonjour je souhaite ouvrir un classeur excel dpuis mon application Access, pour cela je fais :
 
    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
     
    'J'initialise mes variables
    Set xlApp = CreateObject("Excel.Application" )
    xlApp.Workbooks.Open ("d:/mes_fichier/classeur.xls" )
 
Mais bien que je n'ai aucune erreur ni rien en fait il ne se passe stritement rien... je précise que je souhaite simplement ouvrir et afficher la feuille excel, hors dans le cas présent je peux manipuler les données mais rien ne s'affiche.
En mode pas à pas j'ai bien verifié on passe sur l'instruction mais cela n'ouvre pas Microsoft excel  :heink:  
Quelqu'un aurait il une idée du pourquoi ?


Message édité par sharky01 le 10-11-2005 à 12:24:30
Reply

Marsh Posté le 10-11-2005 à 11:00:29   

Reply

Marsh Posté le 10-11-2005 à 11:27:29    

essaie ceci :après  
set xlApp = CreateObject("Excel.Application" )
ajoute
xlApp.visible = true

Reply

Marsh Posté le 10-11-2005 à 11:43:37    

Mais quel boulet je suis !!!!!!!!!!!!!!!!!!!!!!!!!!!!!  :lol: c'est tellement stupide que je n'y avais pas pensé  :lol:  
Merci

Reply

Marsh Posté le 10-11-2005 à 12:23:45    

Et personne ne saurait comment choisir la feuille de calcul qui doit s'afficher à l'ouverture du classeur ? :whistle:

Reply

Marsh Posté le 10-11-2005 à 15:54:06    

ptet:   xlapp.workbooks("classeur.xls" ).sheets("sheetx" ).activate


---------------
Ce qui est affirmé sans preuve peut être nié sans preuve.
Reply

Marsh Posté le 10-11-2005 à 17:46:51    

:( Non ca ne fonctionne pas ...

Reply

Marsh Posté le 11-11-2005 à 15:24:32    

sharky01 a écrit :

:( Non ca ne fonctionne pas ...


 
c'est bizarre parce que le code ci-dessous fonctionne très bien sous access ....:
 
Sub test()
 
    Dim xlApp As Object
     
    Set xlApp = CreateObject("Excel.Application" )
    xlApp.Visible = True
    xlApp.workbooks.Open ("classeur1.xls" )
    xlApp.workbooks("classeur1.xls" ).sheets("Feuil2" ).Activate
End Sub


---------------
Ce qui est affirmé sans preuve peut être nié sans preuve.
Reply

Marsh Posté le 17-11-2005 à 09:50:24    

C'est étrange car moi j'ai tout cela qui fonctionne :
 
    Dim xlApp As Object  
     
    Set xlApp = CreateObject("Excel.Application" )  
    xlApp.Visible = True  
    xlApp.workbooks.Open ("classeur1.xls" )  
 
Mon classeur s'ouvre, mais il ne me prends pas la feuille de calcul que je lui demande ...  
et j'ai une erreur sur la ligne  
 
   xlApp.workbooks("classeur1.xls" ).sheets("Feuil2" ).Activate  
 
Moi mon classeur ma feuille de calcul s'appelle "LP Grappe 5" je fais donc
 
xlApp.Workbooks("classeur1.xls" ).Sheets("LP Grappe 5" ).Activate
 
et cela me donne comme erreur : "l'indice n'appartient pas à la sélection" ...

Reply

Marsh Posté le 17-11-2005 à 10:15:49    

essaye avec le numéro d'index de la feuille plutôt que son nom
et éventuelement
with xlapp.workbooks(le_nom_de_ton_classeur)
       .sheets(X).activate
end with
 
on sait jamais
@+


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Marsh Posté le 17-11-2005 à 13:16:20    

Non ca ne fonctionne pas non plus :(
Je ne vois pas d'ou cela vient :(

Reply

Marsh Posté le 17-11-2005 à 13:16:20   

Reply

Marsh Posté le 17-11-2005 à 14:34:16    

Bonjour,
je pense qu'il faut supprimer les espaces ou les remplacer par _
SMN

Reply

Marsh Posté le 17-11-2005 à 14:37:03    

Voici un pt pb
depuis access, j'ouvre un fichier excel, j'y insere des données mais
je voudrais inserer un objet ( un snapshot par ex) comment faire?

Reply

Marsh Posté le 17-11-2005 à 15:10:20    

Michel6392 a écrit :

Voici un pt pb
depuis access, j'ouvre un fichier excel, j'y insere des données mais
je voudrais inserer un objet ( un snapshot par ex) comment faire?

En créant un nouveau post ;) car ce n'est pas le même sujet ;)
 
 
 
Sharky => Est ce que par hasard t'as pas une protection sur ton fichier excel ou une macros qui risquerait d'empêcher cet affichage ?


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Marsh Posté le 17-11-2005 à 18:44:25    

Bizarre que ça ne marche pas!
tu n'es plus à un essai près ;)
met en A1 une valeur
 
Sub test()
Dim objBook As Object
Dim objApp As Object
Dim objSheet As Object
Dim strPath As String
Dim strBook As String
Dim strSheet As String
 
'init à modifier
strPath = "D:\Documents and Settings\Administrateur\Mes documents"
strBook = "Classeur1.xls"
strSheet = "LP Grappe 5"
'traitement
Set objApp = CreateObject("excel.application" )
Set objBook = objApp.workbooks.Open(strPath & "\" & strBook)
Set objSheet = objBook.worksheets(strSheet)
objApp.Visible = True   'si on veut visualiser
'traite application
With objApp
'...
End With
'traite Classeur
With objBook
'...
End With
'traite feuille
With objSheet
toto = .range("A1" ).Value
.range("A2" ).Value = toto
End With
objBook.Save '
objApp.Quit
'libère
Set objSheet = Nothing
Set objBook = Nothing
Set objApp = Nothing
 
End Sub

Reply

Marsh Posté le 12-12-2005 à 16:59:28    

Oula désolé pour l'absence ... Mais j'ai eut une tonne de trucs a faire ...
Donc en bref la situation n'a point bougé d'un iota  :??:  
Non le fichier n'est pas protégé et il n'y a aucune macro ...
Ca m'enerve j'ai essayé toutes les méthode et je en comprends vraiment pas pourquoi il s'obstine a se lancer sur la première feuille de calcul !!!
C'est a s'arracher le cheveux !! lol !!

Reply

Marsh Posté le 23-01-2006 à 23:12:19    

Salut Sharky01, en fait c'est tout simple, il te suffut de faire comme ceci:
 
Sub test()  
 
    Dim xlApp As Object  
     
    Set xlApp = CreateObject("Excel.Application" )  
    xlApp.Visible = True  
    xlApp.workbooks.Open ("classeur1.xls" )  
    xlApp.sheets("Feuil2" ).Activate  
End Sub  
 
Tchô
 
Fab350Z

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed