Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Format personalisé

E

El Tonio

Guest
Bonjour à tous,
Je ne suis pas un pro du format perso et j'ai un petit problème pour en créer un. J'aimerais écrire des formats pour des plaques d'imatriculations en mettant des espaces entre les chiffres et les lettres.
Exemple: si j'écris dans la cellule: 1545ABP59
Je veux qu'Excel affiche: 1545 ABP 59.

J'espère avoir été assez explicite.
Merci d'avance.
 

andré

XLDnaute Barbatruc
Salut El Tonio,

Commej e ne suis pas français, une petite question :

Les plaques d'immatriculation françaises sont-elles toujours composées de 4 chiffres, 3 lettres et 2 chiffres, ou peut-il en être autrement ?

Â+
 

andré

XLDnaute Barbatruc
Resalut,

Il me semble que c'est une question complexe !
Par colonne séparée, pas de problème.
Mais à la saisie, ... il faudra y refléchir (lol).

Ne t'impatiente pas, cela viendra (l'étincelle).

Â+
 

Humansoft

XLDnaute Occasionnel
Bonsoir André, Bonsoir el Tonio, Bonsoir le Forum

Voici un début de réponse qui fonctionne lors de l'entrée dans la cellule.
copie ce code dans la feuille du classeur.
Tape un code de 8 caractères.
Soit 123 dfe 74 ou 5263 ee 74

Puis quitte la cellule et reviens dessus. Le formatage se fera.

Je n'ai, par manque de temps, trouver mieux.

Bonne soirée.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim zv_Cmd As Variant

On Error Resume Next
zv_Cmd = ActiveCell.Value

If Len(zv_Cmd) = 8 Then
If Asc(Mid$(zv_Cmd, 4, 1)) > 57 Then
zv_Cmd = Left$(zv_Cmd, 3) & ' ' & Mid$(zv_Cmd, 4, 3) & ' ' & Right$(zv_Cmd, 2)
ElseIf Asc(Mid$(zv_Cmd, 4, 1)) Then
zv_Cmd = Left$(zv_Cmd, 4) & ' ' & Mid$(zv_Cmd, 5, 2) & ' ' & Right$(zv_Cmd, 2)
End If
ActiveCell.Value = zv_Cmd
End If

End Sub


Vincent
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir El Tonio, André, Humansoft,

Tout comme Humansoft, je te propose une macro évènementielle VBA (peut-être un peu plus simple toutefois) :

Comment intégrer ce code VBA dans ton classeur ?

Ton classeur est ouvert, tu veux que cette macro fonctionne sur la feuille 1 :

      - Tu fais ALT + F11 pour te retrouver dans l'éditeur VBA.
      - Puis, CTRL + R pour afficher l'explorateur de projet (s'il n'est pas déjà affiché).
        L'explorateur de projet c'est la petite fenêtre au haut à gauche.
      - Tu double-cliques sur 'VBAProject(LeNomDeTonClasseur)' pour développer l'arborescence.
      - Tu double-cliques cette fois sur l'objet 'Feuil1(Feuil1)' et le module de code de la feuille 1 s'ouvre dans
        la fenêtre principale.
      - Et tu fais un copier-coller du code à cet endroit (toutes les lignes de 'Option Explicit ....' à 'End Sub' incluses).
      - Tu peux ensuite fermer l'éditeur VBA et sauvegarder ton classeur.

Cordialement,
 

andré

XLDnaute Barbatruc
Salut,

Le nuit n'a pas porté conseil !
Je n'ai pas trouvé de solution par le 'format'.

Mais je vois, avec plasir, que VBAistes sont passé par là !
Si cette solution convient, c'est parfait.
Faute de quoi je reste toujours à disposition pour fournir la formule à placer dans une cellule voisine.

Â+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…