comparer la liste d'une colonne avec un dossier

  • Initiateur de la discussion Initiateur de la discussion jtitin
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jtitin

XLDnaute Occasionnel
Bonjour

je recherche une macro qui puisse me comparer une colonne ("C") qui s'incrémente automatiquement de Noms avec le contenu d'un dossier contenant des photos en relation avec ces Noms.
(les photos porte le même Nom ex: Paris.jpg, Marseille.jpg.....)

("C") (dossier)
Paris --> Paris.jpg
Marseille --> Marseille.jpg
et faire ressortir une liste de Noms qui n'ont pas leur photo.

merci pour votre aide
 
Re : comparer la liste d'une colonne avec un dossier

Salut jtitin
Bonjour le Forum

pas evident de comprendre ,ne peux tu mettre un fichier exemple de ce que tu as et de ce que tu veux le tout sans données confidentielles

car on peut rechercher dans un groupe de caracteres si des cararcteres recherchés y sont exemple

le mot paris est il présent dans dans la suite paris.jpg

Code:
Sub test()
If InStr(1, "paris.jpg", "paris") <> 0 Then 'si oui
  MsgBox "paris se trouve dans la phrase"
    Else 'si non
  MsgBox "paris ne se trouve pas dans la phrase"
End If
End Sub
dans l'attente
Bonne journée
 
Re : comparer la liste d'une colonne avec un dossier

bonjour ChTi160

mon dossier d'image comporte des noms avec l'extension .jpg
j'ai une colonne "C" avec des Noms écrit sans extension ex: paris, marseille ...

je cherche à comparer la liste de la colonne avec le dossier
et faire ressortir les noms qui ne sont pas dans le dossier.

merci pour votre aide
 
Re : comparer la liste d'une colonne avec un dossier

re
le fichier ou se trouvent les noms à rechercher se trouve t'il dans le même dossier que le dossier où se trouvent les photos

ou connais tu l'emplacement (chemin)du dossier où se trouvent les photos
bonne journée
 
Re : comparer la liste d'une colonne avec un dossier

RE

le dossier "images" est à part du fichier excel
c'est ex: C:\Documents and Settings\jean\Bureau\images
et le fichier excel ex: C:\Documents and Settings\jean\Bureau\monfichier.xls

merci
 
Re : comparer la liste d'une colonne avec un dossier

re
je pense donc qu'il doit être possible de récuperer la liste des noms des fichier dans le fichier image et ensuite de la comparer à la liste de ton fichier excel
je vais y regarder mais d'autres auront je pense des solutions à te donner eux aussi
bon ap
 
Re : comparer la liste d'une colonne avec un dossier

re
un petit exemple, ou l'on récupére la liste des fichiers d'un dossier
pour l'exemple je colle cette liste dans la feuille
il faut savoir maintenant quoi faire avec les noms qui n'ont pas d'image et l'on adaptera


Code:
Option Explicit
Public TabRecup() As Variant
'pour toi
Const Path = "C:\Documents and Settings\jean\Bureau\images"
'c'était pour mon test
'Const Path = "C:\MonDossier"
Sub test()
Dim Tabtemp As Variant
Dim Ligne As Integer
With Worksheets("Feuil1")
  Tabtemp = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
      TabRecup = ShowFolderList(Path)
      .Range("B2").Resize(UBound(TabRecup, 2) + 1, UBound(TabRecup, 1) + 1) = Application.Transpose(TabRecup)
End With
End Sub
Code:
Function ShowFolderList(ByVal strPath) As Variant
Dim fso, Dossiers, fic, fichiers, strListe, f, r
Dim Valeur, imax, z, Cible, liste
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set Dossiers = fso.GetFolder(strPath)
    Set fic = Dossiers.Files
    imax = 0
    For Each fichiers In fic
        Set f = fso.GetFile(fichiers)
        imax = imax + 1
        ReDim Preserve TabRecup(2, imax)
        TabRecup(1, imax) = f.Name
        TabRecup(2, imax) = f.DateLastModified
        
        Valeur = 0
        For imax = 1 To imax - 1
            If CDate(TabRecup(2, imax)) < CDate(TabRecup(2, imax + 1)) Then
               For z = 1 To 2
                   Cible = TabRecup(z, imax)
                   TabRecup(z, imax) = TabRecup(z, imax + 1)
                   TabRecup(z, imax + 1) = Cible
               Next
      Valeur = 1
            End If
        Next
 Next
    
    Set fso = Nothing
    Set Dossiers = Nothing
    Set fic = Nothing
    Set f = Nothing
                    ShowFolderList = TabRecup()
End Function

Le Fichier :Regarde la pièce jointe TestRecupCompare.zip

tu testes et tu me dis
Bonne Journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour