Problème avec macro VBA de selection de lignes Excel avec conditions [Résolu]

Messages postés
39
Date d'inscription
vendredi 18 février 2011
Statut
Membre
Dernière intervention
1 mars 2011
- - Dernière réponse : 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
Afficher la suite 

10 réponses

Meilleure réponse
Messages postés
36
Date d'inscription
lundi 29 janvier 2007
Statut
Membre
Dernière intervention
17 janvier 2017
3
Merci
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) ...

Dire « Merci » 3

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

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

Commenter la réponse de Yous00
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
8
3
Merci
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+

Dire « Merci » 3

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

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

Commenter la réponse de bigfish_le vrai
Messages postés
36
Date d'inscription
lundi 29 janvier 2007
Statut
Membre
Dernière intervention
17 janvier 2017
0
Merci
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) ...
Commenter la réponse de Yous00
Messages postés
39
Date d'inscription
vendredi 18 février 2011
Statut
Membre
Dernière intervention
1 mars 2011
0
Merci
euh stp tu peux me dire comment on fait pour joindre un fichier à un message?? je n y arrive pas ....
Commenter la réponse de woow74
Messages postés
36
Date d'inscription
lundi 29 janvier 2007
Statut
Membre
Dernière intervention
17 janvier 2017
0
Merci
vas sur ce site ==> http://cjoint.com/index.php
Petit bidouilleur en excel (vba) ...
Commenter la réponse de Yous00
Messages postés
36
Date d'inscription
lundi 29 janvier 2007
Statut
Membre
Dernière intervention
17 janvier 2017
0
Merci
pardon, puis tu colle le lien ici

Petit bidouilleur en excel (vba) ...
Commenter la réponse de Yous00
Messages postés
39
Date d'inscription
vendredi 18 février 2011
Statut
Membre
Dernière intervention
1 mars 2011
Commenter la réponse de woow74
Messages postés
39
Date d'inscription
vendredi 18 février 2011
Statut
Membre
Dernière intervention
1 mars 2011
0
Merci
Merci Yous sa marche à merveille
Commenter la réponse de woow74
Messages postés
36
Date d'inscription
lundi 29 janvier 2007
Statut
Membre
Dernière intervention
17 janvier 2017
0
Merci
your welcome !

Petit bidouilleur en excel (vba) ...
Commenter la réponse de Yous00
Messages postés
39
Date d'inscription
vendredi 18 février 2011
Statut
Membre
Dernière intervention
1 mars 2011
0
Merci
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
Commenter la réponse de woow74