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
 

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 :
Vous pouvez déclarer plusieurs variables dans une instruction. Pour spécifier un type de données, vous devez inclure le type de données pour chaque variable. Dans l'instruction suivante, les variables intX, intY et intZ sont déclarées avec le type Integer.
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

Vous pouvez omettre le type de données de la variable dans l'instruction de déclaration. Dans ce cas, la variable prend le type Variant.
 
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:

Statistiques des forums

Discussions
312 715
Messages
2 091 287
Membres
104 836
dernier inscrit
baxx86