Ouvrir un fichier avec VB Excel

Résolu/Fermé
Memes - 23 août 2005 à 11:59
 Vbbbaaaaaa - 13 sept. 2012 à 13:29
J'ai un fichier Excel qui à la colonne B à un numéro du genre 10245. avec ce numéro, je souhaite ouvrir un fichier qui s'appelle "blabla10245blabla.bla"
ce fichier peut être un .xls mais aussi un .rtf, .doc, .tif, .jpg, .pdf,...

je pense donc récupérer le numéro et lui demander d'ouvrir *10245*.*. ce que je ne sais pas faire c'est ouvrir un fichier autre qu'un .xls depuis excel.

Pour simplifier, est-il possible d'avoir la (ou les) ligne(s) de commande qui permettent d'ouvrir "monimage.jpg" à partir d'excel. avec çà, je me démerderai

Merci d'avance
A voir également:

19 réponses

WhiteFang Messages postés 2063 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204
25 août 2005 à 10:29
;-)

Shell (Chemin d'acrobat reader & " " & chemin du pdf)

;-) Testé...
9
chickenhands
14 sept. 2009 à 20:45
Ok, ca marche impec mais je voudrais en plus que lorsque le fichier s'ouvre, la fenetre s'affiche devant le fichier excel.
Est-ce possible?
0
rochjl Messages postés 4 Date d'inscription mardi 14 décembre 2010 Statut Membre Dernière intervention 21 décembre 2010
21 déc. 2010 à 18:34
Bonsoir WhiteFang.

si j'ai mon nom de fichier en variable ça ne marche pas, pouquoi?

MaDate=right(date,4)
MomFichier= "Nom du fichier" & MaDate & ".pdf"
Shell (Chemin d'acrobat reader & " " & chemin du fichier" & MonFichier)
0
pour l'afficher devant ton fichier excel tu rajoute , 1 derrière ton code
Shell (Chemin d'acrobat reader & " " & chemin du fichier" & MonFichier), 1
0
Shell "explorer.exe " & fichier

avec l'adresse du fichier stockée dans la variable,
çà marche avec les doc, rtf, tif, tiff, jpg, jpeg et xls

par contre avec les pdf, çà essaye de les ouvrir avec "imaging" donc çà marche pas.

une idée quelque part?
4
chickenhands
31 mars 2010 à 11:09
Bonjour,
J'ai créé ceci et cela fonctionne très bien chez moi:

Sub open_help()
ThisWorkbook.FollowHyperlink "\\SMBADOC03\xxx\PROCEDURE DE GENERATION DES ECRITURES TECHNIQUES.pdf"
End Sub


En esperant que cela vous aide.
4
Lorsque je fait ca le ppt que je veux ouvrire se referme a la fin de la macro, tu saurais comment garder le document ouvert?!
0
chicchicks Messages postés 1 Date d'inscription vendredi 21 juillet 2006 Statut Membre Dernière intervention 12 décembre 2011
12 déc. 2011 à 15:09
bizarre, mon ppt reste ouvert. est-ce que dans ta macro, tu aurais une fonction qui va refermer ton fichier ex: MonFichier.closeou aller fermer l'application? montre moi ta macro au pire ...
0
biloue Messages postés 82 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 20 juillet 2011 7
23 août 2005 à 13:52
Salut,
Ce que tu veux faire en faite c'estr créer un lien hypertext? Dans ce cas la tu peux enregistrer une macro et faire la démarche pour créer un lien hypertexte.
2
en fait, ce que je veux, c'est créer un bouton qui, lorsque l'on clique dessus, récupère le nombre de la deuxième cellule de la ligne ou l'une des cellules est sélectionnée (exemple 10236) et ouvre le fichier *10236*.* présent dans un répertoire prédéfini.
0
en fait oui, c'est créer un lien hypertexte mais également l'ouvrir
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
WhiteFang Messages postés 2063 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204
24 août 2005 à 13:22
;-)

Dans VBA, tu as une fonction "INSTR" qui te renvoie la position du 1er caractère trouvé dans la chaine que tu recherches...

Ex : Si tu fais un INSTR de 10245 dans la chaine qui contient le nom du fichier, il va te renvoyer un N°... Si celui-ci est >0, c'est que la chaine est trouvée, donc tu peux ouvrir ton fichier...

;-)
2
ok pour instr, ça marche très bien comme fonction
seulement ça c'est pas dur, le plus compliquer je pense c'est bien d'ouvrir le fichier dans excel fichier qui peut être n'importe koi!
essaye le conteneur OLE activ x qui est avec VB je suppose que VBA doit aussi l'avoir, sinon va sur www.vbfrance.fr
2
WhiteFang Messages postés 2063 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204
24 août 2005 à 14:30
;-)

Non, c'est pas plus compliqué ! Outre Instr, tu as aussi Left, Rigth, Mid...

Un petit Right sur 3 et tu récupères l'extension pour la tester avec un Select Case... En //, tu as prévu des petites procédures spécifiques à chaque type de fichier et le tour est joué...

;-)
0
Ok

et en ce qui concerne les petites procédures, quelles sont ces procédures que je peux appliquer.

