Se connecter avec
S'enregistrer | Connectez-vous
Votre question

Ouverture fichier excel avec VBA

Dernière réponse : dans Programmation
Partagez
15 Avril 2008 11:13:17

Hello tout le monde.

Avec toute l'aide apporté par ZEB la dernière fois, je ne pensais pas revenir de ci-tôt, mais malheureusement après un journée de galère à comprendre le pourquoi du comment je bloque.

Exposition de l'idée:
Il faut que j'ouvre un fichier excel avec VBA, que je cherche une donnée dedans, copie la donnée et referme le fichier.
Le truc qui me bloque c'est l'ouverture du fichier.

Voici le code que j'ai fais afin de vérifier que mon fichier excel s'ouvre bien:

  1. Sub ras()
  2.  
  3. Open ("\\Isntsv-galax2\Galaxie_data\R063-Acide\Transesterification_huile_vegetale\FB T84 E348-21_2.xls") For Binary Access Read Write As #1
  4.  
  5. Sheets("FB T84 E348-21_2").Select
  6.  
  7. te = Cells(3, 3).Value + Cells(4, 3).Value
  8. MsgBox (te)
  9.  
  10. Close #1
  11.  
  12. End Sub


La sélection de la page ne sert qu'à me rassurer...

Daprès l'aide excel, l'ouverture de la page marche. Mais bon, en réalité je n'ai rien dans ma msgbox...

Est ce le lien qui plante, ou le code de l'ouverture de la page qui est totallement à l'ouest?

Ca peut aider, on travail avec différent serveur de stockage. Mon fichier de résultat et mon fichier à ouvrir ne sont pas sur le même serveur.

J'espère avoir une petite lueur de solution..

Merci bien.

Cordialement

Autres pages sur : ouverture fichier excel vba

a b L Programmation
15 Avril 2008 11:26:09

Ohlala !

Pas de parenthèses. Open est un mot-clef, pas une fonction.
Pas de parenthèses. MsgBox est une procédure, pas une fonction. (En tout cas, dans ce cas présent)

Alors la commande Open en mode binaire t'ouvre le fichier en mode binaire. C'est donc un fichier. Toi, tu veux un classeur, pas un fichier.

Et puis je déteste les Select, mais je l'ai déjà dit.

  1. Sub RAS()
  2. Dim wb As Workbook
  3. Dim ws As Worksheet
  4.  
  5. Set wb = Workbooks.Open("\\Isntsv-galax2\Galaxie_data\R063-Acide\Transesterification_huile_vegetale\FB T84 E348-21_2.xls")
  6. ' // Gérer les erreurs.
  7.  
  8. Set ws = wb.Worksheets("FB T84 E348-21_2")
  9. ' // Gérer les erreurs.
  10.  
  11. MsgBox ws.Cells(3, 3).Value + ws.Cells(4, 3).Value
  12.  
  13. ' // On ferme !
  14. wb.Close SaveChanges:=False
  15. End Sub


Alors ? (Tu penseras bien sûr à ajouter les objets Excel aux références de ton projet).
15 Avril 2008 13:41:28

Salut,

J'ai testé ta progra.
Elle me va bien pour le moment,

J'ai même trouvé la fonction pour fermer le fichier excel tout seul!! :bounce: 

Je te remercie pour la chtite fonction d'ouverture. Elle est toute con, mais je n'ai pas réussi à y mettre la main dessus... même si se genre de code m'a traversé l'esprit. Je suis trop resté bloqué sur la fonction que j'ai trouvée.

Tu peux me dire à quoi elle sert?

Pour le select. Je savais que ça servait à rien, mais s'était pour me rassurer..

Merci bien pour ton aide..
a b L Programmation
15 Avril 2008 14:12:19

Mon code est horrible, il manquait la fermeture du classeur. Puisque tu l'as trouvé, donne-la nous :o 
Open permet d'ouvrir un fichier. Mais VB ne connaît que deux sortes de fichiers : les fichiers textes purs et les fichiers binaires brutes.
Pour plus de renseignement, lire l'aide de VB sur Open, bien sûr.

____________________________________


Dis donc, tu ne veux pas anonymiser des noms de fichiers.
Ils vont être content à l'IFP de voir traîner le nom des machines et la signature des fichiers :fou: