Extraire date d'une celulle avec date et heure

richert90

XLDnaute Occasionnel
Bonjour,

Dans une colonne j'ai des dates avec des heures, j'ai récupéré dans une colonne à coté, juste la date avec un CDate pour éviter le problème suivant: par exemple, pour la cellule "A2", j'ai comme date et heure: "08/12/2012 00:00:44",je dois avoir en "B2" : "08/12/2012" et non "12/08/2012". Le cDate permet à priori de corriger cette erreur (dites moi si je me trompe??).

Ensuite j'aimerais copier les dates (sans qu'elles soient modifiées: elles doivent rester telles quelles sans inversion de mois jour etc...) dans une zone de liste (sans doublons) qui servira à terme à réaliser des filtres sur les dates. Comment faire en sorte que le format de la date ne change jamais, que la date reste identique à celle que j'ai extrait?

Merci d'avance
 

Victor21

XLDnaute Barbatruc
Re : Extraire date d'une celulle avec date et heure

Bonsoir, richert90, Jacou.

Un p'tit fichier, ce serait dans le domaine du possible, qu'on voie ?

Attn Jacou : extrait de l'aide VBA :
La fonction CDate reconnaît les formats de date définis dans
les paramètres régionaux de votre système. L'ordre des jours, mois et années
risque de ne pouvoir être défini si les données sont fournies dans un format
différent des paramètres de date reconnus. En outre, les formats de date
complets précisant le jour de la semaine ne sont pas reconnus.
:)
 

Jacou

XLDnaute Impliqué
Re : Extraire date d'une celulle avec date et heure

Merci Patrick,
je n'avais pas percuté que richert parlait d'un problème dans un code VBA.
il est vrai que comme d'habitude un petit fichier d'application aide à savoir de quoi on parle
Bonne nuit à tous
 

richert90

XLDnaute Occasionnel
Re : Extraire date d'une celulle avec date et heure

Bonjour, voici mon problème dans le fichier joint
A partir d'une colonne date et heure --> recup date --> je rentre ces dates dans une zone de liste sans doublons --> affichage userform avec la zone de liste --> filtre sur la date
Sauf que je veux que la date ne SOIT JAMAIS MODIFIE , autrement dit on la laisse comme elle est dans la colonne A (pas d'inversion jour mois etc...), et j'ai souvent un problème soit dans la récupération de la date à partir de la date et heure ( cDate marchera t-il toujours? meme sur un windows anglais) ou pour un filtre syr la date (probleme en filtrant par exemple 06/05/2013, ewcel enleve le 1er "0" donc le filtre s'applique pas correctement

Merci d'avance pour votre aide
 

Pièces jointes

  • test_dates.xlsm
    22.5 KB · Affichages: 60

Jacou

XLDnaute Impliqué
Re : Extraire date d'une celulle avec date et heure

Bonsoir richert,

Je te propose cette procédure. à vérifier

Bonne nuit
 

Pièces jointes

  • test_dates richert.xlsm
    23.3 KB · Affichages: 67
  • test_dates richert.xlsm
    23.3 KB · Affichages: 38
  • test_dates richert.xlsm
    23.3 KB · Affichages: 54

richert90

XLDnaute Occasionnel
Re : Extraire date d'une celulle avec date et heure

Bonjour,

Merci pour ta proposition. En effet la fonction ENT() est bien utile pour extraire la date de la date avec l'heure.
Par contre j'ai un problème pour les filtres, cela ne fonctionne pas. J'ai enregistré une macro pour filtrer une date, en voici le code:
Code:
   ActiveSheet.Range("$A$1:$B$7").AutoFilter Field:=2, Criteria1:=  "=07/06/2013", Operator:=xlAnd

Au moment ou j'ai enregistré la macro, le filtre a fonctionné mais lorsque j'essaye de le faire avec le code ci dessus, il ne trouve aucune données....
 

Jacou

XLDnaute Impliqué
Re : Extraire date d'une celulle avec date et heure

bonsoir richert

Il ne faut pas utiliser directement comme critère de filtre le contenu de ton combobox (qui contient une donnée de type texte et non date). il vaut mieux utiliser une donnée intermédiaire (datechoisie par exemple)
datechoisie = CDate(Filtre.zl_date.Value)
il faut aussi fermer l'userform avant d'appliquer le fitre
Private Sub CommandButton1_Click()
'Filtre selon la date:
If Filtre.zl_date.Value = "" Then
Unload Filtre
Exit Sub
End If
datechoisie = CDate(Filtre.zl_date.Value)
Unload Filtre
ActiveSheet.Range("$A$1:$B$6").AutoFilter field:=2, Criteria1:=datechoisie


End Sub

bonne nuit
 

Pièces jointes

  • test_dates richert.xlsm
    23.4 KB · Affichages: 34
  • test_dates richert.xlsm
    23.4 KB · Affichages: 44
  • test_dates richert.xlsm
    23.4 KB · Affichages: 42

richert90

XLDnaute Occasionnel
Re : Extraire date d'une celulle avec date et heure

Bonsoir,

Merci pour votre aide,

Concernant la réponse, j'ai un doute concernant l'utilisation du Cdate() car je sais que cette fonction dépend des langues du PC. Étant donné que mon application pourra être utilisé par des utilisateurs dont leur configuration Windows est en Anglais, j'ai peur que il y ait inversion entre le jour et le mois. Y-a t-il des risques ou non?
 

Discussions similaires

Statistiques des forums

Discussions
312 202
Messages
2 086 180
Membres
103 152
dernier inscrit
Karibu