Macro : Si filtre retourn feuille vide, excel copie tout

Fermé
Shaar - Modifié par jordane45 le 18/12/2014 à 00:23
PHILOU10120 Messages postés 6400 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 17 janvier 2025 - 23 déc. 2014 à 12:58
Bonjour,

Je travaille actuellement sur un ficher excel et plus précisement avec des macro.

Je souhaite obtenir des données à partir d'un tableau. Pour cela, je réalise un tri sur les colonnes souhaitées et copie/colle les éléments dont j'ai besoin.

Tout marche mais si j'ai une selection réalisé en macro qui retourne un tableau vide, il me retourne toutes les valeurs au lieu de ne me rien retourner.

Exemple :
Ma macro dit de trier selon
Colonne A = vide
Colonne B = Non vide
Colonne C = Vide

Mais ma colonne C ne devrait pas pouvoir obtenir la condition vide puisque déjà la combinaison de A et B rend une page blanche. Si j'essaye de faire cela à la main, le filtre n'est pas possible.

J'ai rechercher à regarder si les cellules sont vides mais en vain, j'obtiens toujours la même chose.

Voici le code que j'utilise
ActiveSheet.Range(Cells(1, 1), Cells(DernColon, DernLigne)).AutoFilter Field:=Nom, Criteria1:="<>"


Merci de votre aide,

A voir également:

1 réponse

PHILOU10120 Messages postés 6400 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 17 janvier 2025 812
23 déc. 2014 à 12:58
Bonjour

Une idée si vous mettiez une cellules comptant le nombre de valeur trouvé

=si(nbval(a1:a1000)>0;0;1) et que vous nommiez cette cellule "contrôle"

Dans la macro insérer ce code

Set myRange = Worksheets("NOM DE LA FEUILLE").Range("contrôle")
If myRange = 1 Then
If MsgBox("Attention il n'y a pas ligne correspondant à vos critères de trie ", vbYes, "") = vbYes Then
End If
Exit Sub
End If
0