Usf + filtre élaboré + test bdd

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

SoDadounet

XLDnaute Nouveau
Bonjour, je suis confronté à un petit problème qui ne doit pas être difficile à régler mais qui me complique bien la vie et que je ne vois pas comment résoudre.

Situation:
J'ai une macro qui permet de faire une recherche (filtre élaboré) dans une bdd à partir de critère saisis dans un formulaire (userform).

Tant qu'il y a des données dans la bdd pas de soucis.

Si je fait une recherche et qu'il n'y a pas de donnée correspondante logiquement ca me donne une bdd (filtrée) vide.
MAIS si je relance une recherche sur cette même bdd (toujours par l'intermédiaire de la macro) je recois un message d'erreur à cause de la bdd vide.

sec = Combosec.Value
max = Sheets("bdd " & sec).Range("A65536").End(xlUp).Row

'filtre élaboré

Sheets("bdd " & sec).Activate

Range("B1:F" & max).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Sheets("cachee").Range("B23:F24"), Unique:=False

j'ai tenté d'insérer un test:

If Controls(B1) = "" Then
ActiveSheet.ShowAllData
End If

L'objectif est d'enlever le filtre élaboré dans le cas ou la plage serait vide mais dès que la plage n'est pas vide un message me dit que ActiveSheet.ShowAllData n'a pas pu être exécutée...

Alors je sais pas si c'est très clair éventuellement je peux poster le fichier si besoin.

merci d'avance
 
Dernière édition:
Re : Usf + filtre élaboré + test bdd

Le fichier est trop gros pour être uploader sur le fofo donc voici le lien:

Ce lien n'existe plus

Donc je re-précise bien que c'est la partie "recherche de protocoles" qui ne fonctionne pas dans un cas particulier: Quand on fait une recherche alors que la recherche précédente n'avais donné aucun résultat.
 
Re : Usf + filtre élaboré + test bdd

merci Bebere, je débute en vba donc je vois pas trop ce que ca fait mais je vais tester ca.

Par contre comment ce fait-il que mon test ci dessous marche lorsque B1 est vide et qu'il me génère une erreur si B1 contient une donnée. En théorie il ne devrait pas passé le test et ne rien faire?

If Controls(B1) = "" Then
ActiveSheet.ShowAllData
End If
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
448
Réponses
3
Affichages
875
Retour