Aujourd'hui, je vous présente une macro Excel qui permet de tranférer des données de universe (IBM U2) vers Excel à l'aide d'Uniobject.
Il me manque encore la partie avec la SubValue, mais j'hésite encore quant à la façon de le faire.
Voici donc la première ébauche du programme :
Sub transfert_universe()
Dim UVCommand As Object
Set FSO = CreateObject("Uniobjects.unioaifctrl")
FSO.UserName = "votrelogin"
FSO.Password = "votremotdepasse"
FSO.HostName = "votreserveur"
FSO.AccountPath = "votrecompte"
FSO.Connect
NomdeFichier = InputBox("Nom de fichier : ", "Nom de fichier")
CleDepart = InputBox("Clé de départ : ", "Clé de départ")
CleFin = InputBox("Clé de fin : ", "Clé de fin")
Set ObjFichier = FSO.OpenFile(NomdeFichier)
Set UVCommand = FSO.Command
UVCommand.Text = "SELECT " & NomdeFichier & " >= " & CleDepart & " AND <= " & CleFin
UVCommand.Exec
Sheets("Feuil1").Activate
Set SelectList = FSO.SelectList(0)
ligne_de_depart = 1
ligne_compteur = 0
For a = 1 To UVCommand.AtSelected
ObjFichier.RecordID = SelectList.Next
ObjFichier.Read
For b = 1 To ObjFichier.Record.Count
For c = 1 To ObjFichier.Record.Field(b).Count
ligne_saisie = ligne_de_depart + c
If b = 1 Then Cells(ligne_saisie, 1) = ObjFichier.RecordID
If ObjFichier.Record.Value(b, c).Count = 1 Then
Cells(ligne_saisie, b + 1).Value = ObjFichier.Record.SubValue(b, c, 1)
End If
If ligne_compteur < ligne_saisie Then ligne_compteur = ligne_saisie
Next c
Next b
ligne_de_depart = ligne_compteur
Next a
End Sub
Dans la deuxième partie le code sera commenté et complété. N'hésitez pas à poser vos questions et surtout à poster vos commentaires
A bientôt
Thomas
Affichage des articles dont le libellé est Universe. Afficher tous les articles
Affichage des articles dont le libellé est Universe. Afficher tous les articles
mercredi 14 mars 2007
Inscription à :
Articles (Atom)