Lien hypertexte vers fichiers dans des sous dossiers

edlede

XLDnaute Nouveau
Bonsoir à tous,

Je galère depuis novembre avec se sujet, pour faire simple

j'aimerai réaliser des liens hypertextes vers des fichiers situés à la racine de mon fichier Excel dans des sous dossier

Ex : Fichierxlsm
Rapport\Equipement\année\Fichier à trouver ( souvent en pdf )

Le premier problème c'est que ne veux pas fixer le chemin car tous les ans il faudrait ajouter la nouvelle cible...
je préférai scanner l’ensemble des sous dossiers pour trouver les fichiers existants. j'ai trouver ici meme me semble t il des macro allant dans ce sens, mais jusqu'à ce jour j'en ai jamais rien tien

Toutes mes données à lier sont en colonne B et la premiere valeur commence ligne 26 sauf pour un matériel dont les onglet on un préfixe "PIP" et qui commence colonne D, mais là encore j'ai des contraintes certaine ligne de la colonne sont vides (onglet "MIC")

et le dernier problème est que le nom des Pdf est souvent plus long que le nom enregistrer dans les onglet, j'aimerai comparer que la chaine de caractère issus de l'onglet pour rechercher mon fichier pdf

toutes mes cellules utilisées sont définies par des noms si ca peut aider pour la macro

je joins deux fichier pour facilité la compréhension de mes problèmes. si certain d'entre vous on des idées, je suis preneur.


Merci d'avance, je reste à votre disposition pour tous compléments d'informations.

Edlede
 

Pièces jointes

  • Excel_download.xlsx
    140.3 KB · Affichages: 40
  • RAPPORT SONDE.zip
    194.8 KB · Affichages: 38

Marc L

XLDnaute Occasionnel

Il s'agit de ta propre discussion créée sur un autre forum ‼

Donc sans voir ton lien, je me dis en découvrant cette discussion ici
« tiens, j'ai vu la même sur un autre forum et donc je verrais demain sur l'autre forum,
je préviens juste les autres ici …»

 

Roland_M

XLDnaute Barbatruc
Re : Lien hypertexte vers fichiers dans des sous dossiers

Bonsoir à tous,

que ce soit une même discussion déjà engagée sur un autre forum pour trouver une solution n'est pas un soucis que je sache !?

on peut être inscrit sur plusieurs forums et chercher une solution à son problème !
 

edlede

XLDnaute Nouveau
Re : Lien hypertexte vers fichiers dans des sous dossiers

Effectivement j'ai ouvert le sujet sur plusieurs forum. Ma dead line se rapproche rapidement, il me reste 10 jours pour boucler cette macro, et vu que je tourne en rond depuis Novembre sur le sujet je crains d’être incapable de fournir cette option.
j'ai prés de 500 onglets avec pour l'instant 3 à 4 fichiers à relier, au début je le faisais à la main mais maintenant ça devient trop lourd.

le fichier suivant (trouvé ici) fait presque tous le boulot dont j'ai besoin mais je suis incapable de l'adapter.

et voilà le bout de code que j ai réaliser, mais qui ne dois pas fonctionner !

Code:
DefBool Y
'Cette instruction doit se trouver sur la première ligne du module
           'Avant toute autre déclaration ,Sub ou Function

Function testo()

Dim Y, Y1, Y2, Y3, Y4, Y5, Y6, i% ' % = As integer
Dim tab_entete() As Integer
Dim Nb_Feuil
Dim Nb_Champ

Dim Ligne_Depart
Dim Num_Col
affiche_tous
  For i = 1 To Worksheets.Count
      With Worksheets(i)
      Y1 = Left(.Name, 8) = "Synthese"
      Y2 = Left(.Name, 1) = "_"
      Y3 = Left(.Name, 6) = "Modele"
      Y4 = Left(.Name, 3) = "CAL"
      Y5 = Left(.Name, 9) = "Bienvenue"
      Y6 = Left(.Name, 3) = "PIP"
      Y = Y1 Or Y2 Or Y3 Or Y4 Or Y5
          
        If Not Y Then
        If Y <> Y6 Then
            With Worksheets(i)
          Col_rapport = 1

    i = 0
    i = i + 1
                        ligne_debut = Range("DTE_CARTO").Row + 1
                        ligne_fin = Range("STOP").Row - 1
                        For cpt = ligne_debut To ligne_fin
                           Rapport_lib = Cells(cpt, Col_rapport)
                                
                                'Alimentation du tableau
                                cpt0 = 0
                                tab_entete(cpt0, cpt_tab) = Dte_Carto
                                cpt_tab = cpt_tab + 1
                                ReDim Preserve tab_entete(Nb_Champ, cpt_tab)
                    Next
                 End With
                 End If
                 End If
                 GoTo continue
    Y = Y6
    If Y = Y6 Then
            With Worksheets(i)
          
