Lecture d'un fichier excel en vb

Soyez le premier à donner votre avis sur cette source.

Snippet vu 22 539 fois - Téléchargée 29 fois

Contenu du snippet

Lecture d'un fichier Excel en VB

Source / Exemple :


Private Sub Command1_Click()

Dim sheet As Object
Dim exldoc As Object
Dim exlapp As Object
Dim i As Integer
Dim j As Integer

    Set exlapp = CreateObject("excel.application")
    Set exldoc = exlapp.workbooks.Open("C:\temp\3.save")
    Set sheet = exlapp.ActiveWorkbook.ActiveSheet
    sheet.Cells(1, 1).Value = 5 '.FormulaR1C1 = "=R[-1]C" 'écrire ds formule

    Text1.Text = sheet.Application.ActiveSheet.Cells(2, 1).Value 'lie la celule
    Text2.Text = sheet.Application.ActiveSheet.Cells(2, 1).FormulaR1C1 ' lie formule
    exlapp.workbooks.Close
    
Set sheet = Nothing
Set exldoc = Nothing
Set exlapp = Nothing

End Sub

A voir également

Ajouter un commentaire Commentaires
cs_Multiprise Messages postés 63 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 23 avril 2013
19 févr. 2004 à 01:51
C'est pas mal pour un début de programme mais si je peux me permettre un avis, il vaudrait mieux utiliser l'objet excel s'il est déjà en cours d'exécution ou au moins le tester avec:
'
On Error resume next
Set exlapp = getobject(,"excel.application")
Si Excel n'est pas en cours d'utilisation on cré l'ojet
if err.number <>0 then Set exlapp = CreateObject("excel.application")
err.clear
'
De plus il est conseillé de déclarer en liaison précoce:
les accès sont plus rapides et surtout, l'éditeur VB te proposera les
propriétés et les méthodes de l'objet.
'
Dim exlapp As Excel.Application

'
Enfin pour terminer, il serait bon, et même fortement conseillé de libérer en fin de procédure, le ou les objets préalablement créés.
merci pour la mémoire.
'
set sheet = nothing
set exldoc =nothing
set exlapp = nothing


A Tchao Oxilat et bon pianotage.
Oxilat Messages postés 17 Date d'inscription mardi 18 novembre 2003 Statut Membre Dernière intervention 17 juillet 2007
19 févr. 2004 à 08:27
merci pour le consèle de plus ci tu pouvait me dire coment on fait pour changer de feuil sa serai simpa merci
BasicInstinct Messages postés 1471 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
19 févr. 2004 à 12:29
'Lut

Il y a déjà des codes dans ce style sur le site ;)

tu selectionnes ta feuille comme ca :

exldoc.worksheets(2).Select

une plage :

exldox.range(cells(1,1),cells(5,5)).select ' A1 E5

ou

exldox.range("A1","E5").select

....

@++

BasicInstinct

PS: Gaffe aux fautes d'orthographes svp
cs_Belial Messages postés 13 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 23 février 2004
19 févr. 2004 à 12:52
c bien et suis d'accord avec Multiprise, vaut mieux être prudent et utiliser l'objet Excel. (ça a tout de même tendance a bugger rapidement cet objet.)

sinon pour changer de feuille, il suffit de remplacer :

Set sheet = exlapp.ActiveWorkbook.ActiveSheet
par :
Set sheet = exldoc.Worksheets("nom de la feuille")
Oxilat Messages postés 17 Date d'inscription mardi 18 novembre 2003 Statut Membre Dernière intervention 17 juillet 2007
19 févr. 2004 à 13:29
oui mai mes contrinte de travaille sont VB5 et Excel et rien d'autre
donc sa limite

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.