Bonjour,
Salut VH_AE !
Problème de date : j'ai toujours du mal à résister... !
Une petite macro toute bête :
Sub ConvertDates()
Dim c As Range, d
For Each c In Selection
d = c
c.Offset(, 2) = d
Next c
End Sub
Elle agit sur la plage sélectionnée (car je voulais pas me casser la tête... ) : on sélectionne la plage dates à convertir et on la lance.
Elle ne fait rien d'autre que récupérer la valeur initiale et l'affecter deux colonnes plus loin (s'agissant d'un test, pour qu'on puisse comparer le résultat à la donnée initiale).
Et miracle : en prenant en A pour mettre en C, ce simple mouvement fait qu'on a une date en C !
Ce n'est pas vraiment miraculeux, VBA ne peut s'empêcher de convertir en date tout texte qu'il peut identifier comme date, défaut inhérent contre lequel on a habituellement à lutter car si la date est en français, on risque toujours une identification selon le format américain, produisant une inversion mois/jour). Mais ce défaut peut parfois être utilisé : un texte date en anglais, s'il est conforme aux critères d'identification de VBA (il vaut toujours mieux tester avant) entraînera une conversion automatique en date par VBA et lors de l'affectation dans Excel, c'est alors une date qui est affectée, et Excel en adapte le format (en français) [si la cellule est au format standard].
La cellule réceptrice contient dès lors une date...
Si on souhaite obtenir un autre format de date, il suffit préalablement de de mettre le format de cellule adéquat sur la plage de réception, il sera respecté, sinon on peut toujours modifier le format ensuite...
Cordialement.