ouvrir un fichier EXCEL dont le nom contient le texte de la cellule

Gaby71

XLDnaute Junior
Bonjour,

Depuis un fichier Excel (liste de toutes machines vendues) muni d’un bouton, faire une macro pour afficher le fichier Excel propre à la machine demandée.
Procedure :
Sur le fichier « liste », choisir cellule ( contenant le N° de machine)
Faire un copier
Utiliser le navigateur windows pour accéder au répertoire contenant le fichier excel de la machine
Utiliser la case « rechercher » , Taper « * », coller et Taper « * ».
L’adresse du fichier demandé apparait
Fin de macro
Ouvrir ce fichier

Exemple :
je suis sur mon fichier "liste de machines"qui est en : N:\Diffusion\BE_vibrants\_Spécifs
je selectionne la cellule contenant le texte "50260215"
Je veux aller chercher et ouvrir le fichier excel :1845_4M_50260215Sogea_Satom_Congo.xls
qui est dans le repertoire N:\Diffusion\BE_vibrants\_Spécifs\Complètes\CVB-MV\CVB1845_MV

Merci d’avance
 

Gaby71

XLDnaute Junior
Re : ouvrir un fichier EXCEL dont le nom contient le texte de la cellule

bonjour et merci pour ces reponse aussi rapide
Je viens de trouver ceci : https://www.excel-downloads.com/thr...s-la-cellule-dun-autre-fichier-boucle.159045/
mais je ne sais pas comment integrer dans le code le texte (50260215) pour accéder au fichier unique qui ce nomme "1845_4M_50260215_Sogea_Satom_Congo.xls"et qui est dans un autre repertoire

merci d'avance

@+
 

mutzik

XLDnaute Barbatruc
Re : ouvrir un fichier EXCEL dont le nom contient le texte de la cellule

bonjour,

je pense qu'il te faut absolument une correspondance dans une colonne entre le nom (ou numéro) de ta machine et la repertoire et le nom du fichier à ouvrir
c'est à mon sens le plus pratique, rapide, et qui évite d'ouvrir un mauvais fichier

mais comme d'hab, sans fichier exemple ...
 

Gaby71

XLDnaute Junior
Re : ouvrir un fichier EXCEL dont le nom contient le texte de la cellule

Merci pour la reponse

je joints mon fichier de travail à partir de laquel je lance la macro.

Donc je selectionne une cellule dans la colonne " Machine number" dans le fichier " recherche_machines_par_criteres........"
je lance la macro

pour acceder au repertoire où se trouve le fichier excel unique
 

Pièces jointes

  • afacDoc2.docx
    99.3 KB · Affichages: 51
  • afac_fichier_base.jpg
    afac_fichier_base.jpg
    80.9 KB · Affichages: 67
Dernière édition:

Gaby71

XLDnaute Junior
Re : ouvrir un fichier EXCEL dont le nom contient le texte de la cellule

Bonjour à tous,
Ai-je demandé l'impossible ou me suis-je trop mal exprimé.

Ma feuille excel dont une colonne represente les numeros de serie de machine;
En se positionnant sur une cellule de cette colonne puis en lancant la future macro (le bouton est fait ... mais rien derriere),je veux ouvrir le tableau Excel propre à la machine demandée ( comme montré dans le document joint plus haut - afacDoc2.docx)
je joins egalement mon fichier de base tronqué car l'original à trop de ligne pour être transferé.

mon idée au départ était d'enregistrer une macro par actions successives : se positionner sur la cellule (numero de machine) de mon fichier recapitulatif des machines vendues, faire copy, avec le naviguateur windows , aller dans un repertoire (toutes les machines) composé de sous repertoires (par type de machines puis de tailles de machines) , faire une recherche en tapant " * " coller mon numero de machine et retaper " * " car le nom du fichier unique est composé comme ceci :
TS4.3_50640103_Benito_Arno.xls (type de machine ,numero de serie unique et client)
Mais l'enregistrement de la macro ne prend pas toutes ces actions.

Merci d'avance
 

Pièces jointes

  • afac_Recherche_machines_par_critéres.xls
    190 KB · Affichages: 67
Dernière édition:

Gaby71

XLDnaute Junior
Re : ouvrir un fichier EXCEL dont le nom contient le texte de la cellule

Bonjour à tous,
Je reviens sur mon problème
Ouvrir une feuille de calcul qui est le descriptif d'une machine à partir d'un fichier excel récapitulatif ( fichier joint).
Colonne E : toutes les machines répertoriées .
Donc se positionner sur une cellule par exemple "E26" dont la valeur est « 50260160 » et cliquer sur le bouton " Go to specification"
La macro doit aller, pour ouvrir le fichier unique dans le répertoire "N:\Diffusion\BE_vibrants\_Spécifs\Complètes" en sachant que sous le répertoire « Complètes , il y a plusieurs niveaux de sous-répertoires qui correspondent à des familles de machines et en dessous des tailles de machines .
Par exemple : « E26 » doit ouvrir le fichier " 1845_4_50260110_MMAutriche_Jelen_do.xls " qui est dans le repertoire " N:\Diffusion\BE_vibrants\_Spécifs\Complètes\CVB-MV\CVB1845" .
Dans cette exemple , le numéro de machine «50260110 » commence au 8éme caractère . Pour d’autre comme celui-ci (ES202_50850001_Gumustas_Madencilik.xlsx) c’est au 6éme.
Merci d’avance pour votre aide .

PS : Voir fichier attaché le 04/06/14
 

camarchepas

XLDnaute Barbatruc
Re : ouvrir un fichier EXCEL dont le nom contient le texte de la cellule

bonjour ,

