problème de manipulation de dates Deuxième

Le
Didierd9201
Bonjour à tous,
J'ai déja posté ma question hier, mais étant plus habitué à lire dans les
forum qu'à y poster, j'ai comis une erreur de manipulation et n'ai pas pu
répondre à Daniel qui me demandait des précisions j'espére que d'autres
attendaient également ces précisions.
Toutes mes excuses à Daniel pour avoir squatté sa BAL

Voici ma question à laquelle j'ai ajouté mon code:

Dans un appli Excell2003, j'ai un userform dans lequel on peut choisir une
date via un controle calendrier, (format "Vendredi 20 Avril 2007"), dans une
feuille Excell, j'ai des cellules qui contiennent des dates dans le même
format.
Lorsque je veux comparer via VBA la date choisie dans le userform avec
celles de la feuille de calcul, j'ai une incompatibilité de types: la date
du userform est stockée dans sa variable sous la forme "#20/04/2007#" et la
variable destinée à la date de la feuille de calcul atend une valeur sous la
forme heure ("#0:00:00#" )alors qu'elle est déclarée come variable date.
j'ai essayé de changer ces dates en nombre,mais je n'arrive à rien.
La date de la feuille de calcul ne veut être stockée que dans une variable
string.

Private Sub OKBtn_Click()
Dim jour, Dte As Date
' recherche du jour dans la feuille réservations.
jour = DateJour.Value 'contrôle calendrier du formulaire,format:
0-DTPLongdate

Worksheets("Réservations").Activate
l = 3 'une des ligne des dates

For c = 8 To 78 Step 7 'Colonnes des dates
Cells(l, c).Select 'celulle contenant une date format *mercredi 14 mars
2001
Dte = Selection.Value
If Dte = jour Then t = 1: Exit For
' action réélle: mise en mémoire pour insertion dans un document.
'je n'ai pas encore créé cette partie du code, préférant tester celle-ci
pour
'être sûr de la localisation de mes celulles.
Next
End Sub

Quelqu'un(e) pourrait-il (elle) me dépanner SVP ?
merci d'avance
Didier
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4465711
Bonjour.
A priori, je ne vois rien d'anormal. Essaie sans passer par une variable
intermédiaire :
If Activecell.Value = jour Then t = 1: Exit For
Si le problème persiste, peux-tu mettre ton classeur sur www.cjoint.com en
effaçant les données confidentielles.
Poste en retour l'adresse générée.
Daniel
"Didierd9201" 4629d6fd$0$13862$
Bonjour à tous,
J'ai déja posté ma question hier, mais étant plus habitué à lire dans les
forum qu'à y poster, j'ai comis une erreur de manipulation et n'ai pas pu
répondre à Daniel qui me demandait des précisions j'espére que d'autres
attendaient également ces précisions.
Toutes mes excuses à Daniel pour avoir squatté sa BAL

Voici ma question à laquelle j'ai ajouté mon code:

Dans un appli Excell2003, j'ai un userform dans lequel on peut choisir une
date via un controle calendrier, (format "Vendredi 20 Avril 2007"), dans
une
feuille Excell, j'ai des cellules qui contiennent des dates dans le même
format.
Lorsque je veux comparer via VBA la date choisie dans le userform avec
celles de la feuille de calcul, j'ai une incompatibilité de types: la date
du userform est stockée dans sa variable sous la forme "#20/04/2007#" et
la
variable destinée à la date de la feuille de calcul atend une valeur sous
la
forme heure ("#0:00:00#" )alors qu'elle est déclarée come variable date.
j'ai essayé de changer ces dates en nombre,mais je n'arrive à rien.
La date de la feuille de calcul ne veut être stockée que dans une variable
string.

Private Sub OKBtn_Click()
Dim jour, Dte As Date
' recherche du jour dans la feuille réservations.
jour = DateJour.Value 'contrôle calendrier du formulaire,format:
0-DTPLongdate

Worksheets("Réservations").Activate
l = 3 'une des ligne des dates

For c = 8 To 78 Step 7 'Colonnes des dates
Cells(l, c).Select 'celulle contenant une date format *mercredi 14
mars 2001
Dte = Selection.Value
If Dte = jour Then t = 1: Exit For
' action réélle: mise en mémoire pour insertion dans un document.
'je n'ai pas encore créé cette partie du code, préférant tester celle-ci
pour
'être sûr de la localisation de mes celulles.
Next
End Sub

Quelqu'un(e) pourrait-il (elle) me dépanner SVP ?
merci d'avance
Didier



Didierd9201
Le #4465471
Bonjour Daniel,
merci pour le conseil, je me suis empréssé de le suivre, mais cela ne
fonctionne toujours pas.
En réalité, j'ai créé cette variable lorsque j'ai vu que cela ne
fonctionnait pas, pour me permettre le contrôle lors du débogage pas à pas.
voici l'adresse cjoint: http://cjoint.com/?evtBvKxJ5L
même si mon problème n'est pas résolu, j'aurai au moins appris cela ;o))

