Se connecter avec
S'enregistrer | Connectez-vous

VBA : comparer deux dates ds 1 meme cellule en vba

Dernière réponse : dans Programmation

bonjour, je dispose dun fichier excel contenant les caracteristiques de personnes dont la date de

naissance. Dans la colonne date_naiss, certaine cellules comprennent deux dates de naissances

séparer par y (25/12/1928ý26/06/1971). Je souhaiterai une macro qui parcoure ma colonne, et qui,

quand elle rencontre 2 dates de naiss me garde seulement la date de naiss la plus récente. Merci

d'avance);'

Autres pages sur : vba comparer dates cellule vba

Lassé par la pub ? Créez un compte

En même temps si tu veux n'en garder qu'une c'est pas vraiment necessaire. Maintenant fais une sauvegarde de ton fichier avant. :D 
Le plus simple c'est que pour chaque ligne de ton fichier tu teste si tu trouves ton séparateur, si oui tu split tes 2 dates dans des variables et tu compares.

Tu vas avoir besoin des fonctions VBA suivantes pour séparer tes dates :
- Instr()
- Left()
- Mid()

et avec DateDiff() tu fais ta comparaison.
Pour le détail des fonctions y a l'aide de VBA.
Expert Programmation

Fais gaffe, je pense que ton y, c'est plutôt Chr(255) ou quelque chose comme ça.

séparer / mettre dans une colonne / insérer / comparer....
Bon d'abord, mais ça, c'est du Excel, pas du VB !!!!
Ah bah d'où l'intérêt de posert dans la cat' logiciel..... ;) 

Parcourir une colonne (enfin une plage de cellules), c'est facile, y'a pleins d'exemples sur le forum.
Pour séparer tes valeurs utilise InStr pour trouver ou pas ý, puis Mid de 1 à 10 et de 12 à 21 pour mettre chacun des deux morceaux dans deux variables différentes. Compare les deux variables (Attention piège, il sera nécessaire de passer de texte à date pour la comparaison). Enfin, écrire la plus petite ne devrait pas poser problème.

Publie donc ton code (voire une ébauche) qu'on en reparle...

(En parlant de publier du code, pense à lire les règles si ce n'est déjà fait)

EDIT: Grilled by Freeman23 :hello: 
Lassé par la pub ? Créez un compte