OVH Cloud OVH Cloud

Chercher dans liste par date

4 réponses
Avatar
Bomber
Bonjour à tous,

J'ai un userform (nommé "modifsaisie") avec à l'intérieur une listbox(nommée
"affichedonnee"), je souhaiterai qu'en entrant une date dans une textbox
(nommé "chercherpardate") puis en cliquant sur un commandbutton les lignes
correspondant à la date choisie s'affichent dans ma listbox. Toutes les
dates sont dans une même colonne ("A").
Avant j'utilisais ce code mais depuis que je force mes dates à se mettre
sous le format jj/mm/yyyy il ne marche plus...

Merci d'avance pour votre aide

With affichedonnee

.Clear

For i = 1 To UBound(tablo)
For j = 1 To UBound(tablo, 2)
If tablo(i, j) = chercherpardate Then
.AddItem tablo(i, 1)
For k = 1 To UBound(tablo, 2)
.List(.ListCount - 1, k - 1) = tablo(i, k)
Next k
End If
Next j
Next i

End With

4 réponses

Avatar
michdenis
Bonjour Bomber,

As- tu essayé ceci :
Modifie cette ligne de code ...
If tablo(i, j) = chercherpardate Then

Pour

If cdate(tablo(i, j))= cdate(chercherpardate) Then


Salutations!




"Bomber" a écrit dans le message de news:
Bonjour à tous,

J'ai un userform (nommé "modifsaisie") avec à l'intérieur une listbox(nommée
"affichedonnee"), je souhaiterai qu'en entrant une date dans une textbox
(nommé "chercherpardate") puis en cliquant sur un commandbutton les lignes
correspondant à la date choisie s'affichent dans ma listbox. Toutes les
dates sont dans une même colonne ("A").
Avant j'utilisais ce code mais depuis que je force mes dates à se mettre
sous le format jj/mm/yyyy il ne marche plus...

Merci d'avance pour votre aide

With affichedonnee

.Clear

For i = 1 To UBound(tablo)
For j = 1 To UBound(tablo, 2)
If tablo(i, j) = chercherpardate Then
.AddItem tablo(i, 1)
For k = 1 To UBound(tablo, 2)
.List(.ListCount - 1, k - 1) = tablo(i, k)
Next k
End If
Next j
Next i

End With
Avatar
Bomber
Bonjour à tous, Michel,

J'ai fait les modifications mais le problème c'est que j'ai un message de
type "erreur d'exécution 13" "Incompabilité de type" quand je fais ma
recherche.
Est-ce que cela peut venir du fait que seule la première colonne ("A")
contient une date?

Cordialement!

"michdenis" a écrit dans le message de news:

Bonjour Bomber,

As- tu essayé ceci :
Modifie cette ligne de code ...
If tablo(i, j) = chercherpardate Then

Pour

If cdate(tablo(i, j))= cdate(chercherpardate) Then


Salutations!




"Bomber" a écrit dans le message de news:

Bonjour à tous,

J'ai un userform (nommé "modifsaisie") avec à l'intérieur une
listbox(nommée
"affichedonnee"), je souhaiterai qu'en entrant une date dans une textbox
(nommé "chercherpardate") puis en cliquant sur un commandbutton les lignes
correspondant à la date choisie s'affichent dans ma listbox. Toutes les
dates sont dans une même colonne ("A").
Avant j'utilisais ce code mais depuis que je force mes dates à se mettre
sous le format jj/mm/yyyy il ne marche plus...

Merci d'avance pour votre aide

With affichedonnee

.Clear

For i = 1 To UBound(tablo)
For j = 1 To UBound(tablo, 2)
If tablo(i, j) = chercherpardate Then
.AddItem tablo(i, 1)
For k = 1 To UBound(tablo, 2)
.List(.ListCount - 1, k - 1) = tablo(i, k)
Next k
End If
Next j
Next i

End With





Avatar
michdenis
Bonjour Bomber,

Tu as publié seulement un bout du code de ta procédure ...
De quelle recherche parles-tu ? Comment est-elle effectuée ?

Quelle est la ligne de code mise en surbrillance lorsque tu exécutes ton code
et que l'erreur est générée ?

Est-ce que la valeur de ton textbox est réellement reconnu comme un format
date valide par excel ? Cette donnée est de type "Texte". Comment dis-tu
au "vba" de ton code, que c'est une date sans que vba se méprenne sur
la valeur de cette dernière ?


Salutations!



"Bomber" a écrit dans le message de news: %23NK2E$
Bonjour à tous, Michel,

