Format personnalisée pour deux données

  • Initiateur de la discussion Initiateur de la discussion Ilino
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Ilino

XLDnaute Barbatruc
Bonjour Forum

Je souhaite tapé dans la cellule des données suivantes CHIFFRE et DATE après validation il s’affiche dans la cellule CHIFFRE /ILINO/2014 DU DATE (format personnalisée)
EXEMPLE :
Si je saisie dans la cellule L5 le CHIFFRE 12 et la date 1/7/2014 j’aurai dans la cellule 12/ILINO/2014 DU 1/7/2014
GRAZIE
 

Pièces jointes

Re : Format personnalisée pour deux données

Bonjour Ilino,

Ce n'est pas un format personnalisé mais cette macro :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, s
Set r = Intersect(Target, [L5:L26]) 'plage à adapter
If Not r Is Nothing Then
  For Each r In r 'si plusieurs cellules (copier-coller)
    s = Split(Application.Trim(r.Text))
    If UBound(s) = 1 Then _
      If IsNumeric(s(0)) And IsDate(s(1)) Then _
        r = s(0) & "/ILINO/" & Year(s(1))
  Next
End If
End Sub
A+
 
Re : Format personnalisée pour deux données

Bonjour

Tu peux mettre un format personnalisé sur UNE donnée entrée dans une cellule
ou tu peux taper ton chiffre dans une cellule, ta date dans l'autre et concaténer les deux dans un troisième en ajoutant le texte que tu veux
mais un format perso ne peut pas faire ce que tu souhaites. La seule solution est par macro comme proposé par Job
 
Re : Format personnalisée pour deux données

Bonjour Ilino,

Ce n'est pas un format personnalisé mais cette macro :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, s
Set r = Intersect(Target, [L5:L26]) 'plage à adapter
If Not r Is Nothing Then
  For Each r In r 'si plusieurs cellules (copier-coller)
    s = Split(Application.Trim(r.Text))
    If UBound(s) = 1 Then _
      If IsNumeric(s(0)) And IsDate(s(1)) Then _
        r = s(0) & "/ILINO/" & Year(s(1))
  Next
End If
End Sub
A+

Bonjour JOB MISANGE
MERCI POUR LES REPONSES MAIS CA N'A PAS FONCTIONNE
QUAND JE SAISIE 12 ET 1/7/2014 J'AI 12/ILINO/2014 ???!!!
 

Pièces jointes

Re : Format personnalisée pour deux données

Re,

Une variante qui affiche toujours 12 en tête, si l'on entre 012 12,6 12.6 ou 12a :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, s, i%
Set r = Intersect(Target, [L5:L26]) 'plage à adapter
If Not r Is Nothing Then
  For Each r In r 'si plusieurs cellules (copier-coller)
    s = Split(Application.Trim(r.Text))
    If UBound(s) = 1 Then
      For i = 1 To Len(s(0))
        If Not IsNumeric(Mid(s(0), i, 1)) Then Exit For
      Next
      If i > 1 And IsDate(s(1)) Then _
        r = Val(Mid(s(0), 1, i - 1)) & "/ILINO/" & Year(s(1))
    End If
  Next
End If
End Sub
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
389
Réponses
1
Affichages
145
Réponses
4
Affichages
570
Réponses
2
Affichages
399
Réponses
9
Affichages
310
Retour