Variable qui ne se valorise pas
Bonjour,
Voici le contexte.
Soit nous ouvrons, soit nous avons sous les yeux un classeur dont la colonne "F" contient des noms de fichier avec leur répertoire.
Exemple : "S:\Dossiers C&C\Documents EC\Suivis paiements\XXXXX Mathieu - 0109 - Suivi des paiements.xlsx"
Certains de ces fichiers existent vraiment d'autres pas. L'objet du module est de faire la distinction entre les fichiers existants ou non en surlignant ceux qui se trouvent réellement dans le répertoire "suivis paiements".
Tout va bien jusqu'à
Code:
Set rng = Workbooks(TsrFichOri).Worksheets(TsrTabEnvoiManuel).Columns("F:F").Find(What:=fileList(j), LookAt:=xlWhole)
La variable rng n'est pas valorisée et évidemment, il ne trouve pas ce qu'on lui demande de chercher.
Si vous avez une idée, elle est la très bienvenue car pour l'avoir retourné dans tous les sens de ma piètre connaissance, je ne vois pas le souci.
Le code complet est sous la signature.
Merci d'avance.
Henri
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| Sub HighlightFoundFiles()
' Initialize necessary objects and variables
Dim oFSO As Object
Dim oFolder As Object
Dim oFile As Object
Dim fileList() As String
Dim i As Integer, j As Integer
Dim path As String
Dim ws As Worksheet
Dim rng As Range
Dim f As String
' Define the path to the folder
path = "s:\Dossiers C&C\Documents EC\Suivis paiements\"
' Create a FileSystemObject
Set oFSO = CreateObject("Scripting.FileSystemObject")
' Get the folder
Set oFolder = oFSO.GetFolder(path)
' Initialize index variable
i = 0
' Loop through each file in the folder
For Each oFile In oFolder.Files
' Add file name into array
ReDim Preserve fileList(i)
fileList(i) = oFile.Name
i = i + 1
Next oFile
' Loop through each file in the fileList
For j = LBound(fileList) To UBound(fileList)
' Search for the file in Column F
Set rng = Workbooks(TsrFichOri).Worksheets(TsrTabEnvoiManuel).Columns("F:F").Find(What:=fileList(j), LookAt:=xlWhole)
' If the file is found
If Not rng Is Nothing Then
' Highlight the cell in yellow
rng.Interior.Color = RGB(255, 255, 0)
End If
Next j
End Sub |