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'àLa variable rng n'est pas valorisée et évidemment, il ne trouve pas ce qu'on lui demande de chercher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set rng = Workbooks(TsrFichOri).Worksheets(TsrTabEnvoiManuel).Columns("F:F").Find(What:=fileList(j), LookAt:=xlWhole)
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager