Bonjour à tous,
je cherche à me positionner dans un tableau qui contient toutes les dates
de l'année sur le jour actuel. Je reçois systématiquement une erreur
d'exécution 13 / Incompatibilité de type avec cette syntaxe :
[C:C].Find(What:Úte, After:¬tiveCell, LookIn:=xlValues).Activate
J'ai essayé de formater la date pour qu'elle soit identique au formatage
de la colonne C. Rien à faire. Si je mets Date en variable, Excel
l'affiche au même format la date qui existe dans le tableau.
Et maintenant, je manque d'imagination pour résoudre le problème...
Merci d'avance à qui pourrait me mettre sur la voie.
Jac
Bonjour à tous,
je cherche à me positionner dans un tableau qui contient toutes les dates
de l'année sur le jour actuel. Je reçois systématiquement une erreur
d'exécution 13 / Incompatibilité de type avec cette syntaxe :
[C:C].Find(What:Úte, After:¬tiveCell, LookIn:=xlValues).Activate
J'ai essayé de formater la date pour qu'elle soit identique au formatage
de la colonne C. Rien à faire. Si je mets Date en variable, Excel
l'affiche au même format la date qui existe dans le tableau.
Et maintenant, je manque d'imagination pour résoudre le problème...
Merci d'avance à qui pourrait me mettre sur la voie.
Jac
Bonjour à tous,
je cherche à me positionner dans un tableau qui contient toutes les dates
de l'année sur le jour actuel. Je reçois systématiquement une erreur
d'exécution 13 / Incompatibilité de type avec cette syntaxe :
[C:C].Find(What:Úte, After:¬tiveCell, LookIn:=xlValues).Activate
J'ai essayé de formater la date pour qu'elle soit identique au formatage
de la colonne C. Rien à faire. Si je mets Date en variable, Excel
l'affiche au même format la date qui existe dans le tableau.
Et maintenant, je manque d'imagination pour résoudre le problème...
Merci d'avance à qui pourrait me mettre sur la voie.
Jac
Bonjour à tous,
je cherche à me positionner dans un tableau qui contient toutes les
dates de l'année sur le jour actuel. Je reçois systématiquement une
erreur d'exécution 13 / Incompatibilité de type avec cette syntaxe :
[C:C].Find(What:Úte, After:¬tiveCell, LookIn:=xlValues).Activat e
J'ai essayé de formater la date pour qu'elle soit identique au
formatage de la colonne C. Rien à faire. Si je mets Date en variable,
Excel l'affiche au même format la date qui existe dans le tableau.
Et maintenant, je manque d'imagination pour résoudre le problème...
Merci d'avance à qui pourrait me mettre sur la voie.
Jac
Bonjour à tous,
je cherche à me positionner dans un tableau qui contient toutes les
dates de l'année sur le jour actuel. Je reçois systématiquement une
erreur d'exécution 13 / Incompatibilité de type avec cette syntaxe :
[C:C].Find(What:=Date, After:=ActiveCell, LookIn:=xlValues).Activat e
J'ai essayé de formater la date pour qu'elle soit identique au
formatage de la colonne C. Rien à faire. Si je mets Date en variable,
Excel l'affiche au même format la date qui existe dans le tableau.
Et maintenant, je manque d'imagination pour résoudre le problème...
Merci d'avance à qui pourrait me mettre sur la voie.
Jac
Bonjour à tous,
je cherche à me positionner dans un tableau qui contient toutes les
dates de l'année sur le jour actuel. Je reçois systématiquement une
erreur d'exécution 13 / Incompatibilité de type avec cette syntaxe :
[C:C].Find(What:Úte, After:¬tiveCell, LookIn:=xlValues).Activat e
J'ai essayé de formater la date pour qu'elle soit identique au
formatage de la colonne C. Rien à faire. Si je mets Date en variable,
Excel l'affiche au même format la date qui existe dans le tableau.
Et maintenant, je manque d'imagination pour résoudre le problème...
Merci d'avance à qui pourrait me mettre sur la voie.
Jac
Bonjour à tous,
je cherche à me positionner dans un tableau qui contient toutes les
dates de l'année sur le jour actuel. Je reçois systématiquement une
erreur d'exécution 13 / Incompatibilité de type avec cette syntaxe :
[C:C].Find(What:Úte, After:¬tiveCell, LookIn:=xlValues).Activate
J'ai essayé de formater la date pour qu'elle soit identique au formatage
de la colonne C. Rien à faire. Si je mets Date en variable, Excel
l'affiche au même format la date qui existe dans le tableau.
Et maintenant, je manque d'imagination pour résoudre le problème...
Merci d'avance à qui pourrait me mettre sur la voie.
Jac
Bonjour à tous,
je cherche à me positionner dans un tableau qui contient toutes les
dates de l'année sur le jour actuel. Je reçois systématiquement une
erreur d'exécution 13 / Incompatibilité de type avec cette syntaxe :
[C:C].Find(What:Úte, After:¬tiveCell, LookIn:=xlValues).Activate
J'ai essayé de formater la date pour qu'elle soit identique au formatage
de la colonne C. Rien à faire. Si je mets Date en variable, Excel
l'affiche au même format la date qui existe dans le tableau.
Et maintenant, je manque d'imagination pour résoudre le problème...
Merci d'avance à qui pourrait me mettre sur la voie.
Jac
Bonjour à tous,
je cherche à me positionner dans un tableau qui contient toutes les
dates de l'année sur le jour actuel. Je reçois systématiquement une
erreur d'exécution 13 / Incompatibilité de type avec cette syntaxe :
[C:C].Find(What:Úte, After:¬tiveCell, LookIn:=xlValues).Activate
J'ai essayé de formater la date pour qu'elle soit identique au formatage
de la colonne C. Rien à faire. Si je mets Date en variable, Excel
l'affiche au même format la date qui existe dans le tableau.
Et maintenant, je manque d'imagination pour résoudre le problème...
Merci d'avance à qui pourrait me mettre sur la voie.
Jac
> Pour ce qui est de la méthode proposée par Frédéric Sigonneau, bien que
Quand tu recherches une date, ce n'est jamais facile...
si tu fais pas attention, les dates vont te donner des datttes !!!
;-)
Exemple : Les 2 méthodes proposées par JB... fonctiionne mais
tel que présentées, a condtion que dans les 2 cas le format
retenu dans la boîte de dialogue du menu / format / cellule / nombre ...
soit celui défini avec UN ASTÉRIX devant le format Que ce soit pour
la colonne du format court des dates ou du format long des dates dans
les cellules. Si dans ces cellules, il y avait un format personnalisé
utilisant
le même format que le format court ou long, les 2 procédures font couic (
adjectif fréquemment utilisé par AV). Un usager qui emploie ce type de
procédures....comment fait-il pour savoir de quelle nature est son probleme
lorsque les procédures plantes ? À titre de suggestion, JB devrait ajouter
à son classeur, une note explicative... De quoi je me mèle ? ;-))
Pour ce qui est de la méthode proposée par Frédéric Sigonneau, bien que
ce ne soit pas une erreur en soi, je me demande de la pertinence d'utiliser
la propriété Value2 de l'objet Range dans cette formule. Et dans le cas où
la date affichée dans la cellule provient d'une format de
ce type : =TEXTE("11/01/06";"JJ/MM/AA"), la méthode proposée ferait
aussi couic...;-)))
Conclusion : Faire une recherche d'une date, en se basant sur seulement
l'apparence de ce qu'il y a dans la plage de cellules n'est pas évident. Ce
n'est pas parce que dans une situation ça marche que la méthode proposée
est une panacée acceptable à toutes les situations.
Si tu veux lire un peu sur la méthode Find et Date, il y a quelqu'un qui a
écrit
un papier pas mal intéressant sur le sujet là :
http://xlwiki.free.fr/wiki/wakka.php?wiki=RechercheDate
Oups ! J'allais oublié de mentionner que l'auteur de ces lignes et le même
que l'auteur du papier ! Aurait-il un parti pris ? ;-))
"Jac" a écrit dans le message de news:
Bonjour à tous,
je cherche à me positionner dans un tableau qui contient toutes les
dates de l'année sur le jour actuel. Je reçois systématiquement une
erreur d'exécution 13 / Incompatibilité de type avec cette syntaxe :
[C:C].Find(What:Úte, After:¬tiveCell, LookIn:=xlValues).Activate
J'ai essayé de formater la date pour qu'elle soit identique au
formatage de la colonne C. Rien à faire. Si je mets Date en variable,
Excel l'affiche au même format la date qui existe dans le tableau.
Et maintenant, je manque d'imagination pour résoudre le problème...
Merci d'avance à qui pourrait me mettre sur la voie.
Jac
> Pour ce qui est de la méthode proposée par Frédéric Sigonneau, bien que
Quand tu recherches une date, ce n'est jamais facile...
si tu fais pas attention, les dates vont te donner des datttes !!!
;-)
Exemple : Les 2 méthodes proposées par JB... fonctiionne mais
tel que présentées, a condtion que dans les 2 cas le format
retenu dans la boîte de dialogue du menu / format / cellule / nombre ...
soit celui défini avec UN ASTÉRIX devant le format Que ce soit pour
la colonne du format court des dates ou du format long des dates dans
les cellules. Si dans ces cellules, il y avait un format personnalisé
utilisant
le même format que le format court ou long, les 2 procédures font couic (
adjectif fréquemment utilisé par AV). Un usager qui emploie ce type de
procédures....comment fait-il pour savoir de quelle nature est son probleme
lorsque les procédures plantes ? À titre de suggestion, JB devrait ajouter
à son classeur, une note explicative... De quoi je me mèle ? ;-))
Pour ce qui est de la méthode proposée par Frédéric Sigonneau, bien que
ce ne soit pas une erreur en soi, je me demande de la pertinence d'utiliser
la propriété Value2 de l'objet Range dans cette formule. Et dans le cas où
la date affichée dans la cellule provient d'une format de
ce type : =TEXTE("11/01/06";"JJ/MM/AA"), la méthode proposée ferait
aussi couic...;-)))
Conclusion : Faire une recherche d'une date, en se basant sur seulement
l'apparence de ce qu'il y a dans la plage de cellules n'est pas évident. Ce
n'est pas parce que dans une situation ça marche que la méthode proposée
est une panacée acceptable à toutes les situations.
Si tu veux lire un peu sur la méthode Find et Date, il y a quelqu'un qui a
écrit
un papier pas mal intéressant sur le sujet là :
http://xlwiki.free.fr/wiki/wakka.php?wiki=RechercheDate
Oups ! J'allais oublié de mentionner que l'auteur de ces lignes et le même
que l'auteur du papier ! Aurait-il un parti pris ? ;-))
"Jac" <Jsansp@mfra.net> a écrit dans le message de news:
mn.53937d88d1df8fdc.89607@mfra.net...
Bonjour à tous,
je cherche à me positionner dans un tableau qui contient toutes les
dates de l'année sur le jour actuel. Je reçois systématiquement une
erreur d'exécution 13 / Incompatibilité de type avec cette syntaxe :
[C:C].Find(What:Úte, After:¬tiveCell, LookIn:=xlValues).Activate
J'ai essayé de formater la date pour qu'elle soit identique au
formatage de la colonne C. Rien à faire. Si je mets Date en variable,
Excel l'affiche au même format la date qui existe dans le tableau.
Et maintenant, je manque d'imagination pour résoudre le problème...
Merci d'avance à qui pourrait me mettre sur la voie.
Jac
> Pour ce qui est de la méthode proposée par Frédéric Sigonneau, bien que
Quand tu recherches une date, ce n'est jamais facile...
si tu fais pas attention, les dates vont te donner des datttes !!!
;-)
Exemple : Les 2 méthodes proposées par JB... fonctiionne mais
tel que présentées, a condtion que dans les 2 cas le format
retenu dans la boîte de dialogue du menu / format / cellule / nombre ...
soit celui défini avec UN ASTÉRIX devant le format Que ce soit pour
la colonne du format court des dates ou du format long des dates dans
les cellules. Si dans ces cellules, il y avait un format personnalisé
utilisant
le même format que le format court ou long, les 2 procédures font couic (
adjectif fréquemment utilisé par AV). Un usager qui emploie ce type de
procédures....comment fait-il pour savoir de quelle nature est son probleme
lorsque les procédures plantes ? À titre de suggestion, JB devrait ajouter
à son classeur, une note explicative... De quoi je me mèle ? ;-))
Pour ce qui est de la méthode proposée par Frédéric Sigonneau, bien que
ce ne soit pas une erreur en soi, je me demande de la pertinence d'utiliser
la propriété Value2 de l'objet Range dans cette formule. Et dans le cas où
la date affichée dans la cellule provient d'une format de
ce type : =TEXTE("11/01/06";"JJ/MM/AA"), la méthode proposée ferait
aussi couic...;-)))
Conclusion : Faire une recherche d'une date, en se basant sur seulement
l'apparence de ce qu'il y a dans la plage de cellules n'est pas évident. Ce
n'est pas parce que dans une situation ça marche que la méthode proposée
est une panacée acceptable à toutes les situations.
Si tu veux lire un peu sur la méthode Find et Date, il y a quelqu'un qui a
écrit
un papier pas mal intéressant sur le sujet là :
http://xlwiki.free.fr/wiki/wakka.php?wiki=RechercheDate
Oups ! J'allais oublié de mentionner que l'auteur de ces lignes et le même
que l'auteur du papier ! Aurait-il un parti pris ? ;-))
"Jac" a écrit dans le message de news:
Bonjour à tous,
je cherche à me positionner dans un tableau qui contient toutes les
dates de l'année sur le jour actuel. Je reçois systématiquement une
erreur d'exécution 13 / Incompatibilité de type avec cette syntaxe :
[C:C].Find(What:Úte, After:¬tiveCell, LookIn:=xlValues).Activate
J'ai essayé de formater la date pour qu'elle soit identique au
formatage de la colonne C. Rien à faire. Si je mets Date en variable,
Excel l'affiche au même format la date qui existe dans le tableau.
Et maintenant, je manque d'imagination pour résoudre le problème...
Merci d'avance à qui pourrait me mettre sur la voie.
Jac
Et dans le cas où
Et dans le cas où
Et dans le cas où
> En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
| Je suis très sensible à ta bénédiction, maître Denis !
**** J'espère...! ;-)))Et dans le cas où
> la date affichée dans la cellule provient d'une format de
> ce type : =TEXTE("11/01/06";"JJ/MM/AA"), la méthode proposée ferait
> aussi couic...;-)))
| Ah, ben, évidemment ! Si on dit qu'on cherche une date mais qu'en réalité
il
| faut comprendre qu'on cherche du texte, c'est sûr que ça va pas marcher
**** L'objectif était de faire comprendre que de se fier sur ce qui est
affiché
dans la plage de cellules n'est pas suffisant pour qu'une procédure
donnée
fonctionne... cela s'inscrivait à la suite du commentaire fait sur la
proprosition de JB !
> je me demande de la pertinence d'utiliser
> la propriété Value2 de l'objet Range dans cette formule
Bonne demande en effet. La propriété Value2 est (injustement) méconnue, même
s'il est vrai qu'elle ne sert pas à grand-chose en dehors de ce cas de
figure.
| Sans compter qu'il faut penser que les objets ont des propriétés, ce que
| malheureusement la grande tolérance du langage VBA aux approximations
| syntaxiques de ses utilisateurs a tendance à leur faire oublier.
**** Tu as parfaitement raison sur ce point sauf que pour un novice il y a
des choses difficiles à comprendre. Exemple :
En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
lorsque l'on omet de nommer explicitement la propriété de l'objet à
laquelle
on fait référence (dans notre cas L'objet : "Range"), la procédure soumise
fonctionne rondement. Si j'utilise la propriété explicite ".Value" de
l'objet Range
dans la même procédure, le résultat est errronné. De là à conclure de la
non-nécessité d'utiliser la propriété .Value2, il n'y a qu'un pas.
Je ne conteste pas le brio de ton explication et la clarté de ton code avec
".value2"
mais je voulais simplement dire à l'ami Jac que "Juste à voir... on voit
bien ...." est loin
d'être évident... et qu'il faut souvent gratter un peu pour en saisir la
quintescence.
'-------------------------
Sub test()
Dim LaDate As Date, X
LaDate = CDate("14/08/2008")
X = Application.Match(CLng(LaDate), Range("A1:A25"), 0)
End Sub
'-------------------------
Salutations!
P.S- C'est un plaisir d'avoir ce type de discussion.
> En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
| Je suis très sensible à ta bénédiction, maître Denis !
**** J'espère...! ;-)))
Et dans le cas où
> la date affichée dans la cellule provient d'une format de
> ce type : =TEXTE("11/01/06";"JJ/MM/AA"), la méthode proposée ferait
> aussi couic...;-)))
| Ah, ben, évidemment ! Si on dit qu'on cherche une date mais qu'en réalité
il
| faut comprendre qu'on cherche du texte, c'est sûr que ça va pas marcher
**** L'objectif était de faire comprendre que de se fier sur ce qui est
affiché
dans la plage de cellules n'est pas suffisant pour qu'une procédure
donnée
fonctionne... cela s'inscrivait à la suite du commentaire fait sur la
proprosition de JB !
> je me demande de la pertinence d'utiliser
> la propriété Value2 de l'objet Range dans cette formule
Bonne demande en effet. La propriété Value2 est (injustement) méconnue, même
s'il est vrai qu'elle ne sert pas à grand-chose en dehors de ce cas de
figure.
| Sans compter qu'il faut penser que les objets ont des propriétés, ce que
| malheureusement la grande tolérance du langage VBA aux approximations
| syntaxiques de ses utilisateurs a tendance à leur faire oublier.
**** Tu as parfaitement raison sur ce point sauf que pour un novice il y a
des choses difficiles à comprendre. Exemple :
En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
lorsque l'on omet de nommer explicitement la propriété de l'objet à
laquelle
on fait référence (dans notre cas L'objet : "Range"), la procédure soumise
fonctionne rondement. Si j'utilise la propriété explicite ".Value" de
l'objet Range
dans la même procédure, le résultat est errronné. De là à conclure de la
non-nécessité d'utiliser la propriété .Value2, il n'y a qu'un pas.
Je ne conteste pas le brio de ton explication et la clarté de ton code avec
".value2"
mais je voulais simplement dire à l'ami Jac que "Juste à voir... on voit
bien ...." est loin
d'être évident... et qu'il faut souvent gratter un peu pour en saisir la
quintescence.
'-------------------------
Sub test()
Dim LaDate As Date, X
LaDate = CDate("14/08/2008")
X = Application.Match(CLng(LaDate), Range("A1:A25"), 0)
End Sub
'-------------------------
Salutations!
P.S- C'est un plaisir d'avoir ce type de discussion.
> En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
| Je suis très sensible à ta bénédiction, maître Denis !
**** J'espère...! ;-)))Et dans le cas où
> la date affichée dans la cellule provient d'une format de
> ce type : =TEXTE("11/01/06";"JJ/MM/AA"), la méthode proposée ferait
> aussi couic...;-)))
| Ah, ben, évidemment ! Si on dit qu'on cherche une date mais qu'en réalité
il
| faut comprendre qu'on cherche du texte, c'est sûr que ça va pas marcher
**** L'objectif était de faire comprendre que de se fier sur ce qui est
affiché
dans la plage de cellules n'est pas suffisant pour qu'une procédure
donnée
fonctionne... cela s'inscrivait à la suite du commentaire fait sur la
proprosition de JB !
> je me demande de la pertinence d'utiliser
> la propriété Value2 de l'objet Range dans cette formule
Bonne demande en effet. La propriété Value2 est (injustement) méconnue, même
s'il est vrai qu'elle ne sert pas à grand-chose en dehors de ce cas de
figure.
| Sans compter qu'il faut penser que les objets ont des propriétés, ce que
| malheureusement la grande tolérance du langage VBA aux approximations
| syntaxiques de ses utilisateurs a tendance à leur faire oublier.
**** Tu as parfaitement raison sur ce point sauf que pour un novice il y a
des choses difficiles à comprendre. Exemple :
En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
lorsque l'on omet de nommer explicitement la propriété de l'objet à
laquelle
on fait référence (dans notre cas L'objet : "Range"), la procédure soumise
fonctionne rondement. Si j'utilise la propriété explicite ".Value" de
l'objet Range
dans la même procédure, le résultat est errronné. De là à conclure de la
non-nécessité d'utiliser la propriété .Value2, il n'y a qu'un pas.
Je ne conteste pas le brio de ton explication et la clarté de ton code avec
".value2"
mais je voulais simplement dire à l'ami Jac que "Juste à voir... on voit
bien ...." est loin
d'être évident... et qu'il faut souvent gratter un peu pour en saisir la
quintescence.
'-------------------------
Sub test()
Dim LaDate As Date, X
LaDate = CDate("14/08/2008")
X = Application.Match(CLng(LaDate), Range("A1:A25"), 0)
End Sub
'-------------------------
Salutations!
P.S- C'est un plaisir d'avoir ce type de discussion.
En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
| Je suis très sensible à ta bénédiction, maître Denis !
**** J'espère...! ;-)))Et dans le cas où
> la date affichée dans la cellule provient d'une format de
> ce type : =TEXTE("11/01/06";"JJ/MM/AA"), la méthode proposée ferait
> aussi couic...;-)))
| Ah, ben, évidemment ! Si on dit qu'on cherche une date mais qu'en
réalité
il
| faut comprendre qu'on cherche du texte, c'est sûr que ça va pas marcher
**** L'objectif était de faire comprendre que de se fier sur ce qui est
affiché
dans la plage de cellules n'est pas suffisant pour qu'une procédure
donnée
fonctionne... cela s'inscrivait à la suite du commentaire fait sur
la
proprosition de JB !
> je me demande de la pertinence d'utiliser
> la propriété Value2 de l'objet Range dans cette formule
Bonne demande en effet. La propriété Value2 est (injustement) méconnue,
même
s'il est vrai qu'elle ne sert pas à grand-chose en dehors de ce cas de
figure.
| Sans compter qu'il faut penser que les objets ont des propriétés, ce que
| malheureusement la grande tolérance du langage VBA aux approximations
| syntaxiques de ses utilisateurs a tendance à leur faire oublier.
**** Tu as parfaitement raison sur ce point sauf que pour un novice il y a
des choses difficiles à comprendre. Exemple :
En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
lorsque l'on omet de nommer explicitement la propriété de l'objet à
laquelle
on fait référence (dans notre cas L'objet : "Range"), la procédure soumise
fonctionne rondement. Si j'utilise la propriété explicite ".Value" de
l'objet Range
dans la même procédure, le résultat est errronné. De là à conclure de la
non-nécessité d'utiliser la propriété .Value2, il n'y a qu'un pas.
Je ne conteste pas le brio de ton explication et la clarté de ton code
avec
".value2"
mais je voulais simplement dire à l'ami Jac que "Juste à voir... on voit
bien ...." est loin
d'être évident... et qu'il faut souvent gratter un peu pour en saisir la
quintescence.
'-------------------------
Sub test()
Dim LaDate As Date, X
LaDate = CDate("14/08/2008")
X = Application.Match(CLng(LaDate), Range("A1:A25"), 0)
End Sub
'-------------------------
Salutations!
P.S- C'est un plaisir d'avoir ce type de discussion.
En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
| Je suis très sensible à ta bénédiction, maître Denis !
**** J'espère...! ;-)))
Et dans le cas où
> la date affichée dans la cellule provient d'une format de
> ce type : =TEXTE("11/01/06";"JJ/MM/AA"), la méthode proposée ferait
> aussi couic...;-)))
| Ah, ben, évidemment ! Si on dit qu'on cherche une date mais qu'en
réalité
il
| faut comprendre qu'on cherche du texte, c'est sûr que ça va pas marcher
**** L'objectif était de faire comprendre que de se fier sur ce qui est
affiché
dans la plage de cellules n'est pas suffisant pour qu'une procédure
donnée
fonctionne... cela s'inscrivait à la suite du commentaire fait sur
la
proprosition de JB !
> je me demande de la pertinence d'utiliser
> la propriété Value2 de l'objet Range dans cette formule
Bonne demande en effet. La propriété Value2 est (injustement) méconnue,
même
s'il est vrai qu'elle ne sert pas à grand-chose en dehors de ce cas de
figure.
| Sans compter qu'il faut penser que les objets ont des propriétés, ce que
| malheureusement la grande tolérance du langage VBA aux approximations
| syntaxiques de ses utilisateurs a tendance à leur faire oublier.
**** Tu as parfaitement raison sur ce point sauf que pour un novice il y a
des choses difficiles à comprendre. Exemple :
En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
lorsque l'on omet de nommer explicitement la propriété de l'objet à
laquelle
on fait référence (dans notre cas L'objet : "Range"), la procédure soumise
fonctionne rondement. Si j'utilise la propriété explicite ".Value" de
l'objet Range
dans la même procédure, le résultat est errronné. De là à conclure de la
non-nécessité d'utiliser la propriété .Value2, il n'y a qu'un pas.
Je ne conteste pas le brio de ton explication et la clarté de ton code
avec
".value2"
mais je voulais simplement dire à l'ami Jac que "Juste à voir... on voit
bien ...." est loin
d'être évident... et qu'il faut souvent gratter un peu pour en saisir la
quintescence.
'-------------------------
Sub test()
Dim LaDate As Date, X
LaDate = CDate("14/08/2008")
X = Application.Match(CLng(LaDate), Range("A1:A25"), 0)
End Sub
'-------------------------
Salutations!
P.S- C'est un plaisir d'avoir ce type de discussion.
En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
| Je suis très sensible à ta bénédiction, maître Denis !
**** J'espère...! ;-)))Et dans le cas où
> la date affichée dans la cellule provient d'une format de
> ce type : =TEXTE("11/01/06";"JJ/MM/AA"), la méthode proposée ferait
> aussi couic...;-)))
| Ah, ben, évidemment ! Si on dit qu'on cherche une date mais qu'en
réalité
il
| faut comprendre qu'on cherche du texte, c'est sûr que ça va pas marcher
**** L'objectif était de faire comprendre que de se fier sur ce qui est
affiché
dans la plage de cellules n'est pas suffisant pour qu'une procédure
donnée
fonctionne... cela s'inscrivait à la suite du commentaire fait sur
la
proprosition de JB !
> je me demande de la pertinence d'utiliser
> la propriété Value2 de l'objet Range dans cette formule
Bonne demande en effet. La propriété Value2 est (injustement) méconnue,
même
s'il est vrai qu'elle ne sert pas à grand-chose en dehors de ce cas de
figure.
| Sans compter qu'il faut penser que les objets ont des propriétés, ce que
| malheureusement la grande tolérance du langage VBA aux approximations
| syntaxiques de ses utilisateurs a tendance à leur faire oublier.
**** Tu as parfaitement raison sur ce point sauf que pour un novice il y a
des choses difficiles à comprendre. Exemple :
En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
lorsque l'on omet de nommer explicitement la propriété de l'objet à
laquelle
on fait référence (dans notre cas L'objet : "Range"), la procédure soumise
fonctionne rondement. Si j'utilise la propriété explicite ".Value" de
l'objet Range
dans la même procédure, le résultat est errronné. De là à conclure de la
non-nécessité d'utiliser la propriété .Value2, il n'y a qu'un pas.
Je ne conteste pas le brio de ton explication et la clarté de ton code
avec
".value2"
mais je voulais simplement dire à l'ami Jac que "Juste à voir... on voit
bien ...." est loin
d'être évident... et qu'il faut souvent gratter un peu pour en saisir la
quintescence.
'-------------------------
Sub test()
Dim LaDate As Date, X
LaDate = CDate("14/08/2008")
X = Application.Match(CLng(LaDate), Range("A1:A25"), 0)
End Sub
'-------------------------
Salutations!
P.S- C'est un plaisir d'avoir ce type de discussion.
En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
| Je suis très sensible à ta bénédiction, maître Denis !
**** J'espère...! ;-)))Et dans le cas où
> la date affichée dans la cellule provient d'une format de
> ce type : =TEXTE("11/01/06";"JJ/MM/AA"), la méthode proposée ferait
> aussi couic...;-)))
| Ah, ben, évidemment ! Si on dit qu'on cherche une date mais qu'en
réalité
il
| faut comprendre qu'on cherche du texte, c'est sûr que ça va pas marcher
**** L'objectif était de faire comprendre que de se fier sur ce qui est
affiché
dans la plage de cellules n'est pas suffisant pour qu'une procédure
donnée
fonctionne... cela s'inscrivait à la suite du commentaire fait sur
la
proprosition de JB !
> je me demande de la pertinence d'utiliser
> la propriété Value2 de l'objet Range dans cette formule
Bonne demande en effet. La propriété Value2 est (injustement) méconnue,
même
s'il est vrai qu'elle ne sert pas à grand-chose en dehors de ce cas de
figure.
| Sans compter qu'il faut penser que les objets ont des propriétés, ce que
| malheureusement la grande tolérance du langage VBA aux approximations
| syntaxiques de ses utilisateurs a tendance à leur faire oublier.
**** Tu as parfaitement raison sur ce point sauf que pour un novice il y a
des choses difficiles à comprendre. Exemple :
En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
lorsque l'on omet de nommer explicitement la propriété de l'objet à
laquelle
on fait référence (dans notre cas L'objet : "Range"), la procédure soumise
fonctionne rondement. Si j'utilise la propriété explicite ".Value" de
l'objet Range
dans la même procédure, le résultat est errronné. De là à conclure de la
non-nécessité d'utiliser la propriété .Value2, il n'y a qu'un pas.
Je ne conteste pas le brio de ton explication et la clarté de ton code
avec
".value2"
mais je voulais simplement dire à l'ami Jac que "Juste à voir... on voit
bien ...." est loin
d'être évident... et qu'il faut souvent gratter un peu pour en saisir la
quintescence.
'-------------------------
Sub test()
Dim LaDate As Date, X
LaDate = CDate("14/08/2008")
X = Application.Match(CLng(LaDate), Range("A1:A25"), 0)
End Sub
'-------------------------
Salutations!
P.S- C'est un plaisir d'avoir ce type de discussion.
En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
| Je suis très sensible à ta bénédiction, maître Denis !
**** J'espère...! ;-)))
Et dans le cas où
> la date affichée dans la cellule provient d'une format de
> ce type : =TEXTE("11/01/06";"JJ/MM/AA"), la méthode proposée ferait
> aussi couic...;-)))
| Ah, ben, évidemment ! Si on dit qu'on cherche une date mais qu'en
réalité
il
| faut comprendre qu'on cherche du texte, c'est sûr que ça va pas marcher
**** L'objectif était de faire comprendre que de se fier sur ce qui est
affiché
dans la plage de cellules n'est pas suffisant pour qu'une procédure
donnée
fonctionne... cela s'inscrivait à la suite du commentaire fait sur
la
proprosition de JB !
> je me demande de la pertinence d'utiliser
> la propriété Value2 de l'objet Range dans cette formule
Bonne demande en effet. La propriété Value2 est (injustement) méconnue,
même
s'il est vrai qu'elle ne sert pas à grand-chose en dehors de ce cas de
figure.
| Sans compter qu'il faut penser que les objets ont des propriétés, ce que
| malheureusement la grande tolérance du langage VBA aux approximations
| syntaxiques de ses utilisateurs a tendance à leur faire oublier.
**** Tu as parfaitement raison sur ce point sauf que pour un novice il y a
des choses difficiles à comprendre. Exemple :
En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
lorsque l'on omet de nommer explicitement la propriété de l'objet à
laquelle
on fait référence (dans notre cas L'objet : "Range"), la procédure soumise
fonctionne rondement. Si j'utilise la propriété explicite ".Value" de
l'objet Range
dans la même procédure, le résultat est errronné. De là à conclure de la
non-nécessité d'utiliser la propriété .Value2, il n'y a qu'un pas.
Je ne conteste pas le brio de ton explication et la clarté de ton code
avec
".value2"
mais je voulais simplement dire à l'ami Jac que "Juste à voir... on voit
bien ...." est loin
d'être évident... et qu'il faut souvent gratter un peu pour en saisir la
quintescence.
'-------------------------
Sub test()
Dim LaDate As Date, X
LaDate = CDate("14/08/2008")
X = Application.Match(CLng(LaDate), Range("A1:A25"), 0)
End Sub
'-------------------------
Salutations!
P.S- C'est un plaisir d'avoir ce type de discussion.
En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
| Je suis très sensible à ta bénédiction, maître Denis !
**** J'espère...! ;-)))Et dans le cas où
> la date affichée dans la cellule provient d'une format de
> ce type : =TEXTE("11/01/06";"JJ/MM/AA"), la méthode proposée ferait
> aussi couic...;-)))
| Ah, ben, évidemment ! Si on dit qu'on cherche une date mais qu'en
réalité
il
| faut comprendre qu'on cherche du texte, c'est sûr que ça va pas marcher
**** L'objectif était de faire comprendre que de se fier sur ce qui est
affiché
dans la plage de cellules n'est pas suffisant pour qu'une procédure
donnée
fonctionne... cela s'inscrivait à la suite du commentaire fait sur
la
proprosition de JB !
> je me demande de la pertinence d'utiliser
> la propriété Value2 de l'objet Range dans cette formule
Bonne demande en effet. La propriété Value2 est (injustement) méconnue,
même
s'il est vrai qu'elle ne sert pas à grand-chose en dehors de ce cas de
figure.
| Sans compter qu'il faut penser que les objets ont des propriétés, ce que
| malheureusement la grande tolérance du langage VBA aux approximations
| syntaxiques de ses utilisateurs a tendance à leur faire oublier.
**** Tu as parfaitement raison sur ce point sauf que pour un novice il y a
des choses difficiles à comprendre. Exemple :
En supposant que dans la plage A1:A25, on a des dates reconnues par excel,
lorsque l'on omet de nommer explicitement la propriété de l'objet à
laquelle
on fait référence (dans notre cas L'objet : "Range"), la procédure soumise
fonctionne rondement. Si j'utilise la propriété explicite ".Value" de
l'objet Range
dans la même procédure, le résultat est errronné. De là à conclure de la
non-nécessité d'utiliser la propriété .Value2, il n'y a qu'un pas.
Je ne conteste pas le brio de ton explication et la clarté de ton code
avec
".value2"
mais je voulais simplement dire à l'ami Jac que "Juste à voir... on voit
bien ...." est loin
d'être évident... et qu'il faut souvent gratter un peu pour en saisir la
quintescence.
'-------------------------
Sub test()
Dim LaDate As Date, X
LaDate = CDate("14/08/2008")
X = Application.Match(CLng(LaDate), Range("A1:A25"), 0)
End Sub
'-------------------------
Salutations!
P.S- C'est un plaisir d'avoir ce type de discussion.