didier

"Daniel"
Bonjour.
A priori, je ne vois rien d'anormal. Essaie sans passer par une variable
intermédiaire :
If Activecell.Value = jour Then t = 1: Exit For
Si le problème persiste, peux-tu mettre ton classeur sur www.cjoint.com en
effaçant les données confidentielles.
Poste en retour l'adresse générée.
Daniel
"Didierd9201" 4629d6fd$0$13862$
Bonjour à tous,
J'ai déja posté ma question hier, mais étant plus habitué à lire dans les
forum qu'à y poster, j'ai comis une erreur de manipulation et n'ai pas pu
répondre à Daniel qui me demandait des précisions j'espére que d'autres
attendaient également ces précisions.
Toutes mes excuses à Daniel pour avoir squatté sa BAL

Voici ma question à laquelle j'ai ajouté mon code:

Dans un appli Excell2003, j'ai un userform dans lequel on peut choisir
une
date via un controle calendrier, (format "Vendredi 20 Avril 2007"), dans
une
feuille Excell, j'ai des cellules qui contiennent des dates dans le même
format.
Lorsque je veux comparer via VBA la date choisie dans le userform avec
celles de la feuille de calcul, j'ai une incompatibilité de types: la
date
du userform est stockée dans sa variable sous la forme "#20/04/2007#" et
la
variable destinée à la date de la feuille de calcul atend une valeur sous
la
forme heure ("#0:00:00#" )alors qu'elle est déclarée come variable date.
j'ai essayé de changer ces dates en nombre,mais je n'arrive à rien.
La date de la feuille de calcul ne veut être stockée que dans une
variable
string.

Private Sub OKBtn_Click()
Dim jour, Dte As Date
' recherche du jour dans la feuille réservations.
jour = DateJour.Value 'contrôle calendrier du formulaire,format:
0-DTPLongdate

Worksheets("Réservations").Activate
l = 3 'une des ligne des dates

For c = 8 To 78 Step 7 'Colonnes des dates
Cells(l, c).Select 'celulle contenant une date format *mercredi 14
mars 2001
Dte = Selection.Value
If Dte = jour Then t = 1: Exit For
' action réélle: mise en mémoire pour insertion dans un document.
'je n'ai pas encore créé cette partie du code, préférant tester celle-ci
pour
'être sûr de la localisation de mes celulles.
Next
End Sub

Quelqu'un(e) pourrait-il (elle) me dépanner SVP ?
merci d'avance
Didier







Daniel
Le #4465341
En fait, c'est plus simple que je ne le pensais.
La cellule C3, la première à poser problème contient du texte, bien que son
format soit date. Tu te positionnes dessus, tu cliques sur Insertion / Lien
hypertexte et tu vois que le texte à afficher est "Vendredi 14 décembre
2007". Tu peux le constater en exécution lligne à ligne en ajoutant
var¬tivecell.value.
Tu lis dans la fenêtre des variables que "var" est de type Variant / String.
Bonne soirée.
Daniel
"Didierd9201" 462a4aca$0$13852$
Bonjour Daniel,
merci pour le conseil, je me suis empréssé de le suivre, mais cela ne
fonctionne toujours pas.
En réalité, j'ai créé cette variable lorsque j'ai vu que cela ne
fonctionnait pas, pour me permettre le contrôle lors du débogage pas à
pas.
voici l'adresse cjoint: http://cjoint.com/?evtBvKxJ5L
même si mon problème n'est pas résolu, j'aurai au moins appris cela ;o))

didier

"Daniel"
Bonjour.
A priori, je ne vois rien d'anormal. Essaie sans passer par une variable
intermédiaire :
If Activecell.Value = jour Then t = 1: Exit For
Si le problème persiste, peux-tu mettre ton classeur sur www.cjoint.com
en effaçant les données confidentielles.
Poste en retour l'adresse générée.
Daniel
"Didierd9201" 4629d6fd$0$13862$
Bonjour à tous,
J'ai déja posté ma question hier, mais étant plus habitué à lire dans
les forum qu'à y poster, j'ai comis une erreur de manipulation et n'ai
pas pu répondre à Daniel qui me demandait des précisions j'espére que
d'autres attendaient également ces précisions.
Toutes mes excuses à Daniel pour avoir squatté sa BAL

Voici ma question à laquelle j'ai ajouté mon code:

Dans un appli Excell2003, j'ai un userform dans lequel on peut choisir
une
date via un controle calendrier, (format "Vendredi 20 Avril 2007"), dans
une
feuille Excell, j'ai des cellules qui contiennent des dates dans le même
format.
Lorsque je veux comparer via VBA la date choisie dans le userform avec
celles de la feuille de calcul, j'ai une incompatibilité de types: la
date
du userform est stockée dans sa variable sous la forme "#20/04/2007#" et
la
variable destinée à la date de la feuille de calcul atend une valeur
sous la
forme heure ("#0:00:00#" )alors qu'elle est déclarée come variable date.
j'ai essayé de changer ces dates en nombre,mais je n'arrive à rien.
La date de la feuille de calcul ne veut être stockée que dans une
variable
string.

