Nous souhaitons par ce forum créer un lieu d’échange francophone sur les produits de Bentley Systems.
La bonne humeur et la courtoisie sont bien entendu de mise. Nous nous réservons le droit d’exclure les membres qui contreviendraient aux objectifs recherchés.
Si une rubrique n’existe pas et que vous souhaitiez sa présence, demandez-la nous via le formulaire en bas de page.
Taper une commande dans l'entrée au clavier
Citation de GUYON Dominique le 12 décembre 2018, 9 h 35 minBonjour,
Je souhaite créer une commande qui sera soit dans le sélecteur de cellule, soit une commande dans le menu Tâches de "l'espace de travail " "personnalisé".
Cette commande est :
sélectionner un niveau pour lui attribuer une nouvelle couleur ou nouveau style de trait du genre :
select level 10;co=96 ; change color (Commande qui ne marche pas)
Je vous remercie par avance,
Cordialement,
Dominique
Bonjour,
Je souhaite créer une commande qui sera soit dans le sélecteur de cellule, soit une commande dans le menu Tâches de "l'espace de travail " "personnalisé".
Cette commande est :
sélectionner un niveau pour lui attribuer une nouvelle couleur ou nouveau style de trait du genre :
select level 10;co=96 ; change color (Commande qui ne marche pas)
Je vous remercie par avance,
Cordialement,
Dominique
Citation de Philippe HALET le 12 décembre 2018, 11 h 32 minBonjour Dominique,
Il n'y a, à ma connaissance, pas de moyen de redéfinir les paramètres de symbologie des niveaux via une commande clavier (key-in). Par contre, le VBA peut vous sauver par un petit code très simple :
Sub ModifierNiveau()
Dim strArgs() As String' Les arguments à fournir seront : le nom du niveau, la couleur, le style, l'épaisseur
strArgs = Split(KeyinArguments, ",")If UBound(strArgs) <> 3 Then
MsgBox "Nombre d'arguments incorrect !", vbExclamation, "Alerte"
Else
Dim strLevel As String
Dim iCouleur As Integer
Dim strLineStyle As String
Dim iEpaisseur As IntegerstrLevel = strArgs(0)
iCouleur = CInt(strArgs(1))
strLineStyle = strArgs(2)
iEpaisseur = CInt(strArgs(3))Application.ActiveDesignFile.Levels(strLevel).ElementColor = iCouleur
Application.ActiveDesignFile.Levels(strLevel).ElementLineStyle = Application.ActiveDesignFile.LineStyles(strLineStyle)
Application.ActiveDesignFile.Levels(strLevel).ElementLineWeight = iEpaisseur
Application.ActiveDesignFile.Levels.Rewrite
End IfEnd Sub
Pour utiliser la macro VBA, il suffit ensuite d'entrer la commande suivante :
VBA RUN ModifierNiveau [Nom du niveau],[Couleur],[Style de ligne],[Epaisseur]
Par exemple : VBA RUN ModifierNiveau Niveau_1, 3,( Border ), 4
J'espère que ceci pourra vous aider !
Philippe
Bonjour Dominique,
Il n'y a, à ma connaissance, pas de moyen de redéfinir les paramètres de symbologie des niveaux via une commande clavier (key-in). Par contre, le VBA peut vous sauver par un petit code très simple :
Sub ModifierNiveau()
Dim strArgs() As String
' Les arguments à fournir seront : le nom du niveau, la couleur, le style, l'épaisseur
strArgs = Split(KeyinArguments, ",")
If UBound(strArgs) <> 3 Then
MsgBox "Nombre d'arguments incorrect !", vbExclamation, "Alerte"
Else
Dim strLevel As String
Dim iCouleur As Integer
Dim strLineStyle As String
Dim iEpaisseur As Integer
strLevel = strArgs(0)
iCouleur = CInt(strArgs(1))
strLineStyle = strArgs(2)
iEpaisseur = CInt(strArgs(3))
Application.ActiveDesignFile.Levels(strLevel).ElementColor = iCouleur
Application.ActiveDesignFile.Levels(strLevel).ElementLineStyle = Application.ActiveDesignFile.LineStyles(strLineStyle)
Application.ActiveDesignFile.Levels(strLevel).ElementLineWeight = iEpaisseur
Application.ActiveDesignFile.Levels.Rewrite
End If
End Sub
Pour utiliser la macro VBA, il suffit ensuite d'entrer la commande suivante :
VBA RUN ModifierNiveau [Nom du niveau],[Couleur],[Style de ligne],[Epaisseur]
Par exemple : VBA RUN ModifierNiveau Niveau_1, 3,( Border ), 4
J'espère que ceci pourra vous aider !
Philippe