Compter des cellule avec un format date excel

Fermé
zeb - 4 juin 2009 à 21:36
NicoDisso Messages postés 230 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 22 août 2009 - 5 juin 2009 à 08:45
Bonjour,

j ai une colonne avec des dates , je souhaite compter les cellules qui contiennent la date que je rentre grace à une boite de message.

quand je mets un prénom dans la boite de message et que mes cellules contiennent ce prénom je n'est aucun problème, mais quand je rentre une date le comptage est de 0

pouvez vous me dépanner

voici ma macro



Sub daterecu()

Sheets("Feuil1").Select

Dim Message, Titre, ddr, réponse

Titre = "Date de réception"

Message = "Entrez la date du début au format jj/mm/aaaa :"

ddr = InputBox(Message, Titre)

If ddr <> Format(ddr, "dd/mm/yyyy") Or ddr = "" Then
MsgBox "Votre date n'est pas valide! Recommencez ?"
Exit Sub
End If


ddr = Format(ddr, "mm/dd/yyyy")


Dim celule As Range
total = 0


Range("a7:a5000").Select 'colonne ou j'ai mes dates

For Each celule In Selection
If cellule = ddr Then
total = total + celule.Count
End If
Next

Range("g2") = "NOMBRE DE JOURS : " & total 'affiche le total

End sub
A voir également:

3 réponses

Captain47 Messages postés 13 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 5 juin 2009 1
5 juin 2009 à 07:45
Bonjour,

Eh bien si c'est le cas, tu sélectionne la colonne où se trouvent les dates et fait un clic droit pour avoir le men déroulant - tu peux aussi utiliser celui figurant en haut de ta page. Tu choisis "format des cellules" puis dans la fenêtre qui apparait l'onglet "nombre" et sélectionne dans la liste proposée "date". T n'as plus qu'à choisir le type de date que tu veux voir afficher et valider.
Maintenant, est-ce que cela solutionnera ton problème, je ne sais, mais ça vaut le coup d'essayer...
1
Captain47 Messages postés 13 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 5 juin 2009 1
4 juin 2009 à 21:42
Bonsoir,
Cela ne proviendrait-il pas d'une question de formatage de tes cellules contenant la date ? Si celles-ci ne sont pas "officiellement" considérées comme des dates, même si elles en ont la forme, peut-être ne sont-elles pas prises en compte.

Ceci n'est qu'une suggestion ou une piste de recherche, pas une certitude, mais je crois que j'aurais commencé par vérifier cela.

Bon courage à toi en attendant peut-être une réponse plus affirmative quant aux causes de ton soucis.
0
bonsoir,

je pense que tu as raison ,mais je ne sais vraiment pas comment faire

merci
0
NicoDisso Messages postés 230 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 22 août 2009 32
5 juin 2009 à 08:45
Moi c'est au niveau de la déclaration des tes variables que ca peche.
Tu compares des carottes avec des patates ( on se croirait à l'école, non ;-) )

en fait quand tu fais ca Dim Message, Titre, ddr, réponse
tu déclares des variables, mais tu ne donnes pas leur type ( carotte... )

Donc au vue de ce que tu veux faire
Dim Message as string
Dim Titre as string
Dim ddr as date
réponse ne sert à rien et évite les accents dans tes variables




ensuite ton code irait à condition qu'il n'y ait pas d'erreur de saisie de date


ton test final serait

cdate(cellule.value) = cdate(ddr)

cdate() te permet de convertir un texte en date, comme ca on est sur que ca compare les meme choses...
Le probleme est que si tu a autre chose qu'une date dans ta cellule, tu auras une erreur
DOnc il faudra mettre en place une gestion d'erreur...
0