Condition VBA "si celulle = ..."

djib -  
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je suis en train de faire un classeur excel pour gérer une base documentaire, je code donc en ce moment une macro pour mettre à jour les liens hypertexte de ces documents.
Problème, le nombre de documents risque de devenir très important, je voudrais donc rajouter une condition pour éviter de faire chercher le lien hyptxt pour tous les documents.

j'ai dans la colonne M les références de mes documents et je ressort le chemin dans la cellule correspondante de la colonne L. Je transforme ensuite grâce à la fonction =LIEN_HYPERTEXTE().

mon code est le suivant pour la recherche:


Dim Cellule As Range
Dim I As Byte

For Each Cellule In Range("M8:M" & Range("M65536").End(3).Row)
  With Application.FileSearch
    .LookIn = "C:\..."                               'Mettre la lettre du lecteur réseau
    .Filename = Cellule
    .SearchSubFolders = True
    .Execute
    
      For I = 1 To .FoundFiles.Count
        Cellule.Offset(0, -1) = .FoundFiles(I)
      Next I
      
  End With
  
Next Cellule


je voudrais donc rajouter à cela la condition suivante:
Si la valeur de la cellule correspondante dans la colonne N = "Nouveau doc"
Alors rechercher le chemin du document
Sinon passer à la cellule suivante.


merci d'avance


1 réponse

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,
Ajoutez cette condition avant de chercher le fichier :

Dim Cellule As Range
Dim I As Byte

For Each Cellule In Range("M8:M" & Range("M65536").End(3).Row)
    If Cellule.Offset(0, 1).Value = "Nouveau doc" Then 'Si cellule col N alors
        With Application.FileSearch
            .LookIn = "C:\..."     'Mettre la lettre du lecteur réseau
            .Filename = Cellule
            .SearchSubFolders = True
            .Execute
    
                 For I = 1 To .FoundFiles.Count
                 Cellule.Offset(0, -1) = .FoundFiles(I)
                 Next I
      
       End With
  End If
Next Cellule
0