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

format personnalise

rastaspilo

XLDnaute Nouveau
Bonjour petit souci pour mon premier post:
Comment creer un format personnalise du type:

une lettre trois chiffres un point cinq chiffres un point trois chiffres un point deux chiffres.
ex : D579.10617.000.00
pas de probleme pour les chiffres mais impossible de mettre la lettre.

Merci pour votre accueil
 

Guiv

XLDnaute Occasionnel
Re : format personnalise

Bonjour rastaspilo, philippe

Par macro (si données en A1 par exemple)

Code:
Sub FormatPerso()
Lettre = Left(Range("A1"), 1)
nombre = Mid(Range("A1"), 2, 13)

Range("A1") = Lettre & Mid(nombre, 1, 3) & "." & Mid(nombre, 4, 5) & "." & Mid(nombre, 9, 3) & "." & Mid(nombre, 12, 2)
End Sub

Bonne soirée
Guiv
 

Guiv

XLDnaute Occasionnel
Re : format personnalise

Re,
Ton classeur ouvert, tu fais ALT+F11 pour ouvrir l'éditeur VBE.
Puis Insertion/Module
Et tu colles le code ci-dessous dans la fenêtre de droite.

Code:
Sub FormatPerso()
Dim Lettre as String, nombre as String

With Activesheet
Lettre = UCase(Left(.Range("E5"), 1))
nombre = Mid(.Range("E5"), 2, 13)

.Range("E5") = Lettre & Mid(nombre, 1, 3) & "." & Mid(nombre, 4, 5) & "." & Mid(nombre, 9, 3) & "." & Mid(nombre, 12, 2)

End With
End Sub

Tu fermes la fenêtre VBE.
Pour exécuter la macro, ALT+F8, sélectionne "FormatPerso" /exécuter.

Evidemment, ça ne marchera que pour la cellule E5 de la feuille active, si ça doit agir ailleurs, il faut nous en dire plus...
Cordialement,
Guiv
 

Pièces jointes

  • TestRastaspilo.xls
    20 KB · Affichages: 42
Dernière édition:

rastaspilo

XLDnaute Nouveau
Re : format personnalise

Bonjour & merci Guiv, cela fonctionne, j'ai attribué la macro au raccourci ctrl w, mais je suis obligé de revenir sur la cellule e5 pour que cela fonctionne, as tu encore une ressource cachée dans ton escarcelle?
A+
 

Guiv

XLDnaute Occasionnel
Re : format personnalise

Re,
...je suis obligé de revenir sur la cellule e5 pour que cela fonctionne...
Comprends pas... Dans le fichier joint à mon dernier post, la macro fonctionne quelle que soit la cellule sélectionnée. Il faut évidemment être dans la feuille concernée. Pour que ça fonctionne sur l'onglet nommé MaFeuille (par exemple) où que tu soit dans le classeur, remplace ActiveSheet par Sheets("MaFeuille")

Et dis nous.
Guiv
 

Guiv

XLDnaute Occasionnel
Re : format personnalise

Re,
Avec bouton
(dessiner le bouton avec "boite à outils Contrôles", clic droit Visualiser le code, et coller la procédure)
 

Pièces jointes

  • TestRastaspilo#2.xls
    20 KB · Affichages: 36

Guiv

XLDnaute Occasionnel
Re : format personnalise

Un bouquin pour les bases, des tutoriels nombreux sur le net, le forum d'XLD bien sûr, et des essais, des plantages, des prises de chou pendant des heures...
Toujours penser à utiliser l'enregistreur de macros et l'aide de VBA, on y trouve bien des ressources.
Cordialement,
Guiv
 

Guiv

XLDnaute Occasionnel
Re : format personnalise

Bonjour,
Je fais remonter ton fil suite à tes MP:

Bonjour Guiv, une modification est demandee dans le format, j'ai essaye de modifier ton code mais le resultat est peu probant. Peux m'aider à nouveau.
la modification est l'ajout de l'indice au format:
D528.10013.200.00.E00

Un peu plus d attention de ma part dans la redaction de mes posts te ferais gagner tu temps dans la macro l indice style E00 la lettre est aleatoire j ai ouble de te le preciser.
p.s peux tu decomposer la macro afin de comprendre la syntaxe.

Lettre = UCase(Left(.Range("E5"), 1)) '1er caractère à gauche de la chaîne, mis en majuscule
nombre = Mid(.Range("E5"), 2, 13) '13 caractères à partir du 2ème

.Range("E5") = Lettre & Mid(nombre, 1, 3) & "." & Mid(nombre, 4, 5) & "." & Mid(nombre, 9, 3) & "." & Mid(nombre, 12, 2)
'sélectionne mid dans le code et fais F1, tu auras toutes les explications dans l'aide de VBA

Si l'indice style "E00" se trouve à la suite de"d5791061700000", tu devrais pouvoir trouver l'adaptation tout seul suivant le modèle ci-dessus. Sinon dis où se trouve cet "indice".
Cordialement,
Guiv
 

Discussions similaires

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