Problème avec macro VBA de selection de lignes Excel avec conditions

Résolu
woow74 Messages postés 39 Date d'inscription vendredi 18 février 2011 Statut Membre Dernière intervention 1 mars 2011 - 24 févr. 2011 à 10:32
woow74 Messages postés 39 Date d'inscription vendredi 18 février 2011 Statut Membre Dernière intervention 1 mars 2011 - 25 févr. 2011 à 10:02
Bonjour tt le monde , je reviens vers vous car j'ai encore un petit souci avec ma macro.( enfin une macro qu'une persone de votre site a ienvoulu nous faire )
la voila:

Sub search1()
Dim i As Integer
Dim MaVariable1 As String

MaVariable1 = "S30.G01.00.001"

' Boucle de recherche par ligne sur la colonne A
For i = 1 To 537
With Worksheets(1).Activate
If .Cells(i, 1).Value = MaVariable1 Then
Rows(i).Select ' Selection de la ligne
Selection.Copy 'copie de la selection
Sheets(2).Select 'changement de feuille
Rows("1:1").Select 'Selection de la première ligne
Selection.Insert Shift:=xlDown 'Insertion de la selection copier
End If
End With
Next i
End Sub

J'ai TROIS problèmes :
1- elle ne marche pas quand je la lance sur mon fichier Excel devrais-je spécifier un chemin pour le fichier ouvert ou autre?

2- cette macro fait la recherche à partir d'un mot clé Mavariable1 , comment pourrais-je lui faire faire la recherche mais avec plusieurs mots clé car j'ai des lignes qui contiennent differents mots clé que je souhaites extraire...
3- Le mot clé recherché est dans une cellule qui se présente comme cela (mot clé ,'valeur') pourrais-je faire la recherche sur ce mot clé mais extraire toute la cellule avec la valeur a coté?
Merci bc

10 réponses

Yous00 Messages postés 36 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 17 janvier 2017
24 févr. 2011 à 14:44
Re,

J'ai modifié ton fichier, dit moi si cela te convient, en fait il va rechercher ce que tu rentre en B2, mais s'il y a des data identique il ne trouveras pas.

http://cjoint.com/?3cyoPEYYw5x

Cdlt

Jyb
Petit bidouilleur en excel (vba) ...
3
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
25 févr. 2011 à 09:38
Salut,

1) tu veux dire sur un autre fichier que celui qui contient la macro ?

2) en rajoutant une boucle sur une liste de mots clé

3) oui c'est possible


Pour commencer voici une version corrigé de ton code:

Sub search1()
Dim i As Integer
Dim MaVariable1 As String

MaVariable1 = "S30.G01.00.001"

' Boucle de recherche par ligne sur la colonne A
For i = 1 To 537
   With Worksheets(1)
      If .Cells(i, 1).Value = MaVariable1 Then
          .Rows(i).Copy 
          Sheets(2).Rows("1").Insert Shift:=xlDown 'Insertion de la selection copier
      End If
   End With
Next i
End Sub 


A+
3
Yous00 Messages postés 36 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 17 janvier 2017
24 févr. 2011 à 13:05
Bonjour,

Peut-tu joindre ton fichier avec des explications adequate stp, pour que je regarde ton problème.

Cdlt

Jyb

Petit bidouilleur en excel (vba) ...
0
woow74 Messages postés 39 Date d'inscription vendredi 18 février 2011 Statut Membre Dernière intervention 1 mars 2011
24 févr. 2011 à 13:30
euh stp tu peux me dire comment on fait pour joindre un fichier à un message?? je n y arrive pas ....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Yous00 Messages postés 36 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 17 janvier 2017
24 févr. 2011 à 13:33
vas sur ce site ==> http://cjoint.com/index.php
Petit bidouilleur en excel (vba) ...
0
Yous00 Messages postés 36 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 17 janvier 2017
24 févr. 2011 à 13:33
pardon, puis tu colle le lien ici

Petit bidouilleur en excel (vba) ...
0
woow74 Messages postés 39 Date d'inscription vendredi 18 février 2011 Statut Membre Dernière intervention 1 mars 2011
24 févr. 2011 à 13:48
0
woow74 Messages postés 39 Date d'inscription vendredi 18 février 2011 Statut Membre Dernière intervention 1 mars 2011
24 févr. 2011 à 15:04
Merci Yous sa marche à merveille
0
Yous00 Messages postés 36 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 17 janvier 2017
24 févr. 2011 à 16:35
your welcome !

Petit bidouilleur en excel (vba) ...
0
woow74 Messages postés 39 Date d'inscription vendredi 18 février 2011 Statut Membre Dernière intervention 1 mars 2011
25 févr. 2011 à 10:02
Merci bigfish pour ta proposition .
Pour finir mon travail , je vous sollicite une dernière fois sur un point auquel je ne trouve pas de solution...
j'ai une autre macro qui fait une recherche de données sur un fichier txt , comment je peux faire pour lui demander la même recherche mais cette fois sur un repertoire?

Sub test()

Workbooks.OpenText Filename:= _
        "D:\Users\ysebbarh.EMEA\Desktop\test_macro\RAF1.txt"
Workbooks.OpenText Filename:= _
        "D:\Users\ysebbarh.EMEA\Desktop\test_macro\NIR1.txt"
            Columns("A:A").Select
Selection.NumberFormat = "0"
Sheets.Add
   ActiveSheet.Name = "Resultat"
               i = 1
        For j = 2 To 16
        valeur = Workbooks("NIR1.txt").Sheets("NIR1").Cells(j, 1)
       Workbooks("RAF1.txt").Activate        
Set celluletrouvee = Range("A:A").Find(valeur)
ligne = celluletrouvee.Row
       Do
  Workbooks("NIR1.txt").Sheets("Resultat").Cells(i, 1) = Workbooks("RAF1.txt").Sheets("RAF1").Cells(ligne, 1)
 i = i + 1
    ligne = ligne + 1
Loop Until (Left(Workbooks("RAF1.txt").Sheets("RAF1").Cells(ligne, 1), 14)) = "S30.G01.00.001"
Next
End
End Sub


Pour vous aider à mieux comprendre mon problème , j'ai mis en vert le fichier 'RAF1.txt) cible pour la recherche et les lignes de code que je ne sais pas modifier afin que la macro fasse la recherche sur un repertoire et non pas sur un seul fichier chose qu'elle fait très bien d'ailleurs .

Merci à vous tous
0
Rejoignez-nous