VBA Excel: chercher et extraire des mots clef [Résolu]

Messages postés
6
Date d'inscription
jeudi 7 février 2008
Dernière intervention
9 février 2009
- - Dernière réponse : Nibor332
Messages postés
6
Date d'inscription
jeudi 7 février 2008
Dernière intervention
9 février 2009
- 22 janv. 2009 à 00:57
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="ProgId" content="Word.Document" />
<meta name="Generator" content="Microsoft Word 11" />
<meta name="Originator" content="Microsoft Word 11" />
<link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CUT12LD%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml" />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]-->
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
@page Section1
{size:21.0cm 842.0pt;
margin:72.0pt 70.9pt 72.0pt 70.9pt;
mso-header-margin:35.45pt;
mso-footer-margin:35.45pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
</style>
<![endif]-->

Bonjour






 






J’aurais besoin d’aide
pour creer une macro qui puisse chercher dans une plage de cellule une serie de
lettre et ensuite extraire cette ligne avant de passer a la ligne suivante.






 






Par exemple, je
cherche a extraire toutes les lignes qui contiennent les lettres EUR dans une
colonne bien specifique qui peut contenir des textes tels que EUR/AUD, LD-EUR,
EURAUD etc…






 






Merci d’avance
pour votre retour,






 






Pour le moment je
n’ai reussi qu’à créer une macro qui puisse trouver et copier de facon
exaustive un texte exact et non pas une partie du texte





Cf :






 






'**Selection
& copy sur une nouvelle feuille des donnees voulues






 





Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name =
"USD"



 




Sheets("Data").Select


ActiveCell.SpecialCells(xlLastCell).Select


Range(Selection, Cells(1)).Select



 




For Each Rw In Selection.Rows



 Ligne = Rw.Row



 




If Rw.Cells(1, 10).Value = "LD-USD" Or Rw.Cells(1,
10).Value "AUD/USD" Or Rw.Cells(1, 10).Value "EUR/USD"
Or Rw.Cells(1, 10).Value = "GBP/USD" _


Or Rw.Cells(1, 10).Value = "USD/JPY" Or
Rw.Cells(1, 10).Value "NZD/USD" Or Rw.Cells(1, 10).Value
"USD/HKD" Or Rw.Cells(1, 10).Value = "USD/SGD" Then



 






    Rw.Select



     Rw.Copy
Destination:=Worksheets("USD").Cells(Ligne, 2).EntireRow



   






 
End If






 






Next Rw
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
114
Date d'inscription
lundi 5 février 2007
Dernière intervention
10 septembre 2010
3
Merci
deuxième version corrigée :

Sub Macro1()
' Macro1 Filtre automatique et critère : contenant "EUR" '
Columns("C:C").Select ActiveSheet.Range("$C$1:$C$900").AutoFilter Field:=1, Criteria1:="=*EUR*", _ Operator:=xlAnd End Sub

@+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 90 internautes nous ont dit merci ce mois-ci

Commenter la réponse de xpert12
Messages postés
1231
Date d'inscription
vendredi 16 novembre 2007
Dernière intervention
16 juin 2009
1
0
Merci
Bonjour,

Je suis pas spécialiste du vba mais la commande InStr() ne peut-elle pas aider?
genre :

if instr(tacellule,"EUR")>0 then
   traitement
else
   cellulesuivante
end if

Bon courage

S.L.B.
<hr />
Commenter la réponse de lillith212
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
29
0
Merci
salut,
en effet INSTR, ou peut-être RECHERCHEV qui doit plus correspondre pour VBA excel
++

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
Commenter la réponse de PCPT
Messages postés
114
Date d'inscription
lundi 5 février 2007
Dernière intervention
10 septembre 2010
0
Merci
Salut,

Une solution simplissime. Regarde du côté des filtres automatiques dans excel avec la fonction personnalisation (contenant) :

Ca donne une macro de ce genre :
Sub Macro1()
'
' Macro1 Filtre automatique et critère : contenant "EUR"
'
Columns("C:C").Select
ActiveSheet.Range("$A$1:$A$900").AutoFilter Field:=1, Criteria1:="=*EUR*", _
Operator:=xlAnd
End Sub


@+
Commenter la réponse de xpert12
Messages postés
6
Date d'inscription
jeudi 7 février 2008
Dernière intervention
9 février 2009
0
Merci
Merci a tous pour votre aide precieuse.
j'ai pu reussir a faire ce que je voulais avec le filtre auto.
Je testerais la fonction INSTR qd j'aurais plus de temps
Cheers
Commenter la réponse de Nibor332

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.