Autofilter, stoper la macro si il n'y a pas de données

  • Initiateur de la discussion Initiateur de la discussion roulax
  • 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 !

roulax

XLDnaute Nouveau
bonjour,

En stage, je suis actuellement en train de développer une macro.
J'ai un petit problème avec la fonction Autofilter
Je filtre des données dans un fichier A pour les coller dans un fichier B.
Mon problème est le suivant :
Quand il n'y a pas de données dans ma selection filtré la suite de ma macro ne fonctionne pas, je voudrais donc créer un boucle permettant de la stopper ou de copier les données si il y en a.

J'ai écris le code suivant :
Set rngSelect = ActiveSheet.Range("A2:Z" & Range("A" & Rows.Count).End(xlUp).Row)
NumRowsFiltre = rngSelect.SpecialCells(xlVisible).Count - 1
If rngSelect.SpecialCells(xlVisible).Count - 1 = "=" Then
MsgBox "Pas de données à traiter"
Else
rngSelect.Copy
End If

Ce code ne fonctionne pas convenablement car il me copie toujours la première ligne qui est la ligne titre.

Quelqu'un a-t-il une idée pour vérifier la présence de données à partir de la ligne 2.

merci
 
Re : Autofilter, stoper la macro si il n'y a pas de données

Bonjour roulax, Bonjour Paritec,

je ne comprend pas bien ça

Code:
If rngSelect.SpecialCells(xlVisible).Count - 1 = "=" Then

ça ne devrait pas être un truc du genre :

Code:
If rngSelect.SpecialCells(xlVisible).Count - 1 = 0 Then

?
 
Re : Autofilter, stoper la macro si il n'y a pas de données

bonjour tototiti2008,

Pour le code :

If rngSelect.SpecialCells(xlVisible).Count - 1 = "=" Then

j'ai écris le "=" pour signifier un vide,

j'ai déjà essayé avec cette écriture aussi :

If rngSelect.SpecialCells(xlVisible).Count - 1 = 0 Then

mais cela ne fonctionnait pas non plus 🙁
 
Re : Autofilter, stoper la macro si il n'y a pas de données

Re tototiti2008,

Merci pour ta réponse, ta ligne de code fonctionne.

j'ai une dernière question sur la suite de mon code.

Comment faire pour stoper la macro après le then si il n'y a pas de valeur, je ne connais pas le code et je n'ai rien trouvé sur la toile !

If rngSelect.SpecialCells(xlVisible).Rows.Count - 1 = 0 Then
MsgBox "Pas de données à traiter" -> stoper la macro à la place d'afficher ce messageElse
rngSelect.Copy

Merci d'avance ! 🙂
 
- 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

Retour