Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1339 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  ouvrir un .doc d'excel avec un chemin composé de variables

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ouvrir un .doc d'excel avec un chemin composé de variables

n°1038623
sof112
Posté le 07-04-2005 à 11:14:43  profilanswer
 

Bonjour à tous,
 
Voici mon souci.
 
Sous windows 2000, j’ai un classeur excel qui reprend les références de documents word sous forme d’index.
 
Ce classeur contient environ 10 000 références (donc impossible de faire des liens).
 
Je voudrais, lorsque je me trouve sur une cellule reprenant le nom d’un document que celui-ci s’ouvre dans word par une macro VBA.
 
Là où ça se complique, c’est que la référence est constituée ainsi :
 
Les deux premiers chiffres représentent l’année d’établissement du document (exemple 05 pour 2005)
Les deux chiffres suivants représentent le mois (exemple 04 pour avril)
Les deux ou trois lettres suivantes représentent les initiales de la personne à l’origine du document (exemple XX)
Les deux derniers chiffres représentent le numéro de chrono du document (exemple 01)
Le nom du document est donc par exemple 0504XX01.doc
 
Pour faciliter le classement de ces documents, nous avons des répertoires constitués de la manière suivante :
 
w:\Groupe\Filiales\123\
 
puis un répertoire pour l’année de 2001 à 2005 (exemple 2005)
puis un répertoire pour le mois de janvier à décembre reprenant l’année (exemple 05.04 pour avril 2005)
 
Je souhaite donc que la macro permette d’aller ouvrir le fichier word en retrouvant le chemin par rapport à la cellule active d’excel.
 
D’autre part, les fichiers antérieurs à 2001 sont stockés sur un CDROM toujours en place dans mon lecteur. Je souhaiterai que pour les fichiers ayant une référence commençant par une année inférieure à 01, la macro aille chercher sur le CDROM.
 
Je me suis déjà attelée au premier problème (fichiers présents sur W:\) et voilà ma macro. Seulement, le programme ne reconnaît pas ma variable comme un chemin de fichier. Comment faire ?
 
Sub essaisof()
 
Dim annéedudoc As String
Dim moisdudoc As String
Dim refdudoc As String
Dim annéecompletedudoc As String
Dim annéemoisdudoc As String
Dim cheminouverture1  
Dim cheminouverture2
 
annéedudoc = Mid(ActiveCell.Value, 1, 2)
moisdudoc = "." & Mid(ActiveCell.Value, 3, 2)
refdudoc = ActiveCell.Value & ".doc"
annéecompletedudoc = "20" & annéedudoc
annéemoisdudoc = "\" & annéedudoc & moisdudoc
refdudoc = "\" & ActiveCell.Value & ".doc"
cheminouverture1 = "W:\Groupe\Filiales\123\"
cheminouverture2 = cheminouverture1 & annéecompletedudoc & annéemoisdudoc & refdudoc
 
MsgBox cheminouverture2
'Cette MsgBox me permet de constater que le chemin est correct.
 
On Error Resume Next
Set objWord = GetObject(, "Word.Application" )
If objWord Is Nothing Then
Set objWord = CreateObject("Word.Application" )
End If
On Error GoTo 0
objWord.Visible = True
 
objWord.Documents.Open Filename = cheminouverture2
'et c’est là que ça plante ! ! !
 
End Sub
 
J’ai essayé plusieurs autres choses (shell, déclarer une fonction Dir ect…) mais rien ne marche.
 
Merci de votre aide.
 
PS : je débute en VBA


Message édité par sof112 le 07-04-2005 à 13:38:21
mood
Publicité
Posté le 07-04-2005 à 11:14:43  profilanswer
 

n°1038626
FlorentG
Unité de Masse
Posté le 07-04-2005 à 11:16:32  profilanswer
 

Quel interêt de faire ça sous Excel :??: Ca ressemble grave à du Access, ça aurait été mieux de le faire sous Access, surtout que t'as un type de champs qui te permet de lier un fichier à un enregistrement

n°1038632
sof112
Posté le 07-04-2005 à 11:17:34  profilanswer
 

Peut-être mais j'ai pas Access au boulot.

n°1038636
FlorentG
Unité de Masse
Posté le 07-04-2005 à 11:18:58  profilanswer
 

T'as mis des espions sur tes variables, histoire de voir quelle gueule elles ont ? :)

n°1038645
sof112
Posté le 07-04-2005 à 11:22:01  profilanswer
 

Comme je débute en VBA, je ne sais pas ce que c'est que des espions... ça sert à quoi ?

n°1038649
FlorentG
Unité de Masse
Posté le 07-04-2005 à 11:23:50  profilanswer
 

Tu met des points d'arrêt sur les lignes interessantes, puis en mettant des espions, tu peux voir la valeur qu'ils ont. Consulte l'aide de VBA sur le debugging

n°1038667
sof112
Posté le 07-04-2005 à 11:32:25  profilanswer
 

Okay je vais aller voir.
 
Et tu crois qu'il y a une solution pour mon problème ?

n°1038673
FlorentG
Unité de Masse
Posté le 07-04-2005 à 11:35:40  profilanswer
 

Petit, il y a toujours une solution :D

n°1038790
sof112
Posté le 07-04-2005 à 13:24:40  profilanswer
 

Génial.
 
Pour situer un peu le contexte de ma demande, voici quelques infos supplémentaires. Le fichier excel sur lequel je travaille, et qui est renseigné au jour le jour depuis 1998 (et que j'ai donc récupéré à ma prise de poste ici) est constamment ouvert sur mon PC. Des personnes me font des requêtes et à partir des éléments qu'ils me donnent, je fais une recherche par filtre sur ce fichier qui comporte un max d'infos pour retrouver le document qui les concerne. Après ça, je dois ouvrir le document word correspondant pour vérifier que c'est bien le dossier à sortir. Mais quelquefois, il faut faire plusieurs tentatives pour trouver le bon. Aussi ça me simplifierait la vie si à partir d'excel, je pouvais ouvrir directement mes fichiers .doc au lieu de devoir passer sur word, retrouver le chemin, ouvrir le fichier, le fermer, retourner sous excel ect....


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  ouvrir un .doc d'excel avec un chemin composé de variables

 

Sujets relatifs
[excel] tableau championnat?additionner 2 variables
Macro excel VBA complexe sur Filtre auto + récupération des données...Macro - passage de variables dans 2 procédures
[HTML/CSS/JS] Ya un moyen d'ouvrir un lien dans FFox à partir de IE ?rappeler une feuille Excel
Probleme creation de fichier excel a partir de phpExcel et le tri par code
Macro excel en vb :'(Exporter un état Acess dans un fichier excel
Plus de sujets relatifs à : ouvrir un .doc d'excel avec un chemin composé de variables


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR