Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

compare date étrange ?

dev_co

XLDnaute Occasionnel
Bonjour
J'arrive pas à comprendre , même en mettant les dates en DUR dans mes variables ??
Code:
Dim Db, Df, box20 As Date

For k = 4 To .Range("a1000").End(xlUp).Row
Db = "26/10/2015" '.Cells(k, 8)
Df = .Cells(k, 9)
box20 = "04/01/2016"
If Db >= box20 Then MsgBox " OK C1"
If Df <= Box21 Then MsgBox " OK C2"
avec cet exemple déjà le 1er IF me donne OK C1 , ???
le 26/10/2015 est SUP au 04/01/2016 ???
je dois rater qq chose ?
Merci
 

dev_co

XLDnaute Occasionnel
Re : compare date étrange ?

Merci bien
j'ai pas trop utilisé de comparaison de dates et je pensais que juste avec la Format ( dim) excel savait reconnaitre tout seul
sinon CDate , oui je connais
 

Dranreb

XLDnaute Barbatruc
Re : compare date étrange ?

S'ils étaient tous déclarés As Date, ça aurait peut être marché. Mais seul box20 l'est. Db et Df, sans type explicite spécifié, sont assumés As Variant. Or vous leur affectez des String.
 

Victor21

XLDnaute Barbatruc
Re : compare date étrange ?

Bonsoir, dev_co, Dranreb
Bin oui , mais alors :
Code:
Dim Db, Df, box20 As Date
ça sert à quoi ??
Extrait de l'aide VBA :
 
Dernière édition:

dev_co

XLDnaute Occasionnel
Re : compare date étrange ?

Bonsoir , re
Victor , je commence à comprendre pourquoi on pige pas trop la logique .....
Dim intX As Integer, intY As Integer, intZ As Integer
Dans l'instruction suivante, intX et intY sont déclarés avec le type Variant ; seul intZ est déclaré avec le type Integer.
Dim intX, intY, intZ As Integer
ce qui veut dire que tu peux mettre une "tartine" de Dim ...... mais que c'est le dernier pris en compte seulement ?
Le langage BASIC du ZX80 ( 1980) prenait toute la liste des DIM comme explicite
Il me semble que le VBA en a tiré le jus ( ZINGTEL) ?
C'est bien de revenir encore plus en arrière !! si tel est le cas

PS : j'ai encore mon ZX80 qui fonctionne ... on sait jamais , je pourrai être à la pointe du progrès en 2020 !! ?
 

Dranreb

XLDnaute Barbatruc
Re : compare date étrange ?

C'est vrai qu'il est regrettable qu'il n'y ait aucun moyen de spécifier un type de donnée à appliquer pour toutes les variables d'une instruction Dim. On en est réduit, pour limiter un peu la taille de ces instructions, à utiliser les caractère suffixes de type, mais ils nuisent à la lisibilité des noms dans la mesure où ils ne sont pas affichables dans une couleur spécifique. Cependant j'utilise de plus en plus souvent "&" au lieu de " As Long" mais seulement pour les noms de variables qui reviennent tout le temps dans ma programmation (L& et C&). Et je viendrai sûrement aussi au "#" au lieu de " As Double" mais seulement pour X# et Y#. Et peut être Z$ pour le String de travail qui revient souvent aussi.
Je n'ai pas souvenance qu'en Basic c'était différent. Il n'y avait même que les caractères spéciaux suffixes de types, et à défaut c'était du Single. Enfin… c'est bien lointain tout ça. Peut être que je me trompe.

Sinon il y a aussi les Ce lien n'existe plus, mais je vous préviens c'est très peu utilisé, ni connu.
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…