XL 2013 Macro conversion de dates

flo92

XLDnaute Nouveau
Bonjour à tous,
Je récupère un fichier contenant des colonnes avec date et heure et j'aimerai pouvoir dans une macro : convertir ces dates pour supprimer les heures.
J'ai essayé avec la fonction Convertir en séparant en 2 colonnes (colonne 1 =date et colonne 2 = heure) et en utilisant l'option "ne pas distribuer" pour supprimer les heures mais je ne sais pas comment le transcrire en macro.

Merci d'avance,

Je vous joins un exemple du fichier...
 

Pièces jointes

  • Conversion Dates.xlsx
    12.5 KB · Affichages: 40
  • Conversion Dates.xlsx
    12.5 KB · Affichages: 44

flo92

XLDnaute Nouveau
Re : Macro conversion de dates

Bonjour,
Désolée, je ne suis pas une pro des macros...
Pouvez-vous me donner un exemple ? A quoi correspond DHSrc ? Est-ce que cela correspond à la plage de cellules contenant les dates ? cela va remplacer les dates existantes ?
Merci
 

Dranreb

XLDnaute Barbatruc
Re : Macro conversion de dates

Non, c'était supposé une variable déclarée As Date contenant une date et heure.
DHSrc: Date et heure source
DatCbl: Date cible
HeuCbl: Heure cible
Mais je crois que moi je laisserais l'heure dans les cellules tellement il est facile dans des formules ailleurs de ne tenir compte que de la date à l'aide de la fonction ENT d'Excel.
 

flo92

XLDnaute Nouveau
Re : Macro conversion de dates

En fait,je dois ensuite intégrer cette liste dans une base Access sans les heures.
Donc, je voulais faire un bouton me permettant de modifier toutes les colonnes contenant des dates. J'ai essayé avec l'enregistreur de macro d'enregistrer les actions de Données Convertir mais il ne garde pas la sélection "Colonne non distribuée" sur la colonne heure.
 

Dranreb

XLDnaute Barbatruc
Re : Macro conversion de dates

C'est normal puisque les cellules ne contiennent aucunement le texte montré par leur format !
Quand est-ce que les utilisateurs cesseront enfin de confondre ce qu'ils voient dans une cellule avec ce qu'elle contient réellement ?
 

Dranreb

XLDnaute Barbatruc
Re : Macro conversion de dates

Essayez comme ça :
VB:
Sub test()
Dim Plage As Range, ColTrv As Range
Set Plage = Feuil1.UsedRange
Set Plage = Plage.Rows(2).Resize(Plage.Rows.Count - 1)
Set ColTrv = Plage.Columns(1).Offset(, Plage.Columns.Count)
ColTrv.FormulaR1C1 = "=INT(RC1)"
Plage.Columns(1).Value = ColTrv.Value
ColTrv.FormulaR1C1 = "=INT(RC3)"
Plage.Columns(3).Value = ColTrv.Value
ColTrv.Delete xlShiftToLeft
End Sub
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Macro conversion de dates

Bonjour flo92, Bernard,

Pas besoin de formules ni de code VBA, la commande Remplacer suffit :

- sélectionner les colonnes des dates (A et C ici) avec la touche Ctrl enfoncée pour sélection multiple

- touches Ctrl+H

- Rechercher : <taper un espace suivi de l'astérisque *>, Remplacer par : <rien>

- clic sur le bouton "Remplacer tout".

Edit : il s'agit d'une recherche partielle, dans les options de la boîte de dialogue la touche "Totalité du contenu de la cellule" doit être décochée.

A+
 
Dernière édition:

Discussions similaires

Réponses
13
Affichages
368

Statistiques des forums

Discussions
312 331
Messages
2 087 360
Membres
103 529
dernier inscrit
moket07