extraction avec critères

patoq

XLDnaute Occasionnel
Bonjour le forum,

Voila je cherche à faire une extraction d'une colonne (critère : commence par 9) vers une autre colonne.
Je précise que je veut garder les doublons .
En résumé je veut garder toutes les données commencant par 9.

Je pars sur une solution en VBA ,j'ai déja essayé avec l'enregistreur en filtrant, ça marche mais mes lignes sont filtrées et ça met un peu de désordre dans les reste de ma feuille.
C'est pour ça que je veut une extraction .
Merci d'avance pour votre aide

Cdt
Pat
 

st007

XLDnaute Barbatruc
Re : extraction avec critères

bonjour,

un essai, mais étant mauvais en VBA, il faudrait commencer à écrire a partir de la ligne 2
Code:
Sub CopieConditionnelle()

For Each c In Range("A2:A3850")
If Left(c.Value, 1) = "9" Then
Ligne = Ligne + 1

c.Copy Cells(Ligne, 5)
End If
Next

End Sub
 

Misange

XLDnaute Barbatruc
Re : extraction avec critères

Bonjour

Tu peux faire cela facilement avec un filtre élaboré

Avec la zone de critère A1:A2
tu n'écris RIEN en A1
en A2 : =GAUCHE(A8;1)="9" (les "" autour de 9 sont indispensables ici)

données/filtre élaboré
tu sélectionnes ton tableau (j'ai mis les données sous forme de tableau excel, c'est plus facile pour sélectionner,) ne pas oublier de sélectionner AUSSI la ligne d'en tête

zone de critère : A1:A2
zone d'extraction, tu choisis par exemple D1
et tu lances, ça sort tout seul sans macro et instantanément. Tu peux au passage supprimer les doublons si tu le souhaites.
 

Pièces jointes

  • extraction.xlsx
    82.9 KB · Affichages: 53
  • extraction.xlsx
    82.9 KB · Affichages: 45
  • extraction.xlsx
    82.9 KB · Affichages: 46

Robert

XLDnaute Barbatruc
Repose en paix
Re : extraction avec critères

bonjour Patoq, St, bonjour le forum,

Une autre proposition très similaire :
Code:
Sub Macro1()
Dim o As Object 'déclare la variable o (Onglet)
Dim dl As Long 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)

Set o = Sheets("Feuil1") 'définit l'onglet o
dl = o.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée dl de la colonne 1 (=A) de l'onglet o
Set pl = o.Range("A2:A" & dl) 'définit la plage pl
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
    If Left(CStr(cel.Value), 1) = "9" Then 'condition : si la cellule commence par 9
        Set dest = o.Cells(Application.Rows.Count, 5).End(xlUp).Offset(1, 0) 'définit la cellule de destination
        cel.Copy dest 'copie la cellule cel dans la cellule de destination dest
    End If 'fin de la condition
Next cel 'prochaine cellule de boucle
End Sub

[Édition]
Bonjour Misange on s'est croisé...
 

laetitia90

XLDnaute Barbatruc
Re : extraction avec critères

bonjour tous :):):):)
une autre version dans le meme style mais bon!!! la soluc de l'amie Misange bien plus simple a mon avis:)

Code:
Dim c As Range
For Each c In Range("a1", Cells(Rows.Count, 1).End(3))
If Left(c, 1) = 9 Then Range("e" & Rows.Count).End(3)(2) = c
Next
 

patoq

XLDnaute Occasionnel
Re : extraction avec critères

Bonsoir tout le monde ,

Merci pour toutes ces solutions , vous êtes terrible!!!!
je m'en vais de ce pas, tout essayer.
Mais c'est vrai que le filtre élaboré est simple (enfin pas pour moi) ;););)

Cdt
Pat
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : extraction avec critères

Bonsoir le fil, bonsoir le forum,

Coucou Bruno et Laetitia
Hé ça va pas la Misange ! Moi c'est "Robert" et j'y tiens à mon prénom de blaireau... Et je tiens aussi à rappeler la multitude de gens célèbres et intelligents affublés de ce nom de baptême comme Robert heu, heu... Bon là on a mis une chape de plomb sur mon cerveau (ça doit être pour ça que les noms met chape...) mais je vous jure qu'il y en a plein.
Quoi ! Il y en a aussi des biens cons et gratinés ! Oui, bien sûr, mais p... on n'est pas obliger de le dire maintenant...

Évidemment je n'ai rien contre les "Bruno" en dehors du fait que ce soit un prénom ridicule... Mais l'Aziza nie...
 

Discussions similaires

Réponses
31
Affichages
528

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 276
Messages
2 086 714
Membres
103 377
dernier inscrit
fredy45