peut on simplifier cette recherche

mirek

XLDnaute Nouveau
Bonsoir à tous :)

nouveau sur le forum et premier post .

voilà la question ?

j'ai fait un petit programme qui me permet de rechercher plusieurs mots dans une même colonne sur la feuille "9b2"

ensuite je copie cette ligne et je la colle dans une seconde
feuille "Casse_four "
et celà autant qu'il y a de critères de mots
sa fonctionne mais j'aimerais savoir si on peut simplifier la tache en sachant que je vais me retrouver avec une vingtaine de mots à chercher et que ma ligne "If Cells(ligne, 1).Value =" risque d'etre très longue

merci de m'apporter votre aide

voici les lignes du programme

Private Sub CommandButton9_Click()
Application.ScreenUpdating = False
Sheets("9b2").Select
derniere_ligne = Range("B65536").End(xlUp).Row
position_ligne = 1
position_four = 1

For ligne = 1 To derniere_ligne
Sheets("9b2").Select
If Cells(ligne, 1).Value = "pain" Or Cells(ligne, 1).Value = "croissant" Or Cells(ligne, 1).Value = "eclair" Or Cells(ligne, 1).Value = "baguette" Then
Rows(ligne).Select
Selection.Copy
Sheets("Casse_four").Select
Rows(position_four).Select
ActiveSheet.Paste
Application.CutCopyMode = False
position_four = position_four + 1
End If
 

JNP

XLDnaute Barbatruc
Re : peut on simplifier cette recherche

Bonjour Mirek et bienvenue :),
En passant par un Select Case et en remplaçant:
Code:
If Cells(ligne, 1).Value = "pain" Or Cells(ligne, 1).Value = "croissant" Or Cells(ligne, 1).Value = "eclair" Or Cells(ligne, 1).Value = "baguette" Then
Rows(ligne).Select
Selection.Copy
Sheets("Casse_four").Select
Rows(position_four).Select
ActiveSheet.Paste
Application.CutCopyMode = False
position_four = position_four + 1
End If
par
Code:
Select Case Cells(ligne, 1).Value
    Case "pain", "croissant", "eclair", "baguette"
        Rows(ligne).Copy Sheets("Casse_four").Rows(position_four)
        position_four = position_four + 1
End Select
je pense que que ton code sera simplifié.
Bonne nuit :cool:
 

CBernardT

XLDnaute Barbatruc
Re : peut on simplifier cette recherche

Bonsoir mirek et JNP,

Une autre solution :

1- Créer une feuille Données et dans la colonne A mettre les mots à chercher. Pain, croissant, etc...
2- Un petit tableau dynamique est défini avec ces mots
3- Deux boucle imbriquées cherchent successivement chaque mot dans la feuille 9b2 et reporte la ligne concernée dans la feuille Casse_four

Private Sub CommandButton9_Click()
Dim Derniere_ligne As Integer, position_ligne As Integer, position_four As Integer, Ligne As Integer
Dim Tablo, i As Integer
Application.ScreenUpdating = False

position_ligne = 1
position_four = 1
With Sheets("Données")
' Création du tableau dynamique avec les mots de la feuille Données
Tablo = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
With Sheets("9b2")
Derniere_ligne = .Range("B65536").End(xlUp).Row
' Deux boucles pour chercher les mots
For i = 1 To UBound(Tablo, 1)
For Ligne = 1 To Derniere_ligne
If .Cells(Ligne, 1).Value = Tablo(i, 1) Then
.Rows(Ligne).Copy Sheets("Casse_four").Rows(position_four) ' Report de la ligne
position_four = position_four + 1
End If
Next Ligne
Next i
End With
End Sub

Cordialement

Bernard
 

Pièces jointes

  • RechercheReportV1.xls
    26.5 KB · Affichages: 47

Cousinhub

XLDnaute Barbatruc
Re : peut on simplifier cette recherche

Bonsoir,

ma petite contribution....

Dans le premier onglet, les produits que tu veux extraire...

Tu coches les produits...

Et regarde dans le deuxième onglet....

PS : Utilisation des modules de classe, donc, si tu as un pb pour adapter à ton fichier réel, n'hésite pas
 

Pièces jointes

  • mdl classe txt.xls
    54.5 KB · Affichages: 72

mirek

XLDnaute Nouveau
Re : peut on simplifier cette recherche

bonjour,

merci à tous pour les réponses je vais essayer au matin et je vous dit quoi .

le marchand de sable est passé tôt hier soir et je n'ai pas regarder vos réponses.

merci beaucoup et bonne journée
 
Dernière édition:

mirek

XLDnaute Nouveau
Re : peut on simplifier cette recherche

bonsoir,

merci encore à vous 3 pour votre aide j'ai choisi la solution de CberbardT elle me permettra de pouvoir rajouter facilement des critères.
pour la solution à bhbh elle m'a donné une idée pour une application
ainsi que celle à JNP.
mais toute les 3 sont excellentes.

bon week end de pâques à vous
cordialement

Mirek
 

Discussions similaires

Réponses
3
Affichages
573

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16