faire une boucle avec .find

nicroq

XLDnaute Occasionnel
Bonsoir a tous et merci pour votre aide

je n'arrive pas a faire une boucle en VBA et j'aurais besoin de votre aide.

voici mon code qui marche pour une ligne mais je souhaiterai faire la boucle sur l ensemble des lignes et non pas sur une seule ligne comme dans mon code :

Code:
    Dim cell_nom_CMR As Range, lg_CMR As Integer
Set cell_nom_CMR = Columns("K").Find("CMR", , , , , xlPrevious)
lg_CMR = Columns("K").Find(cell_nom_CMR).Row

MsgBox "le cmr est en cellule" & lg_CMR

Worksheets("recap").Range(Cells(lg_CMR, 10), Cells(lg_CMR, 23)).Copy
 Worksheets("Feuil1").Cells(12, 1).PasteSpecial Paste:=xlPasteValues

en fait avec mon code je trouve le mot CMR et je copie la ligne de la colone 10 à 23 mais ce que je souhaiterai faire c'est faire l'analyse du mot CMR sur toute la colonne K et a chaque fois que CMR est trouvé alors la ligne est copiée.

Merci pour votre aide vraiment
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : faire une boucle avec .find

Bonjour Nicroq,

Comme vous n'avez fourni aucun fichier, il est difficile de vous répondre.

Un essai d'une fonction générique qui renvoie la plage filtrée d'une plage source filtrée selon une valeur de colonne: set rgRES=PlageFiltrée(range("B2:F100"), range("K2"),"toto")


Vous utilisez Excel-2003. Je ne dispose plus de cette version donc je n'ai pas pu tester la fonction avec cette version.

Le fichier joint permet de tester la fonction.
Le code et les explications concernant la fonction sont dans le module mod_FiltrerPlageValeur.
 

Pièces jointes

  • Filtrage-plage-une valeur v1.xls
    78.5 KB · Affichages: 45
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 222
Messages
2 107 480
Membres
109 837
dernier inscrit
Baabi