Exploitation d'excel

cs_guyver Messages postés 4 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 6 juin 2003 - 6 juin 2003 à 07:49
cs_guyver Messages postés 4 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 6 juin 2003 - 6 juin 2003 à 10:32
J'ai réussi à ouvrir un fichier excel avec le vba mais comme ça s'ouvre dans une autre fenêtre je ne peux pas l'utiliser avec mon programme vba car j'aimerai prende des données de cette page et les transferer vers une autre page.

Comment peut-on faire ? ;)

1 réponse

cs_guyver Messages postés 4 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 6 juin 2003
6 juin 2003 à 10:32
:) Mon programme qui permet d'ouvrir est :

Private Sub cmdOuvrir_Click()

Dim sFile As String
Dim sPath As String
Dim lPosition As Long
Dim sPathEXE As String
Dim sTitle As String

With CMD
.Filter = "Excel (*.xls)|*.xls|Tous (*.*)|*.*"
.Filename = ""
.ShowOpen
sFile = .Filename
End With
If sFile <> "" Then
cmdTransfert.Enabled = True
'Cherche la position du dernier ""

sTitle = CMD.FileTitle
lPosition = Len(sFile) - Len(sTitle)

'Extrait le chemin
sPath = Left(sFile, lPosition - 1)
'Extrait le nom du fichier
sFile = Mid(sFile, lPosition + 1)
'Recherche le programme associé à ce fichier
sPathEXE = FichierAssocie(sFile, sPath)
If sPathEXE <> "" Then
'Appelle le programme et ouvre le fichier
Shell sPathEXE & " " & sPath & "" & sFile, vbNormalFocus
Else
MsgBox "Il n'y a aucun programme associé au fichier " & sFile & ".", vbExclamation
End If
End If
End Sub

Private Function FichierAssocie(stFichier As String, stChemin As String) As String
' Retour l'application associé au fichier passé en argument.
Dim stRep As String
Dim lgRep As Long
' Initialisation du buffer de retour
stRep = Space$(250)
' Appel à la fonction
lgRep = FindExecutable(stFichier, stChemin, stRep)
' Traitement de la valeur de retour
stRep = Left$(stRep, InStr(1, stRep, vbNullChar) - 1)
' Retourne le résultat
FichierAssocie = stRep
End Function
0
Rejoignez-nous