avec Shell, j'ai des pb à cause de certains fichiers qui ont un espace dans le nom.
2
WhiteFang Messages postés 2063 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204
24 août 2005 à 15:54
;-)

Shell, tu l'utilise quand tu veux lancer une appli... Là, tu veux ouvrir dans Excel ? Le plus simple, dans ce cas, et si tu as des fichiers test (style 1 txt, 1 csv...), tu utilise l'enregistrement automatique... ensuite, dans l'éditeur, tu changes le nom et tu passes le nom du fichier en variable... Ca te permet d'appeler la procédure en balancant le nom du fichier...

;-)
2
Ok, mais comment dire à VBExcel que c'est avec Acrobat Reader qu'il doit ouvrir les pdf???
2
WhiteFang Messages postés 2063 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204
25 août 2005 à 10:01
;-)
Tu testes l'extension du fichier... Si c'est PDF, tu fais ton shell avec Acrobat, sinon, ton shell avec l'explorateur...
;-)
2
Le pb, c'est que j'arrive pas à faire un shell avec acrobat reader

t'as un code à me proposer?
0
bonjour a tous,,
je m'appelle cesar et je suis en train de developper une application visual basic où à l'enregistrement des données sur un formulaire de l'appication je dois visionner ces données sur une page excel. je souhaite recevoir recevoir de l'aide de toute personne pouvant me dire comment relier une application vb à excel. merci d'avance.
2
je ne veux pas "ouvrir dans Excel" mais "à partir d'Excel, ouvrir les fichier dans le programme adéquat"

c'est à dire que dans mon fichier Excel de base, je récupère le numéro de la question (je traite des questions et leurs réponses), puis automatiquement, le fichier de la réponse s'ouvre. ce fichier est indiférement un rtf, doc, pdf, jpg, jpeg, tif, tiff, bmp, xls.

Merci pour vos réponses, on y arrivera
1
WhiteFang Messages postés 2063 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204
24 août 2005 à 16:47
;-) Ha, oké !! ;-)

Dans ce cas, il faut avoir les bibliothèques d'objets ouvertes...

Chaque appli dispose de ses biblio, tu rajoutes les biblio pour lire les jpg (cela dépend de tes softs) et autres...

Ensuite, dans le code, tu fais des "createobject" ou des "dim as xxx.application", et ça se pilote comme Access, par exemple....

Je n'ai pas essayé avec des appli traitant des jpg, mais surtout Access et les applis office, en fait, et ça se pilote comme ça (au plus simple) :

-Après avoir rajouté les bibliothèques d'objets-

Dim AppAccess As New Access.Application (au moment où tu tapes l'espace après New, tu as la liste de tout ce qu'il y a en ligne, ton appli s'y trouvera)

Ensuite, tu utilises cette variable objet comme tu veux (dont les propriétés, méthodes, etc...) style AppAccess.OpenDatabase xxx

Tu vois le principe...

;-)
1
WhiteFang Messages postés 2063 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204
24 août 2005 à 17:53
;-) Acrobat Reader.... ?
1
WhiteFang Messages postés 2063 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204
25 août 2005 à 10:24
;-) Je regarde...
1
comment je peux ouvrire un fichier (word, ppt....) a partire d'une commande (VBA) sur excel?
1
WhiteFang Messages postés 2063 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204
7 févr. 2007 à 21:13
;-)

Cela dépends de ce que tu veux faire, en fait... Tu as la commande Shell qui fonctionne sur tout, mais ça ne dit pas ce que tu veux faire en "ouvrant" ce fichier... ??

Ps : Ouvrir (sans E)

;-)
0
Re!

Tu definis la valeur de ta cellule comme une variable et tu l'insere dans le sub

apres je ne sais pas dans quel cas tu veux ouvrir le fichier

Exemple

Sub test()
Dim NomFichier As Variant
Range("b2").Select
If ActiveCell <> "" Then
NomFichier = ActiveCell.Value
Call open_help(NomFichier)
Else
Exit Sub
End If
End Sub

Sub open_help(NomFichier As Variant)
ThisWorkbook.FollowHyperlink "blablabla" + NomFichier + "bla.pdf"
End Sub

Dans ton hyperlink tu peux mettre des parties fixes en les mettant entre guillemets et des parties variables (que tu as définit au préalable via des procédés divers et variés) tout doit bien entendu etre compilé avec des +.

Exemple:


'numLigne ou se trouve le curseur
FICnl = Left(ActiveCell.Row, 10)


ThisWorkbook.FollowHyperlink "bla" + Value1 + FICnl + "blabla" + NomFichier + "bla" + ValueZ + ".pdf"

A+
1
Bonjour,

Ce que tu souhaites faire n'est pas compliqué.
Déja il te faut valider Microsoft Excel dans la liste des références à ton projet VB.
Ensuite tu vas sur www.vbfrance.fr et tu trouveras ton bonheur,
N'hésites pas à me recontacter en cas de soucis.
-1
à l'attention de Memes :
J'ai exactement le même besoin que vous. Pb je suis une véritable quiche en VB.
Pourriez-vous m'envoyer la macro si vous l'avez finalisée?
Merci merci merci
-1