Voici un début de solution , par contre je ne vois pas comment trouver la partie "CVB-MV"

pour cet exemple mis en dur , mais il doit bien y avoir une table ou une info à décoder quelque part , non ?

Code:
Sub Chercher_specif()
'Recherche fiche machine
'Par exemple : « E26 » doit ouvrir le fichier " 1845_4_50260110_MMAutriche_Jelen_do.xls "
'qui est dans le repertoire " N:\Diffusion\BE_vibrants\_Spécifs\Complètes\CVB-MV\CVB1845" .
'en colonne F : CVB1845-3

Dim Machine As String
Dim Fichier As String, Chemin As String, Complément_Chemin As String
Machine = ActiveCell
Chemin = "N:\Diffusion\BE_vibrants\_Spécifs\Complètes\" & "CVB-MV\"
Complément_Chemin = Split(Range("F" & ActiveCell.Row), "-")(0)


ficher = Dir(Chemin & Complément_Chemin & "\*" & activevecell & ".xls")
End Sub
 

Gaby71

XLDnaute Junior
Re : ouvrir un fichier EXCEL dont le nom contient le texte de la cellule

Merci pour la reponse
Voici quelques exemples de fichiers codifiés:
-DF2012P_50710084_Comilog.xlsx dans sous-repertoire DF2012 lui-même sous DF
-TS4.3_50640112_Dompierre_Eurovia.xls dans sous-repertoire TS4.3 lui-même sous TS
et ceci pour plus de 100 machines , tailles et types confondus
Le nombre de 8 chiffres est le numero de serie donc unique
j'espere poserle probleme correctement

@+

Et merci d'avance
 
Dernière édition:

francedemo

XLDnaute Occasionnel
Re : ouvrir un fichier EXCEL dont le nom contient le texte de la cellule

bonjour à tous,
j'ai fait quelque chose d'approchant en ajoutant simplement un lien hypertext dans la cellule.
à partir du fichier liste, il suffit de cliquer dessus pour ouvrir la bonne fiche
ça demande un peu de traitement pour créer le lien du fichier selon le répertoire mais ça marche bien
si besoin, je peux mettre le code utilisé
cordialement
 

camarchepas

XLDnaute Barbatruc
Re : ouvrir un fichier EXCEL dont le nom contient le texte de la cellule

Bonjour Auxerre (France démo) ,

Bon si je comprends bien le répertoire intermédiaire se nomme par les 2 premières lettres du dossier final.

Aprés si l'on a la bonne formule , la quantité n'a pas d'importance sur le sujet ( Sauf si tu utilises la solution de France Démos , trés efficace , mais un peu lourde à mettre en place )

bon si l'on code ça cela donnerait donc :

Code:
Sub Chercher_specif()
 'Recherche fiche machine
 'Par exemple : « E26 » doit ouvrir le fichier " 1845_4_50260110_MMAutriche_Jelen_do.xls "
 'qui est dans le repertoire " N:\Diffusion\BE_vibrants\_Spécifs\Complètes\CVB-MV\CVB1845" .
 'en colonne F : CVB1845-3
 
Dim Machine As String, Chemin_total as string 
Dim Fichier As String, Chemin As String, Complément_Chemin As String
  Machine = ActiveCell
  Chemin = "N:\Diffusion\BE_vibrants\_Spécifs\Complètes\"
  Complément_Chemin = Split(Range("F" & ActiveCell.Row), "-")(0)
  chemin_total=  Chemin & left(complément_chemin,2) & Complément_Chemin & "\" & "\
  fichier = Dir(chemin_total & "*_" & machine & "_*.xls")
  workbooks.open filename:= chemin_total & fichier
 End Sub
 

Gaby71

XLDnaute Junior
Re : ouvrir un fichier EXCEL dont le nom contient le texte de la cellule

Les 2 exemples donnés sont des exemples de codifications pour dire que l'on ne peut pas dire que le numero de serie en 8 chiffres ne commence pas toujours à la même position par rapport à la gauche.
le fichier recapitulatif avec sa macro a été mis en piece attachée le 03/06/14
Cette macro sert pour ouvrir le fichier dans un sous-sous-repertoire dans le repertoire N:\Diffusion\BE_vibrants\_Spécifs\Complètes
 

camarchepas

XLDnaute Barbatruc
Re : ouvrir un fichier EXCEL dont le nom contient le texte de la cellule

Ok ,
Mais que donne le code que je t'ai proposé .
tu fais une fixation sur la place du numéro de série , mais en fait avec les caractéres génériques , dès l'instant ou ce numéro sera dans le nom on le prnd en compte , donc pas de problème sur le sujet ?
 

francedemo

XLDnaute Occasionnel
Re : ouvrir un fichier EXCEL dont le nom contient le texte de la cellule

re à tous,
dans la macro de CaMarchePas, à la place de "WorksBook.Open" il suffit de remplacer par un lien hypertext:
Cel.Hyperlinks.Add _
anchor:=Cel, _
Address:=Fich
en fait, le plus "compliqué" c'est de définir correctement le nom du fichier à ouvrir et son emplacement
pour ça, il faut connaitre l'arborescence de ton répertoire et savoir comment sont placés les fichiers
après triturer le nom de fichier et récupérer les bonnes infos, ça doit pouvoir se faire par VBA
l'idéal est de bien définir la construction de tes nom de fichiers, du style:
"code machine" & "_" & "numéro d'ordre machine" & "_" & "vendeur" & ".xls"
et pour les répertoires:
"N:\Diffusion\BE_vibrants\_Spécifs\Complètes" & "\code machine\"
...
et pour l'utiliser presque tous les jours, le lien hypertext dans le fichier, j'avoue que c'est sympa ...
 

Discussions similaires