Microsoft 365 VBA filtre erreur si pas la condition

  • Initiateur de la discussion Initiateur de la discussion Ang3lina
  • Date de début Date de début

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 !

Ang3lina

XLDnaute Nouveau
Bonjour à tous,

Meilleurs vœux pour cette nouvelle année 🙂

J'ai un petit soucis dans un bout de code et j'avoue que je n'arrive pas à le résoudre...
Je cherche à faire un tri dans un tableau en utilisant les couleurs de cellules (via des conditions). Jusqu'ici cela fonctionne mais lorsque la condition n'est pas validée dans la colonne sélectionnée j'ai une erreur. Bon là je bloque...

Je vous mets le bout de code que j'utilise :

If Range("A3").Value = 1 Then
With ActiveSheet
If .FilterMode Then .ShowAllData
End With
Range("Tableau7[[#Headers],[Date limite de formation]]").Select
ActiveSheet.ListObjects("Tableau7").Range.AutoFilter Field:=10, Criteria1:= _
RGB(255, 0, 0), Operator:=xlFilterCellColor
End If


Je pense qu'il faut ajouter une condition si mais je n'ai pas résolu ce mystère...

Merci à ceux qui pourront m'aider 🙂
 
Solution
J'ai finalement résolu le problème en ajoutant "On Error Resume Next" un peu plus bas :
VB:
If Range("A3").Value = 1 Then
With ActiveSheet
If .FilterMode Then .ShowAllData
End With
ActiveSheet.ListObjects("Tableau7").Range.AutoFilter Field:=10, Criteria1:= _
RGB(255, 0, 0), Operator:=xlFilterCellColor
On Error Resume Next
End If
Bonjour Ang3lina,
Peut être simplement in insérant un "On Error Resume Next" qui en cas d'erreur passera à la ligne suivante.
VB:
If Range("A3").Value = 1 Then
With ActiveSheet
If .FilterMode Then .ShowAllData
End With
Range("Tableau7[[#Headers],[Date limite de formation]]").Select
On Error Resume Next
ActiveSheet.ListObjects("Tableau7").Range.AutoFilter Field:=10, Criteria1:= _
RGB(255, 0, 0), Operator:=xlFilterCellColor
End If
1- Un petit fichier test aurait permis de tester.
2- Utilisez la balise </> ( à droite de l'icone GIF ), c'est plus lisible.
 
J'ai finalement résolu le problème en ajoutant "On Error Resume Next" un peu plus bas :
VB:
If Range("A3").Value = 1 Then
With ActiveSheet
If .FilterMode Then .ShowAllData
End With
ActiveSheet.ListObjects("Tableau7").Range.AutoFilter Field:=10, Criteria1:= _
RGB(255, 0, 0), Operator:=xlFilterCellColor
On Error Resume Next
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

Réponses
3
Affichages
300
Réponses
2
Affichages
393
Réponses
18
Affichages
698
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
497
Réponses
9
Affichages
963
Réponses
2
Affichages
421
Retour