J'ai fait les modifications mais le problème c'est que j'ai un message de
type "erreur d'exécution 13" "Incompabilité de type" quand je fais ma
recherche.
Est-ce que cela peut venir du fait que seule la première colonne ("A")
contient une date?

Cordialement!

"michdenis" a écrit dans le message de news:

Bonjour Bomber,

As- tu essayé ceci :
Modifie cette ligne de code ...
If tablo(i, j) = chercherpardate Then

Pour

If cdate(tablo(i, j))= cdate(chercherpardate) Then


Salutations!




"Bomber" a écrit dans le message de news:

Bonjour à tous,

J'ai un userform (nommé "modifsaisie") avec à l'intérieur une
listbox(nommée
"affichedonnee"), je souhaiterai qu'en entrant une date dans une textbox
(nommé "chercherpardate") puis en cliquant sur un commandbutton les lignes
correspondant à la date choisie s'affichent dans ma listbox. Toutes les
dates sont dans une même colonne ("A").
Avant j'utilisais ce code mais depuis que je force mes dates à se mettre
sous le format jj/mm/yyyy il ne marche plus...

Merci d'avance pour votre aide

With affichedonnee

.Clear

For i = 1 To UBound(tablo)
For j = 1 To UBound(tablo, 2)
If tablo(i, j) = chercherpardate Then
.AddItem tablo(i, 1)
For k = 1 To UBound(tablo, 2)
.List(.ListCount - 1, k - 1) = tablo(i, k)
Next k
End If
Next j
Next i

End With





Avatar
Bomber
Bonjour Michel,

en me posant toutes ces questions tu m'as fait prendre conscience de mes
erreurs,
- Tout d'abord mes dates n'étaient pas saisies avec "cdate" mais je les
forcais à prendre la valeur "DD/MM/YYYY"
- De plus j'ai modifié la ligne que tu m'avais corrigé en enlevant le
premier "cdate" : If (tablo(i, j))= cdate(chercherpardate) Then

Il y a juste un truc que je trouve illogique c'est que mon code recherche
dans tout le tableau alors que seul la première colonne contient la date
mais bon, comme ça marche bien, je ne vais plus y toucher...

Merci encore pour ton aide et ton amabilité.

Cordialement


"michdenis" a écrit dans le message de news:

Bonjour Bomber,

Tu as publié seulement un bout du code de ta procédure ...
De quelle recherche parles-tu ? Comment est-elle effectuée ?

Quelle est la ligne de code mise en surbrillance lorsque tu exécutes ton
code
et que l'erreur est générée ?

Est-ce que la valeur de ton textbox est réellement reconnu comme un format
date valide par excel ? Cette donnée est de type "Texte". Comment dis-tu
au "vba" de ton code, que c'est une date sans que vba se méprenne sur
la valeur de cette dernière ?


Salutations!



"Bomber" a écrit dans le message de news:
%23NK2E$
Bonjour à tous, Michel,

J'ai fait les modifications mais le problème c'est que j'ai un message de
type "erreur d'exécution 13" "Incompabilité de type" quand je fais ma
recherche.
Est-ce que cela peut venir du fait que seule la première colonne ("A")
contient une date?

Cordialement!

"michdenis" a écrit dans le message de news:

Bonjour Bomber,

As- tu essayé ceci :
Modifie cette ligne de code ...
If tablo(i, j) = chercherpardate Then

Pour

If cdate(tablo(i, j))= cdate(chercherpardate) Then


Salutations!




"Bomber" a écrit dans le message de news:

Bonjour à tous,

J'ai un userform (nommé "modifsaisie") avec à l'intérieur une
listbox(nommée
"affichedonnee"), je souhaiterai qu'en entrant une date dans une textbox
(nommé "chercherpardate") puis en cliquant sur un commandbutton les
lignes
correspondant à la date choisie s'affichent dans ma listbox. Toutes les
dates sont dans une même colonne ("A").
Avant j'utilisais ce code mais depuis que je force mes dates à se mettre
sous le format jj/mm/yyyy il ne marche plus...

Merci d'avance pour votre aide

With affichedonnee

.Clear

For i = 1 To UBound(tablo)
For j = 1 To UBound(tablo, 2)
If tablo(i, j) = chercherpardate Then
.AddItem tablo(i, 1)
For k = 1 To UBound(tablo, 2)
.List(.ListCount - 1, k - 1) = tablo(i, k)
Next k
End If
Next j
Next i

End With