Un macro trops lent
Résolu
hamouchka
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
hamouchka Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
hamouchka Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un macro qui est supposé de chercher une valeur dans une colonne (D2:D4555)
mais cela prend une éternité pour être exécuter, j'ai essayé sans sucés d'ajouter "usedrange" pour éviter que excel cherche tous les cellules jusqu'à D4555 je veux qu'il chercher seulement les cellules utilisé puisque la feuille n'est pas était complétée à 100%
voici le macro :
Sub hidecrows()
Dim tempo As Date
Dim rCell As Range
Sheets("checks-sheet").Select
tempo = InputBox(Prompt:="Filter Checks", Title:="Choose a Date", Default:="Enter the date here")
For Each rCell In Range("D2:D4555")
If Not rCell.Value = tempo Then
Rows(rCell.Row).Hidden = True
End If
Next
End Sub
J'ai besoin d'aide SVP, avez vous une idée ?
Un grand merci en avance!
J'ai un macro qui est supposé de chercher une valeur dans une colonne (D2:D4555)
mais cela prend une éternité pour être exécuter, j'ai essayé sans sucés d'ajouter "usedrange" pour éviter que excel cherche tous les cellules jusqu'à D4555 je veux qu'il chercher seulement les cellules utilisé puisque la feuille n'est pas était complétée à 100%
voici le macro :
Sub hidecrows()
Dim tempo As Date
Dim rCell As Range
Sheets("checks-sheet").Select
tempo = InputBox(Prompt:="Filter Checks", Title:="Choose a Date", Default:="Enter the date here")
For Each rCell In Range("D2:D4555")
If Not rCell.Value = tempo Then
Rows(rCell.Row).Hidden = True
End If
Next
End Sub
J'ai besoin d'aide SVP, avez vous une idée ?
Un grand merci en avance!
A voir également:
- Un macro trops lent
- Pc lent - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Mon mac est lent comment le nettoyer - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
5 réponses
Salut le forum
Hamouchka, essaye comme ceci
Mytå
Hamouchka, essaye comme ceci
Sub hidecrows() Dim tempo As Date Dim firstaddress As String Dim c As Range tempo = InputBox(Prompt:="Filter Checks", Title:="Choose a Date", Default:="Enter the date here") With Sheets("checks-sheet").Range("D2:D4555") Set c = .Find(tempo, LookIn:=xlValues) If Not c Is Nothing Then firstaddress = c.Address Do Set c = .FindNext(c) c.EntireRow.Hidden = True Loop While Not c Is Nothing And c.Address <> firstaddress End If End With End Sub
Mytå
Merci beaucoup!
C'est excellent sauf que l'autre macro est supposé de cacher tout se qui n'est pas égale à "tempo" ton macro fais l'inverse! comment je peux le corriger ?
encore Merci!
C'est excellent sauf que l'autre macro est supposé de cacher tout se qui n'est pas égale à "tempo" ton macro fais l'inverse! comment je peux le corriger ?
encore Merci!
Bonsoir,
Tu pourrais utiliser le filtre automatique :
Range("D1:D4555").AutoFilter Field:=1, Criteria1:=CDate(tempo)
eric
Tu pourrais utiliser le filtre automatique :
Range("D1:D4555").AutoFilter Field:=1, Criteria1:=CDate(tempo)
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est régler les amis voici ce j'ai fait :
Sheets("checks-sheet").Select
'selectionner la plage utilisée seulement
Range(Cells(2, 4), Cells(Rows.Count, 4).End(xlUp)).Select
'Boucle qui recherche la date de ce jours dans la plage séléctionnée avant
For Each rCell In Selection
If Not rCell.Value = Date Then '=Date pour comparer avec la date de jours
Rows(rCell.Row).Hidden = True
End If
Next
comme ca il prend juste la selection qui contien qlq chose et c beaucoup pluss rapide
Merci Beaucoup!!!!
Sheets("checks-sheet").Select
'selectionner la plage utilisée seulement
Range(Cells(2, 4), Cells(Rows.Count, 4).End(xlUp)).Select
'Boucle qui recherche la date de ce jours dans la plage séléctionnée avant
For Each rCell In Selection
If Not rCell.Value = Date Then '=Date pour comparer avec la date de jours
Rows(rCell.Row).Hidden = True
End If
Next
comme ca il prend juste la selection qui contien qlq chose et c beaucoup pluss rapide
Merci Beaucoup!!!!