Recherche User en VBA

boby87000 Messages postés 132 Statut Membre -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  2. boby87000 Messages postés 132 Statut Membre
     
    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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      le problème est résolu? Comment?
      0
    3. boby87000 Messages postés 132 Statut Membre
       
      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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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. boby87000 Messages postés 132 Statut Membre
       
      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