Justin a des numéros de pièce qu’il utilise régulièrement dans une feuille de calcul, tels que 660501C016971. Il aimerait appliquer un format personnalisé à la cellule et afficher automatiquement le numéro de pièce avec des tirets à l’emplacement approprié, tel que 6605-01-C01-6971.

Malheureusement, cela ne peut pas être fait avec un format personnalisé. Pourquoi? Parce que les formats personnalisés sont pour l’affichage de nombres, pas de texte. Il existe un format de texte, désigné par le symbole «at» (@), mais c’est tout; il n’y en a pas d’autres et aucun autre ne peut être défini.

Étant donné que les formats personnalisés ne peuvent pas être utilisés, il reste à trouver une solution de contournement. Une façon de le faire est d’examiner vos numéros de pièce et de voir si la partie texte du numéro peut être supprimée et si le numéro de pièce est toujours utilisable. Par exemple, le numéro de Justin est 660501C016971. Si le format du numéro de pièce appelle toujours la lettre C au même point dans le numéro de pièce (et aucune autre lettre possible), vous pouvez simplement supprimer le C et vous retrouver avec le numéro 660501016971. Puisqu’il s’agit d’un nombre , vous pouvez développer un format personnalisé pour celui-ci qui comprend des tirets aux bons endroits et la lettre C au bon endroit. Le format personnalisé ressemblerait à ceci:

0000-00-C00-0000

Avec le format appliqué à une cellule qui contient le numéro 660501016971, vous vous retrouveriez avec un numéro de pièce correctement formaté affiché:

6605-01-C01-6971. Cette approche présente cependant des inconvénients. Le plus gros inconvénient est que si vous souhaitez exporter les numéros de pièce vers un autre programme, peut-être sous forme de fichier CSV, ce qui finit par exporter est le numéro d’origine sans le formatage ni la lettre C.

Une autre solution de contournement consiste à utiliser une formule pour afficher les numéros de pièce dans le format souhaité. Vous pouvez les entrer dans une cellule sans tirets, puis utiliser la formule pour ajouter les tirets aux endroits appropriés.

Lors de la création de rapports, vous masqueriez simplement la colonne contenant les numéros de pièce sans les tirets. Voici une formule qui fonctionnera, à condition que le numéro de pièce sans tirets soit dans la cellule A1:

=LEFT(A1,4) & "-" & MID(A1,5,2) & "-" & MID(A1,7,3) & "-" & RIGHT(A1,4)

Si vous travaillez un peu avec les numéros de pièce, vous voudrez peut-être un moyen d’ajouter et de supprimer facilement les tirets. La meilleure façon de faire est d’utiliser une macro. Vous pouvez développer une macro qui vous permettra d’ajouter et de supprimer les tirets d’un numéro de pièce dans une plage de cellules sélectionnée. Voici un exemple d’une telle macro.

Sub DashesIn()

DoDashes ("In")

End Sub
Sub DashesOut()

DoDashes ("Out")

End Sub
Private Sub DoDashes(What As String)

Dim c As Range     Dim J As Integer

For Each c In Selection.Cells         If c.Value <> "" Then             J = InStr(c.Value, "-")

Select Case What                 Case "Out"

While J > 0                         c.Value = Left(c.Value, J - 1) & _                           Mid(c.Value, J + 1, Len(c.Value))

J = InStr(c.Value, "-")

Wend                 Case "In"

If J = 0 Then                         c.Value = _                           Left(c.Value, 4) & "-" & _                           Mid(c.Value, 5, 2) & "-" & _                           Mid(c.Value, 7, 3) & "-" & _                           Right(c.Value, 4)

End If             End Select         End If     Next c End Sub

Notez qu’il existe en fait trois macros dans cette liste. Le premier (DashesIn) ajoute des tirets à un numéro de pièce, tandis que le second (DashesOut)

les supprime. Sélectionnez simplement les cellules contenant les numéros de pièce, puis exécutez la macro qui effectuera l’opération que vous souhaitez effectuer.

DashesIn et DashesOut appellent la routine commune, DoDashes, pour effectuer réellement le travail. La macro examine toutes les cellules de la sélection, puis exécute toute opération à effectuer sur le contenu de ces cellules.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (3231) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Using_a_Custom_Format_to_Add_Dashes [Utilisation d’un format personnalisé pour ajouter des tirets].