Ouvrir un fichier avec VB Excel

Résolu
Memes -  
 Vbbbaaaaaa -
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   Statut Membre Dernière intervention   204
 
;-)

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

;-) Testé...
9
chickenhands
 
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   Statut Membre Dernière intervention  
 
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
Vbbbaaaaaa
 
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
Memes
 
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
 
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
biloue
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   7
 
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
memes
 
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
Memes
 
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   Statut Membre Dernière intervention   204
 
;-)

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
bibi
 
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   Statut Membre Dernière intervention   204
 
;-)

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
Memes
 
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   Statut Membre Dernière intervention   204
 
;-)

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
Memes
 
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   Statut Membre Dernière intervention   204
 
;-)
Tu testes l'extension du fichier... Si c'est PDF, tu fais ton shell avec Acrobat, sinon, ton shell avec l'explorateur...
;-)
2
Memes
 
Le pb, c'est que j'arrive pas à faire un shell avec acrobat reader

t'as un code à me proposer?
0
cesar
 
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
Memes
 
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   Statut Membre Dernière intervention   204
 
;-) 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   Statut Membre Dernière intervention   204
 
;-) Acrobat Reader.... ?
1
WhiteFang Messages postés 2063 Date d'inscription   Statut Membre Dernière intervention   204
 
;-) Je regarde...
1
mirak
 
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   Statut Membre Dernière intervention   204
 
;-)

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
chickenhands
 
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
Cédric
 
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
palaf
 
à 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