Excel – Copier la valeur affichée et non la valeur réelle

Je suis un pilote et j'utilise un programme de journal de bord appelé Logten Pro. J'ai la possibilité de retirer des feuilles de calcul Excel de mon logiciel de gestion de vol de travail et de les importer dans Logten Pro en utilisant le format CSV.

Mon problème, cependant, c'est le logiciel de gestion de vol de travail, qui exporte la date et l'heure du décollage d'un vol dans une cellule dans le format excel suivant: DD / MM / AAAA H: MM: SS PM. Ceci est traité correctement par Excel et est mis en forme par défaut pour DD / MM / YY même si la valeur réelle est plus spécifique, comprenant le groupe de durée et d'heure complet.

Ceci est un problème parce que Logten Pro n'autorise la date que si elle est en format DD / MM / YY, et il n'y a aucun moyen de retirer juste la date affichée DD / MM / YY plutôt que le groupe de time de la date complète valeur, sauf si vous passez manuellement et supprimez le text supplémentaire de la boîte de fonction.

Ma question est la suivante: existe-t-il une macro VBA qui peut copyr automatiquement le text réel affiché, et le coller dans une autre cellule, en changeant la valeur réelle telle quelle, juste à la valeur DD / MM / YY? En outre, cela peut-il être fait pour travailler une colonne entière plutôt que des cellules individuelles à la fois?

Notez que je n'ai aucune expérience VBA, donc la réponse parfaite serait une string VBA complète que je pourrais copyr et coller.

Je vous remercie.

Comme indiqué dans les commentaires, il vaut mieux ne pas utiliser VBA mais plutôt des formules.

Cette formule:

TEXT(A1,"dd-mm-yyy") 

renverra la date formée d'une manière text. Vous pouvez faire glisser et déposer la formule dans toute la gamme de vos cellules et Copy/Paste Special > Values afin que vous ne disposiez que des valeurs nécessaires pour être imscopes dans Logten Pro.

Il existe trois options utilisant des formules.

Arrondir vers le bas

Excel stocke l'heure de la date en tant que numéro et utilise le formatting pour l'afficher en tant que date. Le format est date.time, où l'entier est la date et la fraction est l'heure.

À titre d'exemple 01/01/2012 10:30:00 PM est stocké sous 40909.9375

Toutes les valeurs après la décimale concernent les heures et les minutes

Ainsi, une formule pourrait être utilisée pour arrondir le nombre à un integer.

 =ROUNDDOWN(A1,0) 

Ensuite, formatez la valeur à une date courte. Il sera alors affiché au 01/01/2012

INT

Comme ci-dessus, mais en utilisant une formule différente pour éliminer la fraction (le time)

 =INT(A1) 

Texte

Alternativement, la date pourrait seulement être extraite en tant que text utilisant cette formule

 =TEXT(A1,"dd/mm/yyyy") 

Il sera alors affiché au 01/01/2012