Microsoft 365 Ouverture de fichier

TCHIS

XLDnaute Occasionnel
Bonsoir à tous je suis entrain développer un outil sur excel depuis des semaines d'ailleurs certains d'entres vous m'ont beaucoup aider

Ce qu'il y a c'est que j'ai un formulaire sur lequel j'ai monté une ListView et chacune des lignes de cette listView correspond à document se trouvant en deux formats (Word & PDF) dans des dossiers bien défini.

Ce que je souhaite réaliser c'est ouvrir au double clique sur une ligne de la listview soit le format Word soit le format PDF.
En d'autre terme mettre en place un code d'ouverture de fichier comme lien hypertext

Comme données importantes il y a site(ColonneA), métier(ColonneC) et désignation_Gamme(ColonneF) car chaque fichier (Word & PDF)) porte un Nom=désignation_Gamme et se trouve dans un dossier dans le chemin est le suivant: Site(ALIMA,DJENO,LIKOUF,etc)=>Métier(ELEC,INST,MECA) et dans chaque dossier métier que sont ELEC,INST,MECA il y 'a sept autres dossiers
  1. 00Gamme en attente de validation SUP(0%)
  2. 01Gamme en attente de validation SIM(25%)
  3. 02Gamme en attente de validation MM(50%)
  4. 03Gamme en attente de validation GMAO (75%)
  5. 04Gamme Validées (100%)
  6. Gamme à modifiées
  7. Natifs Word
Alors autre point très important c'est que le format Word de ces fichiers que sont les Gammes restent dans le dossier Natif Word et ne seront pas destinées à être déplacés par contre les formats PDF eux sont destinées à être déplacés dans un dossier spécifique en fonction du niveau de validation (0%, 25%, 50%, 75% & 100%).
Ce qui fait que pour ce qui concerne l'ouverture du format Word de fichier(Gamme) qu'on souhaite ouvrir il faut suivre le chemin jusqu'aux dossiers Natifs Word où se doit se trouver les version Word par contre le format PDF le code doit être monter de sorte à rechercher dans les dossiers 1,2,3,4,5 le fichier en format PDF correspondant car ce fichier PDF peut être dans de ces 5 dossier selon le niveau de validation qu'il a.

Comme toujours je viens avec un sujet perplexe tout du moins perplexe pour moi et j'espère qu'on pourra trouver une solution ensemble🙏🙏🙏🙏
Je suis ouvert à toutes propositions
 

Pièces jointes

  • TCHIS.xlsm
    58.5 KB · Affichages: 2

TooFatBoy

XLDnaute Barbatruc
Bonjour,

59 vues et aucune réponse... Peut-être l'énoncé n'est-il pas assez clair.

Les colonnes décrites dans la question ne correspondent pas aux colonnes du fichier.

On comprend bien qu'il y a un dossier nommé Site(ALIMA,DJENO,LIKOUF,etc)=>Métier(ELEC,INST,MECA), mais on ne sait pas où il se trouve.

De même, quel est le format exact des noms des fichiers : y a-t-il l'année, le mois, etc. dans le nom des fichiers ?

Le tableau est vide, donc pas facile de se faire une idée des noms de fichiers possibles.
 

TCHIS

XLDnaute Occasionnel
Bonjour,

59 vues et aucune réponse... Peut-être l'énoncé n'est-il pas assez clair.

Les colonnes décrites dans la question ne correspondent pas aux colonnes du fichier.

On comprend bien qu'il y a un dossier nommé Site(ALIMA,DJENO,LIKOUF,etc)=>Métier(ELEC,INST,MECA), mais on ne sait pas où il se trouve.

De même, quel est le format exact des noms des fichiers : y a-t-il l'année, le mois, etc. dans le nom des fichiers ?

Le tableau est vide, donc pas facile de se faire une idée des noms de fichiers possibles.
Bonjour toofatboy heureusement que tu as réagit car le fichier que j'ai insérer au préalable perdu ses données je ne sais pas pourquoi.
Mai à présent c'est régler on a le bon fichier avec ses données

Pour répondre à ta remarque à savoir
De même, quel est le format exact des noms des fichiers : y a-t-il l'année, le mois, etc. dans le nom des fichiers ?
les fichiers sont en format PDF dans tous les dossiers excepté le dossiers Natifs où les fichiers sont en format Word
A un fichier Word correspond un fichier pdf du même non pouvant être dans n'importe quel dossier suivant le niveau de validation de celui-ci je l'ai mentionné en haut
  1. 00Gamme en attente de validation SUP(0%)
  2. 01Gamme en attente de validation SIM(25%)
  3. 02Gamme en attente de validation MM(50%)
  4. 03Gamme en attente de validation GMAO (75%)
  5. 04Gamme Validées (100%)
Pour avoir les dossiers avec quelques fichiers comme cas pratiques je vais voir comment joindre un dossier dans le Forum dans lequel il y aura quelques fichiers (3Word) et pour chaque fichier Word sa version pdf avec

