Méthode Application.ChangeColumnDataType (Project)
Change le type de données d’une colonne de champ local personnalisé dans une table.
Syntaxe
expression. ChangeColumnDataType
( _Type_
, _Column_
)
Expression Expression qui renvoie un objet Application .
Parameters
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
Type | Requis | PjFieldTypes | Spécifie le type des données de champ personnalisées. La valeur peut être l’une des constantes PjFieldTypes . La valeur par défaut est 0 (pjCostField). |
Colonne | Facultatif | Variant | Définit l’emplacement absolu de la colonne. Une valeur de 0 modifie le type de données d’une colonne dans la position la plus à gauche, si cette colonne est un champ local personnalisé. Si la première colonne est verrouillée, la position la plus à gauche est la première colonne après la colonne verrouillée. La valeur par défaut est la colonne sélectionnée. |
Valeur renvoyée
Boolean
Remarques
ChangeColumnDataType requiert une colonne de champ personnalisé pour être sélectionné. Pour modifier manuellement le type de données d’une colonne de champ personnalisé, ajoutez une colonne de champ personnalisé à un tableau dans un affichage, cliquez avec le bouton droit sur l’en-tête de la colonne, puis cliquez sur Type de données.
Exemple
Pour utiliser l’exemple suivant, créez un projet avec plusieurs tâches, puis ouvrez la vue Diagramme de Gantt. La macro CreateTestTable crée une table de tâches comportant quatre colonnes. La première colonne, contenant le champ d’identificateur, est verrouillée. La seconde colonne est nommée Nom de la tâche, la troisième colonne contient le champ de tâche personnalisé Text1, et la quatrième colonne contient le champ personnalisé Number1. La macro affecte la table à l’affichage actif, puis ajoute les valeurs de texte et de nombre aux champs de tâches personnalisés.
Exécutez la macro CreateTestTable. La valeur de champ personnalisé Text1 de la première tâche est 42 X.
Exécutez la macro SwitchNumberAndText. La macro fait basculer les en-têtes et les types des deux champs personnalisés.
Remarque
Étant donné que la valeur du champ personnalisé Text1 dans la première tâche est 42 X, lorsque ChangeColumnDataType tente de convertir cette colonne en champ personnalisé Number1 , Project affiche une boîte de dialogue d’erreur avec le message : La conversion de ces données entraîne des erreurs. Le contenu de 1 enregistrement sera supprimé. Tu veux quand même continuer ? 3. Pour poursuivre la conversion, cliquez sur Oui dans la boîte de dialogue d’erreur. Lorsque le champ personnalisé Text1 est remplacé par le champ personnaliséNumber1, la valeur 42 X est remplacée par la valeur 0.
- Pour revenir à une table standard dans l’affichage Diagramme de Gantt, cliquez avec le bouton droit sur la cellule Sélectionner tout (la cellule sans titre affichée dans le coin supérieur gauche de la table), puis sélectionnez une autre table dans la liste déroulante.
Sub CreateTestTable()
Dim t As Task
Dim n As Integer
TableEditEx Name:="Task Test Table", TaskTable:=True, Create:=True, FieldName:="ID", _
Width:=5, ShowInMenu:=True, HeaderAutoRowHeightAdjustment:=True, _
ShowAddNewColumn:=False
TableEditEx Name:="Task Test Table", TaskTable:=True, NewFieldName:="Name", Title:="Task Name"
TableEditEx Name:="Task Test Table", TaskTable:=True, NewFieldName:="Text1"
TableEditEx Name:="Task Test Table", TaskTable:=True, NewFieldName:="Number1"
TableEditEx Name:="Task Test Table", TaskTable:=True, LockFirstColumn:=True
TableApply Name:="Task Test Table"
n = 42
For Each t In ActiveProject.Tasks
If n = 42 Then
t.Text1 = CStr(n) & " X"
Else
t.Text1 = CStr(n)
End If
t.Number1 = n
n = n + 2
Next t
End Sub
Sub SwitchNumberAndText()
SelectTaskColumn Column:="Number1"
ChangeColumnDataType Type:=pjTextField
SelectTaskColumn Column:="Text1"
ChangeColumnDataType Type:=pjNumberField
End Sub
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.