Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

date dans macro

20 réponses
Avatar
Circé
Bonjour à tous !

Mais qu'est-ce qui cloche là-dedans ?...

For Each c In Range("date_signature")
If c.Value > Now Then
c.Offset(0, 5).value = "A"
End If
Next c

Ça me paraît tout bête, et pourtant, alors que je ne veux trouver que
les date supérieures à aujourd'hui, je trouve tout !

Merci par avance,
Circé
http://faqwore.fr

10 réponses

1 2
Avatar
Francois L
Circé a écrit :

Bonjour,

Bizarre, chez moi ça marche bien....

Attendons les hypothèses des gourous ou alors micro-climat...

--
François L

Bonjour à tous !

Mais qu'est-ce qui cloche là-dedans ?...

For Each c In Range("date_signature")
If c.Value > Now Then
c.Offset(0, 5).value = "A"
End If
Next c

Ça me paraît tout bête, et pourtant, alors que je ne veux trouver que
les date supérieures à aujourd'hui, je trouve tout !

Merci par avance,
Circé
http://faqwore.fr




Avatar
Misange
salut la muse !
ça roule sans pb chez moi. Est-ce que tes dates sont bien des dates ?

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Circé a écrit :
Bonjour à tous !

Mais qu'est-ce qui cloche là-dedans ?...

For Each c In Range("date_signature")
If c.Value > Now Then
c.Offset(0, 5).value = "A"
End If
Next c

Ça me paraît tout bête, et pourtant, alors que je ne veux trouver que
les date supérieures à aujourd'hui, je trouve tout !

Merci par avance,
Circé
http://faqwore.fr




Avatar
Modeste
Bonsour® Circé avec ferveur ;o))) vous nous disiez :

Bonjour à tous !

Mais qu'est-ce qui cloche là-dedans ?...

For Each c In Range("date_signature")
If c.Value > Now Then
c.Offset(0, 5).value = "A"
End If
Next c

Ça me paraît tout bête, et pourtant, alors que je ne veux trouver que
les date supérieures à aujourd'hui, je trouve tout !



verifie le format des dates,
pour cela, passe la plage "date_signature" en format nombre il doit n'y avoir que des nombres !!!

il ne faut pas que celles-ci soient en format texte

si ce n'est pas le cas
voir avec le menu Données convertir
ne selectionner que la colonne des dates-signature
à l'étape 3
format des données en colonne
choisir date
et le format correspondant à celui lu (visible)


--
--
@+
;o)))
Avatar
Circé
Bonsoir à tous,

Au moins, déjà, ça me rassure de voir que je ne débloquais pas
complètement !

Il s'agit de données récupérées d'une appli externe. Au départ, aucun
nombre n'était considéré comme numérique. Je les ai tous "convertis", y
compris les dates, par une multiplication par 1, car le format ne
suffit pas dans ce cas.

Les dates sont OK, car dans une autre colonne, je récupère bien le mois
avec une formule =MOIS(date)...
Bon, je vérifie tout ça demain, il doit y avoir autre chose...

Je vous tiens au courant ! :D

Circé
http://faqword.fr

Modeste avait écrit le 10/09/2008 :
Bonsour® Circé avec ferveur ;o))) vous nous disiez :

Bonjour à tous !

Mais qu'est-ce qui cloche là-dedans ?...

For Each c In Range("date_signature")
If c.Value > Now Then
c.Offset(0, 5).value = "A"
End If
Next c

Ça me paraît tout bête, et pourtant, alors que je ne veux trouver que
les date supérieures à aujourd'hui, je trouve tout !



verifie le format des dates,
pour cela, passe la plage "date_signature" en format nombre il doit n'y avoir
que des nombres !!!

il ne faut pas que celles-ci soient en format texte

si ce n'est pas le cas
voir avec le menu Données convertir
ne selectionner que la colonne des dates-signature
à l'étape 3
format des données en colonne
choisir date
et le format correspondant à celui lu (visible)


--


Avatar
Mishell
Bonjour.

Essaie avec DateSerial. Ca évite le problème du format.

For Each c In Range("date_signature")
a = c.Value
If DateSerial(Year(a), Month(a), Day(a)) > Now Then
c.Offset(0, 5).Value = "A"
End If
Next c

Mishell

"Circé" wrote in message
news:
Bonjour à tous !

Mais qu'est-ce qui cloche là-dedans ?...