Mais est ce que là c'est un peu plus claire parce que je pense que c'est un peu inédit comme sujet
d'où la grande difficulté
 

TCHIS

XLDnaute Occasionnel
Bonjour @TCHIS , @TooFatBoy ;)


Tu peux joindre un zip. J'ai vu l'autre discussion qui m'a renvoyé ici.
Bonne journée.
Re à tous

J'ai modifier un peu le fichier original. Par là je veux dire que j'ai supprimer quelques lignes ne gardant au total que 6 lignes ce qui fait que ça fait 6Documents test pour travailler et réaliser cette fonction.
voici le fichier.

j'ai le dossier d'exemple compressé mais il est bien trop volumineux et donc je dépose ce lien ici https://www.sendspace.com/file/ppd5o2 qui renvoie vers un site de externe de stockage externe.
Je ne sais pas si c'est autorisé dans la chart du forum mais au point où j'en suis je tente le coup
 

TCHIS

XLDnaute Occasionnel
Hélas non, car tu ne fais que répéter ce que tu avais déjà dit.

Et tu ne réponds pas aux questions, en particulier celle sur le format des noms des fichiers.
Mais peut-être que le nouveau fichier répond à cette question. Je regarderais quand mon PC sera allumé. ;)


[edit] Salut cp4 😃 [/edit]
Je te remercie
Par exemple voici l'ancienne méthode d'ouverture des fichiers avec un lien Hypertext
1683189793797.png

Le but étant d'avoir la même fonctionnalité mais avec du VBA au double clique sur l'une des lignes de la listview dont chacune correspond à un document spécifique ayant une version Word(La version word du document reste dans un dossier fixe) et une version PDF (Cette version PDF peut être dans différents dossier selon le niveau de validation)
  1. 00Gamme en attente de validation SUP(0%)
  2. 01Gamme en attente de validation SIM(25%)
  3. 02Gamme en attente de validation MM(50%)
  4. 03Gamme en attente de validation GMAO (75%)
  5. 04Gamme Validées (100%)
Avec le word on a un dossier précis où rechercher tandis qu'avec le PDF on 5 dossier potentiels où peut etre logé le document PDF donc je me dis que sur la macro destiné à réaliser cette fonction d'ouverture de fichier

si le fichier qu'on souhaite consulter c'est la version Pdf alors la partie du code pour l'ouverture de ce document PDF doit rechercher dans les différents dossiers et quand on le trouve ça l'ouvre en PDF
 

TCHIS

XLDnaute Occasionnel
Bonjour @cp4
au purée c'est vieux ça (2010)ne association de la méthode (DIR) et (FSO) ;)
cela dit ça fonctionne encore
mais je pense que notre camarades se trompe de chemin
dans le tableau je mettrais le chemin complet des fichiers moi
Re
Mettre le chemin complet des fichier est aussi une option en effet je vais prendre connaissance de la démarche utilisée dans la discussion de 2010 et je l'adapte en suite à mon besoin puis je fais un retour
 

TCHIS

XLDnaute Occasionnel
Bonjour à tous
Comme dit j'ai pris connaissance de la conversation qui traite du sujet similaire au mien
la macro pour l'ouverture des Fichier Word (Partie Word: Parce que les documents en version en word reste fixe dans un dossier contrairement au version pdf qui sont destinés à être déplacé d'un dossier à un autre en fonction de la validation ), bref cette macro est en place et se présente comme suite :
VB:
Sub Format_WORD_GO(NumLig As Long)
'Ici on a la macro qui gère l'ouverture des fichiers WORD
    
    'Déclaration des Variables
    Dim ws As Worksheet
    Dim chemin As String
    Dim LefichierW As String
    Dim NomFich As String
    Dim Existe As Boolean
    Dim fs As Object, Rep As Object
    Dim lg As Long
    Dim C As Variant
C = Feuil1.Range("A2:P2" & Feuil1.Range("A" & Rows.Count).End(xlUp).Row).Value
'    C = Feuil1.Range("A2:P2" & dligne).Value
Dim mavariableSite As String
        mavariableSite = Cells(NumLig + 1, 1).Value 'Peut-etre mettre .Count aulieu de point .Value
Dim mavariableMétier As String
        mavariableMétier = Cells(NumLig + 1, 3).Value
        
        
     Set ws = Sheets("BD_NATIFS")
        Application.Goto ws.Cells(NumLig + 1, 1) 'ligne de code pour ce positionner sur la ligne correspondante
'*******************************************************************************************************************************************************
        'Le role de ces lignes de code de la macro est de définir le chemin des Gammes Opératoires selon le Site et le métier auxquels celles-ci appartiennent
