Formule date dans cellule via VBA

Fermé
Padawan_95 Messages postés 8 Date d'inscription dimanche 5 avril 2015 Statut Membre Dernière intervention 6 mai 2016 - 5 mai 2016 à 11:33
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 6 mai 2016 à 20:55
Bonjour,

Je me permets d'ouvrir ce nouveau topic sans avoir pu trouver réponse dans les autres.

J'aimerai automatiser par macro une formule qui puisse me faire passer du format de date jj/mm/aaaa au format mm/jj/aaa.

J'ai trouve la formule suivante qui fonctionne en faisant un copier coller:
=DATE(VALUE(RIGHT(A1,4)), VALUE(MID(A1,4,2)), VALUE(LEFT(A1,2)))
La date d'origine étant en cellule A1.

J'aimerai cependant mettre cette formule automatiquement juste a gauche de la cellule source, qu'importe la source, tant qu'elle est sélectionné au préalable.
Je dois donc adapter mon A1 en fonction de la plage verticale de date sélectionné par l'utilisateur.

Enfin je souhaiterai tirer la formule via vba avec un autofill.

Mon ébauche de code ressemble a ca:

Set celref = selection

numcol = selection.Column
numligne = selection.Row 'donne la premiere cellule de la selection, il suffit de copmter la taille, on a donc le nom de la premiere cellule
celref.EntireColumn.Insert
Set formule = celref.Offset(, -1)

formule.FormulaR1C1 = "=DATE(VALUE(RIGHT(" & R[ numligne ]C[" & numcol & "],4)), VALUE(MID(R[" & numligne & "]C[" & numcol & "],2)), VALUE(LEFT(R[" & numligne & "]C[" & numcol & "]2)))"

DernLigne = Range("A" & Rows.Count).End(xlUp).Row
selection.AutoFill Destination:=Range("column" & DernLigne)

End Sub
A voir également:

3 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
5 mai 2016 à 11:58
Bonjour,

passer du format de date jj/mm/aaaa au format mm/jj/aaa.

La formule (anglaise) et le code que vous essayez de faire ne donne pas ce que vous cherchez, mais aaaa/mm/jj !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Pourquoi faire de codage dans une autre colonne ????
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
5 mai 2016 à 12:05
Bonjour,

Dans Excel, le format n'est que l'apparence d'une valeur, il suffit de changer de format pour changer l'apparence !
La valeur réelle d'une date est un nombre qui représente le nombre de jours et la fraction de jour écoulés depuis la veille du 1er janvier 1900 à 00:00:00 (aujourd hui à 12h00 = 42495,5).
C'est-à-dire qu'il suffit de mettre les valeurs au format mm/jj/aaaa;@
0
Padawan_95 Messages postés 8 Date d'inscription dimanche 5 avril 2015 Statut Membre Dernière intervention 6 mai 2016
6 mai 2016 à 03:33
Bonjour,

Tout d'abord je tiens à vous remercie pour votre aide !

J'ignorai que l'on pouvait faire apparaitre le résultat dans la cellule source...
Comment faire ?

Merci d'avance
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
6 mai 2016 à 20:55
Sélectionner la colonne/ clic droit / format de cellule / nombre / personnalisé / mm/jj/aaaa;@
0