Comprendre une ligne dans une macro
Bonjour etant novice en vba
je vous sollicite pour comprendre comment fonctionne cette ligne
Range("BA131") = "=ay131<>""""" 'critère"ma macro compléte est la suivante.
Option Explicit
Sub Liste()
Application.ScreenUpdating = False
Range("BA131") = "=ay131<>""""" 'critère"
Range("ax130:ay" & [ax167].End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Range("ba130:ba131"), CopyToRange:=Range("ax171:ay171"), Unique:=False
Range("Ba131").ClearContents
End Subce que je souhaiterais faire maintenant c'est faire d'autre filtre de la meme facon sur plusieurs autre colonnes
j'ai compris qu'a priori cette ligne m'avait nommé la plage de cellule BA130:BA131 en "criteres" mais si je veut faire la meme chose a plusieurs endroits est ce possible? comment a t'il pris ce nom "criteres" automatique?
-- 29 Juin 2011, 05:43 --
bon ben j'ai reussi en fait je pense grace au clear contents la plage nommée "critéres" change dynanimequement .
voila mon code pour 2 tris simultanés si jamais vous voyez des erreurs ou des choses a m'expliquer
Option Explicit
Sub Liste()
Application.ScreenUpdating = False
Range("BA131") = "=ay131<>""""" 'critère"
Range("ax130:ay" & [ax167].End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Range("ba130:ba131"), CopyToRange:=Range("ax171:ay171"), Unique:=False
Range("Ba131").ClearContents
Range("BE131") = "=bc131<>""""" 'critère"
Range("bb130:bc" & [bb167].End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Range("be130:be131"), CopyToRange:=Range("bb171:bc171"), Unique:=False
Range("Be131").ClearContents
End Suble code Range("BA131") = "=ay131<>""""" 'critère"
verifie si BA131 est différent de rien (cellule vide)
"range ("BA131") =" veux dire :la cellule BA131 est égal à (donc execl excrit dans la cellule "=ay131<>""""" )
ay131<>""""" : dis a excel ce qui doit marquer dans la cellule ba131 et veux dire
si ay131 est différent "<>" rien ou cellule vide "", il met 4 fois les " car dans vba quand on déclare quelque chose il faut metre un " avant et apres comme dans range("BA131") mais comme on veux comme critere "" qui veux dire rien ou cellule vide il faut en mettre 4
donc au final une fois exécuter dans la cellule il renvoi la valeur vrai ou faux si AY131 est différent de rien donc c'est vrai ou faux, si il y a une valeur ou un texte il reverra vrai si il y a rien il renverra faux dans la cellule BA131
et 'critere" ne veux rien dire c'est un commentaire
dans VBA tout ce qu'il y a apres un ' n'est pas lu et sert a mettre des commentaire
voila a+
- Messages
- 9'245
- Excel
- Vista Office 2007FR
- Inscrit
- 08/12/2007
- Emploi
- retraité Sce.Méthodes
Bonjour à tous,
Je t'ai répondu sur ton poste précédent et tu n'as pas donner suite !
lien: https://forum.excel-pratique.com/excel/liste-sans-blanc-vide-t24226-10.html#p137465
d'ailleurs si c'est le même sujet, merci de clôturer ce fil et de continuer à la suite du précédent.
Une macro ou une formule ne fonctionne que pour un fichier bien défini,
donc, il faut toujours joindre le fichier en question.
Amicalement
Claude
ok merci, dsl j'ai fait mon boulet j'avais as vu que ton message etait passé en page 2. je vais regarder ca. merci