Critère Filtre macro
Bonsoir,
J'ai une série de chiffres assez longue en colonne, dans cette série il y a des ("-") sur quelques lignes de la colonne.
Je souhaite faire un filtre par macro avec une critère pour avoir que les chiffres et supprimer les lignes avec "-". J'ai essayé avec l'enregistreur macro mais cela ne fonctionne pas car il y a trop de lignes.
Je souhaite absolument passer par un macro je sais que je peux faire filtre mais je veux automatiser le processus.
Je tiens a préciser que la colonne A est filtré, d'ou le "Selection.Autofilter"
Voici :
Sub Extract_704()
Range("A4:O767").Select
Selection.AutoFilter
ActiveSheet.Range("$A$4:$O$767").AutoFilter Field:=13, Operator:= _
xlFilterValues, Criteria2:=Array "Comment faire pour supprimer les "-"
Range("A305:A765").Select
Selection.Copy
Sheets("Feuille2").Select
Range("B3").Select
ActiveSheet.Paste
End Sub
Cordialement,
Posté par erreur, désolé.
Je cherche malgré tout une solution.
Pas de problème, moi aussi je cherche
Bonne soirée
Le plus simple serait quand même d'avoir un fichier à disposition, avec 10 ou 20 lignes exemples de ce qui te crée des soucis.
Fournis-nous également un fichier qui contient les macros que tu utilises déjà ainsi que - si elles existent - celles qui doivent être corrigées.
Rien à voir avec ta présente demande : si tu me réponds sur ton autre fil sur lequel je t'ai posé une question, tant mieux, ce serait sympa et poli
Bonnes salutations.
Excusez moi je répond dès que je peux.
Voici le fichier, merci pour votre temps.
Bonne journée
Re,
Avant de me lancer dans la réalisation d’une solution, il serait intéressant de savoir le résultat que tu attends.
J’ai imaginé diverses choses dans le fichier ci-joint, sur la feuille « Copie de Feuil1 ». En colonne A, tes données telles que livrées, à l’exception du chiffre 620 remplacé par un « - » afin de savoir comment traiter ces signes.
En colonne C, tes données sans titres, sans espace mais avec la séparation des groupes en vert.
En colonne D, tes données sans titres, sans espace et sans la séparation des groupes en vert.
En colonne E, tes données avec un titre.
En colonne F, tes données exactement placées comme à la base ; seules les cellules souhaitées sont effacées.
Si aucune de ces propositions ne correspond à ton attente, montre-moi un exemple de ce que tu souhaites.
De plus, à quel endroit souhaites-tu ton résultat ? A la place des données à traiter ? Dans une autre colonne ? Sur une autre feuille ?
A te relire.
Bonsoir,
C'est vraiment formidable, Colonne E me convient.
J'ai rajouté tout les informations, pour voir si tu peux faire quelque chose avec les informations que je te donne ici ( J'ai rajouté des colonnes de critère :
Colonne A : Je veux un macro qui filtre sur "Feuil2" tout les lignes qui correspondent au critères suiventes :
- Colonne K = Filtrage "A" seulement
- Colonne J = Filtrage "2016" seulement
ColonneB : Je veux un macro qui filtre sur "Feuil2" tout les lignes qui correspondent aux critères suivantes :
-Colonne M = Filtrage "2016" seulement
Ensuite copier la liste de la Colonne A vers la Colonne B "Feuil3"
Lorsque les données ont été copier, procéder a supprimer les "-" en prenant l'exemple de la Colonne E sur "Copie de Feuil1" dans la colonne A et colonne B de la feuille "Feuil3"
Merci beaucoup !
Bonne soirée
Salut,
J'espère avoir bien compris tes explications qui ne sont si claires.
La macro placée derrière le bouton en place sur la Feuil2 devrait quand même répondre à ton attente.
Amicalement.
C'est exactement ce que j'ai demandé, j'ai oublié une chose.
Sur la Feuille 3 "feuil3" à la ligne 158, on voit qu'il y a le chiffre 6, c'est en réalité le premier chiffre en colonne B.
La colonne A correspond aux achats, la colonne B correspond aux ventes.
Dans ce cas, la colonne A des achats, prend en compte aussi des ventes qui sont effectué en 2016 car les critères "A" et "2016" ne l'empêche pas.
Objectif : Alors est ce qu'il serait possible de supprimer tout dans la colonne "A" à partir du chiffre 6 ?
Bien cordialement,
Dettox
PS: Peut être possible de faire une condition macro du style : Si cellule inférieur au dernier, alors on supprime tous les cellules qui suivent. ?
Salut,
Je ne suis pas certain de t'avoir bien comprisdettox a écrit :PS: Peut être possible de faire une condition macro du style : Si cellule inférieur au dernier, alors on supprime tous les cellules qui suivent. ?
Fichier ci-joint à tester.
Amicalement.
C'est exactement ca !
Aussi je commence a comprendre un peu le vba mais pas du tout le niveau nécessaire pour faire fonctionner ce macro simple visiblement.
Voici ce que je souhaite faire, je veux voir dans la colonne I SI il y a des cellules égaux. La colonne est croissante donc il suffit de verifier si la derniere est = avec la cellule active.
Ensuite je souhaite copier coller la cellule qui est = au dernier et le copier coller vers "Feuil3" cellule C3.
Et repeter le processus.
Voici le macro.
Sub Egal_ou_non()
If IsNumeric(Range("A1")) Then
Dim i As Integer, Numboucle As String, numero_ligne As Integer, DerLig As Integer
Dim nb_lignes As Integer
'Valeurs des variables
numero_ligne = Range("A1") + 1
Numboucle = Cells(numero_ligne, 1)
DerLig = Range("I" & Rows.Count).End(xlUp).Row
nb_lignes = WorksheetFunction.CountA(Range("A:A"))
End If
For i = 2 To DerLig_A
If Range("A" & i + 1) = Range("A" & i) Then
Worksheets("Feuil2").Range("i").Copy _
Destination:=Worksheets("Feuil3").Range("A1")
Sheets("Feuil2").Select
ActiveCell.Select
Selection.Copy
Sheets("Feuil3").Select
Range("A1").Select
ActiveSheet.Paste
Sheets("Feuil2").Select
'J'aimerai faire en sorte que le Nb de ligne apparaissent en B2'
nb_lignes = Range("B2")
Exit Sub
End If
Next i
End Sub
Je sais qu'il y a des lettres FR dans les cellules mais j'ai esseyé sans les FR ca ne marche pas quand même.
Amicalement,
Dettox
Salut,
Ta demande est tout sauf claire !!
Tout d’abord tu pourrais préciser que c’est une nouvelle demande qui n’a rien à voir avec la précédente qui semble liquidée.
Ensuite je n’arrive pas à trouver le lien entre ton explication et la macro fournie qui semble réaliser d’autres choses que ce que tu développes dans ton texte. Par exemple il n’est pas du tout clair pourquoi tu contrôles si la cellule A1 est numérique ou non au début.
J’ai bien tenté de partir sur la base d’une nouvelle macro, mais il y a beaucoup d’imprécisions dans ton exposé.
Dans la colonne I tu n’as aucune donnée ! Je comprends donc que tu veux plutôt – comme première étape - passer en revue les cellules de la colonne A et voir s’il y a des doublons. Dans l’exemple fourni, le premier doublon est trouvé à la cellule A8 (FR 106). Que devrait alors faire la macro à ce moment-là ?dettox a écrit :Voici ce que je souhaite faire, je veux voir dans la colonne I SI il y a des cellules égaux.
Je comprends que comme deuxième étape tu veux en plus simplement reporter la dernière valeur de la colonne à la cellule C3 de la Feuil3, puisque tu dis que tu veux "copier-coller la cellule qui est = au dernier" mais que comme ta colonne est croissante, le ‘’dernier’’ est toujours en dernier, non ?dettox a écrit :Ensuite je souhaite copier coller la cellule qui est = au dernier et le copier coller vers "Feuil3" cellule C3.
Amicalement.
Tu as résolu le problème, je n'ai pas a redemander sur le même fil pour résoudre un deuxième soucis complètement à part.
Je vais essayer de me reformuler sur un autre fil.
Je clos le sujet car le problème de base a été résolu merci Yvouille !