For Each c In Range("date_signature")
If c.Value > Now Then
c.Offset(0, 5).value = "A"
End If
Next c

Ça me paraît tout bête, et pourtant, alors que je ne veux trouver que les
date supérieures à aujourd'hui, je trouve tout !

Merci par avance,
Circé
http://faqwore.fr




Avatar
Misange
au besoin mets nous un exemple sur c-joint.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Circé a écrit :
Bonsoir à tous,

Au moins, déjà, ça me rassure de voir que je ne débloquais pas
complètement !

Il s'agit de données récupérées d'une appli externe. Au départ, aucun
nombre n'était considéré comme numérique. Je les ai tous "convertis", y
compris les dates, par une multiplication par 1, car le format ne suffit
pas dans ce cas.

Les dates sont OK, car dans une autre colonne, je récupère bien le mois
avec une formule =MOIS(date)...
Bon, je vérifie tout ça demain, il doit y avoir autre chose...

Je vous tiens au courant ! :D

Circé
http://faqword.fr

Modeste avait écrit le 10/09/2008 :
Bonsour® Circé avec ferveur ;o))) vous nous disiez :
Bonjour à tous !

Mais qu'est-ce qui cloche là-dedans ?...

For Each c In Range("date_signature")
If c.Value > Now Then
c.Offset(0, 5).value = "A"
End If
Next c

Ça me paraît tout bête, et pourtant, alors que je ne veux trouver que
les date supérieures à aujourd'hui, je trouve tout !



verifie le format des dates,
pour cela, passe la plage "date_signature" en format nombre il doit
n'y avoir que des nombres !!!

il ne faut pas que celles-ci soient en format texte

si ce n'est pas le cas
voir avec le menu Données convertir
ne selectionner que la colonne des dates-signature
à l'étape 3
format des données en colonne choisir date et le format correspondant
à celui lu (visible)


--






Avatar
Laurent
Bonjour Circé,
Ca marche aussi chez moi.
Par contre j'ai plutôt l'habitude d'utiliser now avec des parenthèse : now()
Comme une fonction, il peut peu-être confondre now avec une variable.

Si ce n'est pas ça, peut être un problème de format de date.

@+
Laurent

"Circé" a écrit :

Bonjour à tous !

Mais qu'est-ce qui cloche là-dedans ?...

For Each c In Range("date_signature")
If c.Value > Now Then
c.Offset(0, 5).value = "A"
End If
Next c

Ça me paraît tout bête, et pourtant, alors que je ne veux trouver que
les date supérieures à aujourd'hui, je trouve tout !

Merci par avance,
Circé
http://faqwore.fr





Avatar
Circé
Hello Miss-Ange !

Misange a présenté l'énoncé suivant :
au besoin mets nous un exemple sur c-joint.



Alors voilà :
http://cjoint.com/?jlkImRRYMy

En fait, ce n'est pas un problème de macro, c'est vraiment un problème
avec ces dates qui paraissent être pourtant au bon format.
J'ai testé avec une formule > ou < à aujourdhui() et le problème est le
même.
Regarde dans le fichier les deux cellules colorées en jaune qui
proviennent de ma base.

Circé
http://faqword.fr

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Circé a écrit :
Bonsoir à tous,

Au moins, déjà, ça me rassure de voir que je ne débloquais pas complètement
!

Il s'agit de données récupérées d'une appli externe. Au départ, aucun
nombre n'était considéré comme numérique. Je les ai tous "convertis", y
compris les dates, par une multiplication par 1, car le format ne suffit
pas dans ce cas.

Les dates sont OK, car dans une autre colonne, je récupère bien le mois
avec une formule =MOIS(date)...
Bon, je vérifie tout ça demain, il doit y avoir autre chose...

Je vous tiens au courant ! :D

Circé
http://faqword.fr

Modeste avait écrit le 10/09/2008 :
Bonsour® Circé avec ferveur ;o))) vous nous disiez :
Bonjour à tous !

Mais qu'est-ce qui cloche là-dedans ?...

For Each c In Range("date_signature")
If c.Value > Now Then
c.Offset(0, 5).value = "A"
End If
Next c

Ça me paraît tout bête, et pourtant, alors que je ne veux trouver que
les date supérieures à aujourd'hui, je trouve tout !