Private Sub OKBtn_Click()
Dim jour, Dte As Date
' recherche du jour dans la feuille réservations.
jour = DateJour.Value 'contrôle calendrier du formulaire,format:
0-DTPLongdate

Worksheets("Réservations").Activate
l = 3 'une des ligne des dates

For c = 8 To 78 Step 7 'Colonnes des dates
Cells(l, c).Select 'celulle contenant une date format *mercredi 14
mars 2001
Dte = Selection.Value
If Dte = jour Then t = 1: Exit For
' action réélle: mise en mémoire pour insertion dans un document.
'je n'ai pas encore créé cette partie du code, préférant tester celle-ci
pour
'être sûr de la localisation de mes celulles.
Next
End Sub

Quelqu'un(e) pourrait-il (elle) me dépanner SVP ?
merci d'avance
Didier











Didierd9201
Le #4465291
Impeccable, c'était le coup de pouce qu'il me manquait!
Un grand merci

Bonne soirée à toi également;
Didier

"Daniel"
En fait, c'est plus simple que je ne le pensais.
La cellule C3, la première à poser problème contient du texte, bien que
son format soit date. Tu te positionnes dessus, tu cliques sur Insertion /
Lien hypertexte et tu vois que le texte à afficher est "Vendredi 14
décembre 2007". Tu peux le constater en exécution lligne à ligne en
ajoutant var¬tivecell.value.
Tu lis dans la fenêtre des variables que "var" est de type Variant /
String.
Bonne soirée.
Daniel
"Didierd9201" 462a4aca$0$13852$
Bonjour Daniel,
merci pour le conseil, je me suis empréssé de le suivre, mais cela ne
fonctionne toujours pas.
En réalité, j'ai créé cette variable lorsque j'ai vu que cela ne
fonctionnait pas, pour me permettre le contrôle lors du débogage pas à
pas.
voici l'adresse cjoint: http://cjoint.com/?evtBvKxJ5L
même si mon problème n'est pas résolu, j'aurai au moins appris cela ;o))

didier

"Daniel"
Bonjour.
A priori, je ne vois rien d'anormal. Essaie sans passer par une variable
intermédiaire :
If Activecell.Value = jour Then t = 1: Exit For
Si le problème persiste, peux-tu mettre ton classeur sur www.cjoint.com
en effaçant les données confidentielles.
Poste en retour l'adresse générée.
Daniel
"Didierd9201" 4629d6fd$0$13862$
Bonjour à tous,
J'ai déja posté ma question hier, mais étant plus habitué à lire dans
les forum qu'à y poster, j'ai comis une erreur de manipulation et n'ai
pas pu répondre à Daniel qui me demandait des précisions j'espére que
d'autres attendaient également ces précisions.
Toutes mes excuses à Daniel pour avoir squatté sa BAL

Voici ma question à laquelle j'ai ajouté mon code:

Dans un appli Excell2003, j'ai un userform dans lequel on peut choisir
une
date via un controle calendrier, (format "Vendredi 20 Avril 2007"),
dans une
feuille Excell, j'ai des cellules qui contiennent des dates dans le
même
format.
Lorsque je veux comparer via VBA la date choisie dans le userform avec
celles de la feuille de calcul, j'ai une incompatibilité de types: la
date
du userform est stockée dans sa variable sous la forme "#20/04/2007#"
et la
variable destinée à la date de la feuille de calcul atend une valeur
sous la
forme heure ("#0:00:00#" )alors qu'elle est déclarée come variable
date.
j'ai essayé de changer ces dates en nombre,mais je n'arrive à rien.
La date de la feuille de calcul ne veut être stockée que dans une
variable
string.

Private Sub OKBtn_Click()
Dim jour, Dte As Date
' recherche du jour dans la feuille réservations.
jour = DateJour.Value 'contrôle calendrier du formulaire,format:
0-DTPLongdate

Worksheets("Réservations").Activate
l = 3 'une des ligne des dates

For c = 8 To 78 Step 7 'Colonnes des dates
Cells(l, c).Select 'celulle contenant une date format *mercredi 14
mars 2001
Dte = Selection.Value
If Dte = jour Then t = 1: Exit For
' action réélle: mise en mémoire pour insertion dans un document.
'je n'ai pas encore créé cette partie du code, préférant tester
celle-ci pour
'être sûr de la localisation de mes celulles.
Next
End Sub

Quelqu'un(e) pourrait-il (elle) me dépanner SVP ?
merci d'avance
Didier















Publicité
Poster une réponse
Anonyme