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

(RESOLUT par BERNARD) Format personnalisé (sans vba)

chaelie2015

XLDnaute Accro
Bonjour Forum
Je cherche un format personnalisé dans une cellule (Colonne A) de cette manière
Colonne S (colonne des NOM)
Colonne O( colonne des date)
Si je saisie dans la cellule S3 = Charlie M.
Et dans la cellule O3 = 12/03/2015
Et si je saisie dans la cellule A3 (Exemple : 4) je souhaite avoir dans cette cellule A3 ( sans VBA)
FORMAT : 004-CM-BELG-2015
C a d le Numéro saisi dans A3 -les initiales de la cellule S3 -BELG-année de la date de O3

Salutations
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Format personnalisé (sans vba)

Bonsoir.
Comment voulez vous qu'un format aille chercher des info dans d'autres cellules, ou à défaut mettre une formule ou un texte différent de ce que vous tapez sans l'aide de VBA ?
La formule pour une autre cellule est déjà assez compliquée :
Code:
=TEXTE(A3;"000")&"-"&GAUCHE(S3;1)&STXT(S3;CHERCHE(" ";S3&" ")+1;1)&"-BELG-"&ANNEE(O3)
En VBA, dans le module de la feuille :
VB:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.CountLarge <> 1 Or Target.Column <> 1 Then Exit Sub
If IsEmpty(Target.Value) Then Exit Sub
Application.EnableEvents = False
Target.FormulaR1C1 = "=""" & Format(Val(Target.Value), "000") & _
   "-""&LEFT(RC19,1)&MID(RC19,SEARCH("" "",RC19&"" "")+1,1)&""-BELG-""&YEAR(RC15)"
Application.EnableEvents = True
End Sub
Si vous tenez a votre format vous pouvez ne pas changer FormulaR1C1 et mettre à la place :
VB:
Target.NumberFormat = "000""-" & Left$(Target.Offset(, 18), 1) & Mid$(Target.Offset(, 18), _
   InStr(Target.Offset(, 18) & " ", " ") + 1, 1) & "-BELG-" & Year(Target.Offset(, 14)) & """"
Mais ça ne changera plus si vous changez en colonne O ou S, et si c'est à faire sur beaucoup de lignes ça va faire beaucoup de formats…
 
Dernière édition:

Discussions similaires

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