• Initiateur de la discussion Initiateur de la discussion MangePasDpain
  • 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 !

M

MangePasDpain

Guest
Bonjour à tous,

Voila ou j'en suis:
j'ai une cellule (A1) qui contient une valeur :"200502"

j'utilise la fonction suivante sur une autre cellule (A2) pour obtenir une date lisible:

"=CNUM(DROITE(Table!A1;2)+1&""/""&GAUCHE(Table!A1;4))"

En saisissant la fomule directement ds la cellule ,
j'obtiens : 02/2005.

En changeant le format de cellule j'obtiens : "février - 05"
Pour l'instant tout va bien.....

Mais si je veux integrer cette formule à une macro, on va dire pour créer une page qui contient les même cellules ca ne marche plus.

Range("A2").value="=CNUM(DROITE(Table!A1;2)+1&""/""&GAUCHE(Table!A1;4))"

ou

Range("A2").Formula="=CNUM(DROITE(Table!A1;2)+1&""/""&GAUCHE(Table!A1;4))"

Le résultat à l'affichage est : "02/2005" quel que soit le format de date de la cellule "A2".

Pourquoi je n'obtiens pas "février-05" ?(Hein....pourquoi...?)

Merci de vos réponses pour m'éclairer sur les propriétés de Value et de Formula.
 
Bonjour Wilfried,

Je suis désolé mais je ne comprend pas ta réponse......
Je ne nomme aucune page dans cette partie de macro.
En plus,je n'obtiens pas de message d'erreur mais un affichage de la cellule qui ne correspond pas a ce que je souhaite.

Si je force dans ma macro le format de date qui m'interesse....meme resultat

Merci quand meme d'avoir pris le temps de me répondre.
 
Bonjour Chti'160,

mon problème viens surtout de fait que je n'obtienne pas ma date au format désiré : "février - 05".

Quelque soit le format de cellule (texte,monétaire,numérique)j'obtiens tjrs le meme résultat.

Merci pour tes recherches.
 
re "MangePasDpain"
cette procèdure remplace dans la colonne A les chiffres par la date au format demandé
Sub formule()
Dim derlgn As Integer, lgn As Integer
Dim Tab1 As Variant
Application.ScreenUpdating = False
With Worksheets("Feuil1")
derlgn = .Range("A65536").End(xlUp).Row
Tab1 = .Range(.Cells(1, 1), .Cells(derlgn, 1)).Value
For lgn = 1 To UBound(Tab1, 1)
.Cells(lgn, 1) = Right(Trim(Tab1(lgn, 1)), 2) & " " & Left(Trim(Tab1(lgn, 1)), 4)
.Cells(lgn, 1) = Format(.Cells(lgn, 1), "mmmm - yy")
Next
End With
Application.ScreenUpdating = True
End Sub
A+++
Jean Marie
 
bonjour tout le monde,

pour le fun j'avais trouvé un code plus simple en utilisant "DateSerial" :

---------------------------------------------------------------------------------
Sub tTime()

For i = 1 To [A65536].End(xlUp).Row
Cells(i, 2) = DateSerial(Mid(Cells(i, 1), 1, 4), Mid(Cells(i, 1), 5, 2), 1)
Columns("b").NumberFormat = "mmmm-yy"
Next

End Sub
---------------------------------------------------------------------------------

avec les nombres à convertir en colonne A,
les dates converties en colonne B

amicalement
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 format date
Réponses
3
Affichages
147
Réponses
6
Affichages
341
Réponses
6
Affichages
443
Réponses
4
Affichages
409
Réponses
5
Affichages
719
Retour