Recherche date dans un fichier excel a partir d'1 userform
Résolu
pascal
-
pascal -
pascal -
Bonjour,
dans mon code si dessous je cherche le nombre de fois une valeur variable dans mon fichier excel et ça dans un textbox(TextRech) d'un userform,
mon code marche très bien pour des valeur numerique ou des lettres mais pas sous se format 19/01/13
ma question est comment prendre en compte ce format pour ma recherche
.
dans mon code si dessous je cherche le nombre de fois une valeur variable dans mon fichier excel et ça dans un textbox(TextRech) d'un userform,
mon code marche très bien pour des valeur numerique ou des lettres mais pas sous se format 19/01/13
ma question est comment prendre en compte ce format pour ma recherche
.
Private Sub CmdRech_Click()
If TextRech = "" Then
MsgBox "renseignez une Date, Double click sur la case ", vbInformation
TextRech.SetFocus
Else
Application.ScreenUpdating = False ' pour aller plus vite
Set ma_feuille = ThisWorkbook.Sheets(1)
col_no = 2 ' pour la colonne A (A = 1)
lg_no = 4 ' à partir de la première ligne
p = TextRech ' textbox de mon userform ou je saisie la date a chercher sous le format 19/01/13
compteur_mots = 0
Do While Not IsEmpty(ma_feuille.Cells(lg_no, col_no))
If (ma_feuille.Cells(lg_no, col_no).Value = p) Then
compteur_mots = compteur_mots + 1
End If
lg_no = lg_no + 1
Loop
Range("az7") = compteur_mots
LabDate = Range("az7").Value
End If
End Sub
A voir également:
- Recherche date dans un fichier excel a partir d'1 userform
- Fichier .dat - Guide
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier epub - Guide
- Comment faire une recherche à partir d'une photo - Guide
2 réponses
Bonjour,
La saisie d'une textebox donne du texte, il faut convertir:
p = CDate(TextRech )
Si vous voulez, le code pour la recherche peut etre ameliore en utilisant des instructions excel plus performantes.
A vous de voir
La saisie d'une textebox donne du texte, il faut convertir:
p = CDate(TextRech )
Si vous voulez, le code pour la recherche peut etre ameliore en utilisant des instructions excel plus performantes.
A vous de voir
Re,
Un exemple de code
Bonne suite
Un exemple de code
Private Sub CmdRech_Click()
Dim plage As Range, compteur_mots As Integer, derlig As Integer
If TextRech = "" Then
MsgBox "renseignez une Date, Double click sur la case ", vbInformation
TextRech.SetFocus
Else
Application.ScreenUpdating = False ' pour aller plus vite
With ThisWorkbook.Sheets(1)
'Recherche derniere cellule colonne B
derlig = Range("B" & Rows.Count).End(xlUp).Row
'Definition en memoire de la plage de recherche
Set plage = .Range("B4:B" & derlig)
'Combien de fois la valeur cherchee
compteur_mots = Application.CountIf(plage, CDate(TextRech))
'??
.Range("az7") = compteur_mots
'??
LabDate = .Range("az7").Value
End With
End If
End Sub
Bonne suite
quel type de recherche pouvez vous me proposer?