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