Recherche User en VBA

Bonjour,

Je voudrais renseigné le nom ou le prénom d'un user sur un fichier excel et faire une recherche a travers dans tous les users présents dans la base et ressortir ensuite toutes les personnes dont les noms ou prénoms correspondent aux valeurs renseignés dans le fichier excel.

Je suis debutant en vba.

Pouvez vous m'aider?

2 réponses

  1. Modérateur
    Bonjour,
    On va essayer de réaliser cela par étape.
    Voici, pour commencer un code qui te permet de lister les sous répertoires d'un répertoire.
    Tu n'as qu'à remplacer "E:\Utilisateurs\" par le chemin d'accès à ton répertoire, celui qui contient les dossiers aux noms de chaque Users...
    Adapte également : Col = 1 en fonction de la col ou tu veux cette liste.
    Sub ChercherRépertoire()
    Dim Liste() As String, Chemin As String, NomRep As String
    Dim i As Integer, Col As Integer
    
    i = 0
    Col = 1 'la liste des Users apparaitra donc colonne A
    Columns(Col).ClearContents
    Chemin = "E:\Utilisateurs\" 'à adapter.
    
    NomRep = Dir(Chemin, vbDirectory)
    Do While NomRep <> ""
        If NomRep <> "." And NomRep <> ".." Then
            If (GetAttr(Chemin & NomRep) And vbDirectory) = vbDirectory Then
                ReDim Preserve Liste(i)
                Liste(i) = NomRep
                i = i + 1
            End If
        End If
        NomRep = Dir
    Loop
    
    For i = 0 To UBound(Liste)
        Cells(i + 1, 1) = Liste(i)
    Next
    End Sub
    --
    Cordialement,
    Franck P
    0
    1. Bonjour ,

      c'est quoi l'intérêt de lister tous les sous repertoire d'un repertoire?
      je peux récupérer tous les user en faisant: user.Aduser a travers l'Api de l'appli.

      cdt
      0
      1. Modérateur
        Aucun intérêt si tu peux les récupérer autrement. Je te proposais cela car c'est comme ça que j'aurais fait.
        Donc si tu peux les récupérer, peux tu les mettre dans une variable tableau, un array?
        0
      2. Modérateur
        le problème est résolu? Comment?
        0
      3. Non je ne l'ai pas encore résolu je suis en train de tester mon code..
        La solution est de récupérer tous les users dans un tableau et faire une boucle qui va chercher le ou les user en fonction du nom ou prenom j'espere que je suis clair...
        0
      4. Modérateur
        Tout à fait. C'est l'idée. Si tu veux un coup de main sur ce code, montre nous déjà ou tu en es en nous collant ton code ici et on essaiera de te faire avancer...
        Tu dis!
        0
      5. Voila un bout de code
        Dim test As String

        Test =Cells(1.1).value= toto ' ici le nom de du user du fichier excel

        i = 0
        For Each user In user.Aduser
        If user.Ok Then
        ' ReDim Preserve users(i)
        users(i) = user.
        i = i + 1
        End If
        Next

        Ma difficulté est de faire la comparaison et afficher "toto" si il le retrouve pas les users.
        0