verifie le format des dates,
pour cela, passe la plage "date_signature" en format nombre il doit n'y
avoir que des nombres !!!

il ne faut pas que celles-ci soient en format texte

si ce n'est pas le cas
voir avec le menu Données convertir
ne selectionner que la colonne des dates-signature
à l'étape 3
format des données en colonne choisir date et le format correspondant à
celui lu (visible)


--








Avatar
Circé
Bonjour Laurent et Mishell,

Je suis désolée, j'ai répondu à Misange sans avoir vu vos réponses !!!

Surtout que Mishell, tu a résolu mon problème ! Donc avec le
DateSerial, ça fonctionne nickel ! Un grand merci à toi, et si vous
aviez une petite explication en plus, c'est pas de refus.

En tous les cas, je garde ça dans mes tablettes.
Merci encore...

Bonne journée,

Circé
http://faqword.fr

Alors la fonction
Laurent a exposé le 11/09/2008 :
Bonjour Circé,
Ca marche aussi chez moi.
Par contre j'ai plutôt l'habitude d'utiliser now avec des parenthèse : now()
Comme une fonction, il peut peu-être confondre now avec une variable.

Si ce n'est pas ça, peut être un problème de format de date.

@+
Laurent

"Circé" a écrit :

Bonjour à tous !

Mais qu'est-ce qui cloche là-dedans ?...

For Each c In Range("date_signature")
If c.Value > Now Then
c.Offset(0, 5).value = "A"
End If
Next c

Ça me paraît tout bête, et pourtant, alors que je ne veux trouver que
les date supérieures à aujourd'hui, je trouve tout !

Merci par avance,
Circé
http://faqwore.fr







Avatar
Misange
hello,
Et bien en fait tes deux dernières dates, même ayant été multipliées par
1 sont toujours en format texte : si tu changes le format et que tu
mets nombre à la place de date sur ta colonne, tu verras que les deux
dernières restent alignées à gauche et ne sont pas transformées. Excel
est parfois "trop" futé : il essaie de t'arranger au maximum. Quand tu
écris = mois (A4), excel essaie de convertir ta donnée en A4 en une date
pour appliquer la fonction. Du coup il ne te signale pas qu'en fait
c'est du texte.
Donc il faut soit que tu revoies ta procédure d'importation de données
pour corriger cela, soit que tu utilises dateserial comme proposé.

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Circé a écrit :
Hello Miss-Ange !

Misange a présenté l'énoncé suivant :
au besoin mets nous un exemple sur c-joint.



Alors voilà :
http://cjoint.com/?jlkImRRYMy

En fait, ce n'est pas un problème de macro, c'est vraiment un problème
avec ces dates qui paraissent être pourtant au bon format.
J'ai testé avec une formule > ou < à aujourdhui() et le problème est le
même.
Regarde dans le fichier les deux cellules colorées en jaune qui
proviennent de ma base.

Circé
http://faqword.fr

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Circé a écrit :
Bonsoir à tous,

Au moins, déjà, ça me rassure de voir que je ne débloquais pas
complètement !

Il s'agit de données récupérées d'une appli externe. Au départ,
aucun nombre n'était considéré comme numérique. Je les ai tous
"convertis", y compris les dates, par une multiplication par 1, car
le format ne suffit pas dans ce cas.

Les dates sont OK, car dans une autre colonne, je récupère bien le
mois avec une formule =MOIS(date)...
Bon, je vérifie tout ça demain, il doit y avoir autre chose...

Je vous tiens au courant ! :D

Circé
http://faqword.fr

Modeste avait écrit le 10/09/2008 :
Bonsour® Circé avec ferveur ;o))) vous nous disiez :
Bonjour à tous !

Mais qu'est-ce qui cloche là-dedans ?...

For Each c In Range("date_signature")
If c.Value > Now Then
c.Offset(0, 5).value = "A"
End If
Next c

Ça me paraît tout bête, et pourtant, alors que je ne veux trouver que
les date supérieures à aujourd'hui, je trouve tout !



verifie le format des dates,
pour cela, passe la plage "date_signature" en format nombre il doit
n'y avoir que des nombres !!!

il ne faut pas que celles-ci soient en format texte

si ce n'est pas le cas
voir avec le menu Données convertir
ne selectionner que la colonne des dates-signature
à l'étape 3
format des données en colonne choisir date et le format
correspondant à celui lu (visible)


--












1 2