Bonjour,
Je cherche à écrire un code vba, qui me permettra de chercher un fichier depuis son nom sous forme de numéro inscris dans une cellule, puis mettre le résultat de la recherche sous forme de chemin du fichier trouvé dans une cellule.
Je dispose d'un tableau dans lequel j'ai une colonne "CHILD OP", ce sont des N°OF. Aussi les cellules de la colonne "CHILD PRODUCT" sont des N°Série.
L'objectif est d'écrire une boucle qui va parcourir toutes les colonnes de mon tableau, ligne par ligne pour chercher si on a un fichier avec comme nom un N°OF - N°Série existe dans notre répertoire définit fixe. Si le fichier existe et que dans son Nom on a "MT", mettre hyperlink de ce fichier dans cellule colonne "MT" de la ligne associé, pareil pour "PT"/ "UT"/"VT"...
J'ai commencé par établir un code en s'aidant d'internet, mais je penses avoir plusieurs erreurs que je n'arrive pas à corriger ou à m'en apercevoir.
Si qq peut m'aider svp je bloque sur ca ^^ MERCI !
Voici mon code !
	
	
	
	
	
		
	
		
			
		
		
	
				
			Je cherche à écrire un code vba, qui me permettra de chercher un fichier depuis son nom sous forme de numéro inscris dans une cellule, puis mettre le résultat de la recherche sous forme de chemin du fichier trouvé dans une cellule.
Je dispose d'un tableau dans lequel j'ai une colonne "CHILD OP", ce sont des N°OF. Aussi les cellules de la colonne "CHILD PRODUCT" sont des N°Série.
L'objectif est d'écrire une boucle qui va parcourir toutes les colonnes de mon tableau, ligne par ligne pour chercher si on a un fichier avec comme nom un N°OF - N°Série existe dans notre répertoire définit fixe. Si le fichier existe et que dans son Nom on a "MT", mettre hyperlink de ce fichier dans cellule colonne "MT" de la ligne associé, pareil pour "PT"/ "UT"/"VT"...
J'ai commencé par établir un code en s'aidant d'internet, mais je penses avoir plusieurs erreurs que je n'arrive pas à corriger ou à m'en apercevoir.
Si qq peut m'aider svp je bloque sur ca ^^ MERCI !
Voici mon code !
		VB:
	
	
	Sub Aspirateur()
    Dim Fso As Object, Rep As String
    Dim f1 As Object, f2 As Object, Present As Integer
    i = 2
    NomIncomplet = Cells(i, 4) & "-" & Cells(i, 5) & "-"
    
    '& Cells(1, 7) & "-" & Cells(1, 8) & "-" & Cells(1, 9) & "-" & Cells(1, 10)
    Present = 0
    Rep = "C:\Users\" & Environ("Username") & "\Alstom\DLC - Documents\MS\CND" & "\"     'Définit le répertoire contenant les fichiers, c'est à dire la directory courante
    
  
    Set Fso = CreateObject("Scripting.FileSystemObject")
        For Each f1 In Fso.GetFolder(Rep).SubFolders    ' Dans le dossier
            ' et chaque sous dossiers
            For Each f2 In f1.Files
                ' Si le nom du fichier contient le morceau de nom cherché alors
                If f2.Name Like "*" & NomIncomplet & "*" = True Then
                    If f2.Name Like "*" & Cells(1, 7) & "*" = True Then
                         Set MonApp = CreateObject("Shell.Application")
                         Chemin = Rep & f2.Name
                         Cells(i, 7) = f2.Name
                         MonApp.Open (Chemin)
                         ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 7), _
                         Address:=FileItem.ParentFolder & "\" & f2.Name
                         Set MonApplication = Nothing
                         Present = 1
                        
                    End If
                    
                    If f2.Name Like "*" & Cells(1, 8) & "*" = True Then
                         Set MonApp = CreateObject("Shell.Application")
                         Chemin = Rep & f2.Name
                         Cells(i, 8) = f2.Name
                         MonApp.Open (Chemin)
                         ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 8), _
                         Address:=FileItem.ParentFolder & "\" & f2.Name
                         Set MonApplication = Nothing
                         Present = 1
                    End If
                    If f2.Name Like "*" & NomIncomplet & "*" & Cells(1, 9) & "*" = True Then
                         Set MonApp = CreateObject("Shell.Application")
                         Chemin = Rep & f2.Name
                         Cells(i, 9) = f2.Name
                         MonApp.Open (Chemin)
                         ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 9), _
                         Address:=FileItem.ParentFolder & "\" & f2.Name
                         Set MonApplication = Nothing
                         Present = 1
                    End If
                    If f2.Name Like "*" & NomIncomplet & "*" & Cells(1, 10) & "*" = True Then
                         Set MonApp = CreateObject("Shell.Application")
                         Chemin = Rep & f2.Name
                         Cells(i, 10) = f2.Name
                         MonApp.Open (Chemin)
                         ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 10), _
                         Address:=FileItem.ParentFolder & "\" & f2.Name
                         Set MonApplication = Nothing
                         Present = 1
                    End If
                    Set MonApp = CreateObject("Shell.Application")
                    Chemin = Rep & f2.Name
                    MonApp.Open (Chemin)
                    Set MonApplication = Nothing
                    Present = 1
                End If
            Next f2
        Next f1
 i = i + 1
 
 
 
End Sub