'*******************************************************************************************************************************************************
            '**************Début Code Chemin*******************
        For lg = 2 To UBound(C)
                If mavariableSite = "ALIMA" Then
                            If mavariableSite = "ELEC" Then
    '                                chemin =  'On va définir ici le chemin correspondant à l'emplacement d'une GO ALIMA-ELEC
                                    ElseIf mavariableSite = "INST" Then
    '                                chemin =  'On va définir ici le chemin correspondant à l'emplacement d'une GO ALIMA-INST
                                    ElseIf mavariableSite = "MECA" Then
    '                                chemin =  'On va définir ici le chemin correspondant à l'emplacement d'une GO ALIMA-MECA
                            End If
                ElseIf mavariableSite = "DJENO" Then
                            If mavariableSite = "ELEC" Then
    '                                chemin =  'On va définir ici le chemin correspondant à l'emplacement d'une GO DJENO-ELEC
                                    ElseIf mavariableSite = "INST" Then
                                               'On va définir ici le chemin correspondant à l'emplacement d'une GO DJENO-INST
                                    chemin = "\\main.glb.corp.local\ep-cg$\Home\BIN\9\L1090289\Desktop\Gammes Opératoires TotalEnergies\DJENO\ELEC\Natifs(Format word)"
                                    ElseIf mavariableSite = "MECA" Then
    '                                chemin =  'On va définir ici le chemin correspondant à l'emplacement d'une GO DJENO-MECA
                            End If
                ElseIf mavariableSite = "LIKOUF" Then
                            If mavariableSite = "ELEC" Then
    '                                chemin =  'On va définir ici le chemin correspondant à l'emplacement d'une GO LIKOUF-ELEC
                                    ElseIf mavariableSite = "INST" Then
    '                                chemin =  'On va définir ici le chemin correspondant à l'emplacement d'une GO LIKOUF-INST
                                    ElseIf mavariableSite = "MECA" Then
    '                                chemin =  'On va définir ici le chemin correspondant à l'emplacement d'une GO LIKOUF-MECA
                            End If
                ElseIf mavariableSite = "NKOSSA" Then
                            If mavariableSite = "ELEC" Then
    '                                chemin =  'On va définir ici le chemin correspondant à l'emplacement d'une GO NKOSSA-ELEC
                                    ElseIf mavariableSite = "INST" Then
    '                                chemin =  'On va définir ici le chemin correspondant à l'emplacement d'une GO NKOSSA-INST
                                    ElseIf mavariableSite = "MECA" Then
    '                                chemin =  'On va définir ici le chemin correspondant à l'emplacement d'une GO NKOSSA-MECA
                            End If
                ElseIf mavariableSite = "NORD" Then
                            If mavariableSite = "ELEC" Then
    '                                chemin =  'On va définir ici le chemin correspondant à l'emplacement d'une GO NORD-ELEC
                                    ElseIf mavariableSite = "INST" Then
    '                                chemin =  'On va définir ici le chemin correspondant à l'emplacement d'une GO NORD-INST
                                    ElseIf mavariableSite = "MECA" Then
    '                                chemin =  'On va définir ici le chemin correspondant à l'emplacement d'une GO NORD-MECA
                            End If
                End If
                
        Next lg
            '**************Fin Code Chemin*******************
            
'*********************************************************************************
        'Voici les lignes de code de la macro qui permettent d'ouvrir le fichier Word
'*********************************************************************************
        If LefichierW <> "" Then
                 NomFich = Dir(chemin & "\*.docs")
                 Do While NomFich <> ""
                        If NomFich <> LefichierW Then
                                Workbooks.Open chemin & "\" & NomFich
                                Existe = True
                                Exit Do
                        End If
                        NomFich = Dir()
                Loop
                
                If Not Existe Then
                        Set fs = CreateObject("Scripting.FileSystemObject") 'fs est à définir
                            For Each Rep In fs.GetFolder(chemin).SubFolders
                                            Format_WORD_GO Rep.Path, LefichierW ' mettre après Format_WORD_GO des paraenthèse ( ) dans lesquels il y aura l'urgument qu'il faut vu que pour aller sélectionner la ligne
                            Next Rep
                        Set fs = Nothing
                End If
        End If
     Set ws = Nothing
End Sub
J'ai voulu faire un premier test et donc ouvrir le fichier word d'un document appartenant au site DJENO et au métier ELEC et il y a une erreur que voici:
1683276711104.png


Depuis j'essai de résoudre cela. C'est du au fait que dans la macro Format_WORD_GO pour sélectionner la ligne dans la feuille Excel j'ai déclaré Numlig dans le sub de la macro de cette manière

1683276909548.png


Pouvez-vous s'il vous plait m'aider à résoudre cela et si possible de jeter un coup d'œil à la macro certes elle montée mais peut-être qu'il y a des erreurs ici et là je veux dire quelque qui m'échappe mais ce qui ne serait pas le cas de l'un d'entre vous

Merc d'avance
 

Discussions similaires

Réponses
11
Affichages
245

Statistiques des forums

Discussions
312 207
Messages
2 086 248
Membres
103 164
dernier inscrit
axelheili2