Col_rapport = 3

    i = 0
    i = i + 1
                        
                        ligne_debut = Range("Etat_lib").Row + 1
                        ligne_fin = Range("STOP").Row - 1
                        For cpt = ligne_debut To ligne_fin
                           Etat_lib = Cells(cpt, Col_rapport)
                                
                                'Alimentation du tableau
                                cpt0 = 0
                                tab_entete(cpt0, cpt_tab) = Etat_lib
                                cpt_tab = cpt_tab + 1
                                ReDim Preserve tab_entete(Nb_Champ, cpt_tab)
                    Next
                 End With
 
                 End If
      End With
   Next
continue: SousRepRepActuel
 
End Function
Function maj_liens()
 
'DocScan (toto)

End Function

Function SousRepRepActuel()

Dim tab_data(3, 10000)


Racine = ActiveWorkbook.Path                    ' Répertoire courant
Set fs = CreateObject("Scripting.FileSystemObject")
Set Dossier = fs.GetFolder(Racine)
[A1].Select
i = 0
For Each d In Dossier.subfolders
    For Each f In Dossier.Files
        tab_data(0, i) = Left(f.Name, InStr(f.Name, ".") - 1)
        tab_data(1, i) = f.Path & "\"
        tab_data(2, i) = f.Name
        i = i + 1
     Next
     Set Dossier = fs.GetFolder(Dossier.subfolders)
Next
End Function
 

Pièces jointes

  • 180011d1301131162-vba-lister-les-fichier-dun-dossier-sans-leur-extensions-dir_dossier (1).xls
    51 KB · Affichages: 21

Roland_M

XLDnaute Barbatruc
Re : Lien hypertexte vers fichiers dans des sous dossiers

Bonjour,

en l'état il n'est pas possible de t'aider car on ne connait pas le déroulement et on ne pourrait même pas tester !

par contre voir pour les déclarations de variables, exemple ici:
' DefBool Y '< ceci signifie que toutes variables commençant par Y sera boolean !
' dans ce cas ceci n'est pas correcte:
Dim Y, Y1, Y2, Y3, Y4, Y5, Y6 '< tu n'utilises pas Y1 Y2 . . . comme boolean mais comme string ! ex Y1 = Left(.Name, 8) = "Synthese"
Dim Nb_Feuil '< sans autre précision ceci sera variant par défaut !
Dim Nb_Champ '< idem ici



il faut bien comprendre que personne ne va se lancer dans la lecture et toute la compréhension nécessaire pour régler ton problème !
on peut aider sur une fonction voir une routine mais pas sur tout un programme !
il faudrait créer tout l'environnement nécessaire pour l'essayer !
beaucoup ne se rendent pas compte de ce qu'ils demandent, parfois des programmes fait de bric et de broc et demande des solutions impossibles !
 
Dernière édition:

edlede

XLDnaute Nouveau
Re : Lien hypertexte vers fichiers dans des sous dossiers

Merci effectivement j'avais mal gérer cette partie la, je me suis finalement débrouiller pour avancer mais la je bloque completement.

j'ai finalement à réunir sur une feuille mes liens hypertextes et mes valeurs à comparer, pour faire simple je compare ma colonne J avec ma colonne C. Mais là ca se complique :

j'aimerai récupérer les valeurs des autres colonnes, c'est à dire sélectionner le nom de l'onglet lorsque ma comparaison est vrai mais la probleme. impossible de selection ma valeur onglet.

lorsqu'on récupère la valeur de l'onglet, je le sélectionne et j'aimerai insérer le lien hypertext (colonne B) sur la valeur correspondant à la cellule de la colonne J...

j'ai l'impression de ne pas etre très claire,

je fournis un fichier exemple
 

Pièces jointes

  • comparatif.xlsm
    190.5 KB · Affichages: 53

Roland_M

XLDnaute Barbatruc
Re : Lien hypertexte vers fichiers dans des sous dossiers

Bonjour,

effectivement c'est pas très clair du tout !
on se sait pas quoi faire exactement du résultat de cette comparaison !?

comparer la colonne C avec la J, ça c'est OK
à partir de là:
quand la comparaison est ok, récupérer les autres valeurs de cette ligne, très bien, mais . . .
questions:
pour faire quoi avec chacune de ces valeurs ?
sélectionner comme tu dis c'est bien mais . . .
je suppose recopier !? si oui, où ?
et dans quelle feuille ?
quelle valeur dans quelle cellule ?

c'est tout ça qui n'est pas clair !?
 

Discussions similaires

Statistiques des forums

Discussions
312 169
Messages
2 085 909
Membres
103 032
dernier inscrit
etima