Ces quelques lignes de code en Visual Basic permettent de créer des tables et des colonnes à partir des informations contenus dans un chiffrier Excel.
Note : Une autre possibilité plus adéquate serait d’utilisé la fonction d’import Excel de PowerAMC
Compatible avec PowerDesigner/PowerAMC 16.5
'* Nom du fichier : CREER_TABLES.vbs
'* Définition : Créer des tables et leurs colonnes à partir des
'* informations contenus dans un chiffrier Excel
'* Modèle: Modèle de données physique (PDM)
'* Objets: Table, Colonne
'* Auteur: Benoît Le Nabec
'* URL : http://www.Powerd911.guru
'* Créé: 2015-01-01
'* Version: 1.0
'***********************************************************************
Option Explicit
Dim mdl ' Référence sur le modèle courant
Dim HaveExcel
Dim RQ
Dim x1
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "Il n'y a pas de modèle actif!"
End If
RQ = MsgBox ("Est-ce que Excel est installé sur votre ordinateur ?", vbYesNo + vbInformation, "Confirmation")
'Si Excel est installé
If RQ = vbYes Then
HaveExcel = True
' Lance Excel et ouvre le document Excel indiquant la(les) tables et colonne(s) à créer
Set x1 = CreateObject("Excel.Application")
x1.Workbooks.Open "C:UsersBenoitDesktopTablesColonnes.xlsx"
'Active le premier onglet
x1.Workbooks(1).Worksheets("Feuil1").Activate
Else
HaveExcel = False
End If
if HaveExcel then
'Appel la routine de création des objets
CREATION_TABLES x1, mdl
end if
'* Nom de la routine : CREATION_TABLES
'* Définition : Créer des tables et leurs colonnes à partir des
'* informations contenus dans un chiffrier Excel
'* Modèle: Modèle de données physique (PDM)
'* Objets: Table, Colonne
'* Auteur: Benoît Le Nabec
'* URL : http://www.Powerd911.guru
'* Créé: 2015-01-01
'* Version: 1.0
'***********************************************************************
sub CREATION_TABLES(x1, mdl)
dim rwIndex
dim count
dim table
dim col
' S'il y'a une erreur passe par dessus
On error Resume Next
count = 0
'Boucle pour toutes les rangées jusqu'à 1000
For rwIndex = 2 To 1000
'Traitement du feuillet Feuil1
With x1.Workbooks(1).Worksheets("Feuil1")
' On termine le traitement si l'on ne trouve pas de nom de table ou de colonne
If .Cells(rwIndex, 1).Value = "" Then
Exit For
End If
' Si la troisième colonne n'a pas de valeur. Cela indique que nous devons créer une table
If .Cells(rwIndex, 3).Value = "" Then
'Création de l'objet Table
set table = mdl.Tables.CreateNew
'Sauvegarde les propriétés : Nom, code et commentaire
table.Name = .Cells(rwIndex , 1).Value
table.Code = .Cells(rwIndex , 1).Value
table.Comment = .Cells(rwIndex , 2).Value
'Indique qu'une nouvelle table a été créée
count = count + 1
' Sinon on créer les colonnes
Else
'Création de l'objet Colonne
set col = table.Columns.CreateNew
'MsgBox .Cells(rwIndex, 1).Value, vbOK + vbInformation
col.Name = .Cells(rwIndex, 1).Value
'MsgBox col.Name, vbOK + vbInformation
col.Code = .Cells(rwIndex, 1).Value
col.DataType = .Cells(rwIndex, 2).Value
'MsgBox col.DataType, vbOK + vbInformation
col.Comment = .Cells(rwIndex, 3).Value
End If
End With
Next
MsgBox "Nombre de table créée : " + CStr(count), vbOK + vbInformation
'Fermeture du fichier
x1.Workbooks.close
Exit Sub
End sub
Tableau Excel
Tableur permettant de définir les tables et les colonnes à créer dans le modèle physique de données
239 Téléchargements
