Se connecter avec
S'enregistrer | Connectez-vous

Importation dans une basse access

Dernière réponse : dans Programmation

Salut,

J'ai besoin de faire une importation d'une partie de AD dans une base de donnees sous Access.

la partie dont j'ai l'utilisé est le "login","nom", "prénom"

L'ad est segmenter en plusieurs région :
----------------------------------------------------------
ex.:

France
Est
Sud
Centre
Ouest
Brest
Rennes
Lorient
Vannes
Caen
Bordaux
-----------------------------------------------------
mes besoins vont se porter que sur "Brest, Rennes, Lorient et Vannes"

J'arrive bien a exporter dans fichier text depuis Ad. les unes apres les autres . mais me colltiner les mise a jour des départ, arriver, modification a la mano, là hein trop de temps !


donc je recherche une macro access pour importer les éléments que j'ai besoins de L'AD

Merci











Autres pages sur : importation basse access

Lassé par la pub ? Créez un compte

Salut,

Je suis toujours a la recher d'une solution,


J'ai trouver vbscript qui export AD (active directory) vers excel (je pense qu'il seras possible d'adaper pour qu'il renvoi vers access a la plus place (plus tard)

source que j'ai trouvé :

http://www.vbfrance.com/codes/EXPORT-UTILISATEURS-ACTIV...



le code

  1. ' ------ SCRIPT d'export d'utilisateurs depuis une OU ------
  2. ' ------ Le domaine AD est a jouter en fixe dans le ------
  3. ' ------ String StrDomainDN pour des raisons d'utilisations courantes ------
  4.  
  5. dim fso, MyFile, reptemp, filetext
  6.  
  7.  
  8. Stroucible=inputbox("renseigner le nom de l'ou cible : ")
  9.  
  10. ' Attention à modifier le nom LDAP du domaine
  11. strDomainDN ="ou=" & stroucible & ",dc=VotreNomdeDomaine,dc=SonExtention"
  12.  
  13. ' Attention le répertoire c:\temp doit exister
  14. reptemp="c:\temp\"
  15.  
  16. Filetext=Inputbox("fichier temporaire de l'OU cible : ")
  17. Set fso = CreateObject("Scripting.FileSystemObject")
  18.  
  19. ' création d'un fichier txt pour la première partie du script, soit le nom des utilisateurs
  20. set MyFile = fso.CreateTextFile(reptemp + filetext + ".txt")
  21.  
  22. ' Ici un filtre sur les utilisateurs et je récupére leur Distinguishedname
  23. strBase = "<LDAP://" & strDomainDN & ">;"
  24. strFilter = "(&(objectclass=user)(objectcategory=person));"
  25. strAttrs = "distinguishedname;"
  26. strScope = "subtree"
  27.  
  28. set objConn = CreateObject("ADODB.Connection")
  29. objConn.Provider = "ADsDSOObject"
  30. objConn.Open "Active Directory Provider"
  31.  
  32. ' Ici lancement de la requêtes et écriture dans le fichier txt dans le c:\temp
  33. set objRS = objConn.Execute(strBase & strFilter & strAttrs & strScope)
  34. objRS.MoveFirst
  35. while Not objRS.EOF
  36. MyFile.WriteLine (objRS.Fields(0).Value)
  37. objRS.MoveNext
  38. wend
  39. MyFile.close
  40.  
  41.  
  42. ' Maintenant avec le fichier txt je récupère les informations utilisateurs par utilisateurs
  43. on error resume next
  44. Dim objConnection, objRecords, objExcel, strQuery, i, objSpread, intRow
  45.  
  46. 'Attention le fichier C:\sources.xls doit exister
  47. strSheet = "c:\Source.xls"
  48.  
  49. Set objExcel = CreateObject("Excel.Application")
  50. Set objSpread = objExcel.Workbooks.Open(strSheet)
  51. Set objFSO = CreateObject("Scripting.FileSystemObject")
  52. Set UserListe = objFSO.OpenTextFile(reptemp + Filetext + ".txt")
  53.  
  54. 'Renseigner le numéro de la première ligne Excel ou vous souhaité écrire les inforamations
  55. i = 2
  56.  
  57. ' liste des attributs à récupérer
  58. Do Until UserListe.AtEndofStream
  59. UserLDAP = UserListe.Readline
  60. Set objUser = GetObject("LDAP://" & UserLDAP & "")
  61. CNStr = left(UserLDAP, Instr (UserLDAP, ",") -1)
  62. OuStr = Right(UserLDAP, len(UserLDAP) - Instr (UserLDAP, ","))
  63. objExcel.ActiveSheet.Range("A" & i).Value = CNStr
  64. objExcel.ActiveSheet.Range("B" & i).Value = OuStr
  65. objExcel.ActiveSheet.Range("C" & i).Value = objUser.givenName
  66. objExcel.ActiveSheet.Range("D" & i).Value = objUser.initials
  67. objExcel.ActiveSheet.Range("E" & i).Value = objUser.sn
  68. objExcel.ActiveSheet.Range("F" & i).Value = objUser.displayName
  69. objExcel.ActiveSheet.Range("G" & i).Value = objUser.userPrincipalName
  70. objExcel.ActiveSheet.Range("H" & i).Value = objUser.SamaccountName
  71. objExcel.ActiveSheet.Range("I" & i).Value = objUser.mail
  72. objExcel.ActiveSheet.Range("J" & i).Value = objUser.physicalDeliveryOfficeName
  73. objExcel.ActiveSheet.Range("K" & i).Value = objUser.telephoneNumber
  74. objExcel.ActiveSheet.Range("L" & i).Value = objUser.Description
  75.  
  76. i = i + 1
  77. loop
  78.  
  79.  
  80.  
  81. 'Sauvegarde du fichier Excel
  82. objExcel.ActiveWorkbook.SaveAs(reptemp + Filetext + ".xls")
  83. objExcel.ActiveWorkbook.Close
  84. objExcel.Workbooks.Close
  85.  
  86. msgbox "fin de récupération des utilisateurs. Le fichiers excel est dans " + reptemp + Filetext + ".xls"
  87. objExcel.Quit



Mon PB avec ce code c'est que je n'arrive pas a le faire fonctionner !
j'ai les message d'erreur :
(1) ligne 33 err. =>> le tableau n'existe pas !
(2) un chemin d'accès au répertoire non valide a été transmis !


Les tentatives dans la 1er boite de dialogue qui apparait j'ai donner (le nom cours du non de nomaine (pour l'exemple on dira "ABBA"), j'ai egalement donnee le nom long "ABBA.groupe.fr/Rennes"

pour info j'ai cree un fichier Source.xls sur c: avec nom dans la 1er ligne 1ere colone t en 2eme colonne prenom 1er ligne !

le fichier txt se cree bien mais il reste vide !

a+
Lassé par la pub ? Créez un compte