Macro cipier ligne condition

Bonjour,

Je cherche via une macro à copier les ligne de la feuille "BD" sur la feuille "BDRESULTAT" si la cellule de la colonne A = à la cellule F1 de la feuille DIM.

Voici mon code, cela fonctionne pour la première ligne trouvée mais la macro s’arrête juste après.

Exemple:

Cellule F1 de DIM = bonjour

Il faut chercher dans la colonne A de la feuille BD toutes les lignes où apparait BONJOUR et copier les lignes entières vers la feuille BDRESULTAT dans la prochaine ligne vide.

Qu'est ce qui ne va pas dans mon code?

Attention, je suis novice en VBA alors pas trop de langage super technique svp.

Sub Renouvellement_Norm()

    Dim plage As Range, cel As Range
    'stop rafraichissement ecran
    Application.ScreenUpdating = False
    'valeur a chercher
    valcherch = Sheets("DIM").Range("F1")
    With Worksheets("BD")
        'derniere cellule colonne D
        derlig = .Range("A" & Rows.Count).End(xlUp).Row
        'defintion plage a tester en memoire
        Set plage = .Range("A1:A" & derlig)
    End With

    derlig = 0
    With Worksheets("BDRESULTAT")
        'test plage
        For Each cel In plage
            If cel = valcherch Then
                'premiere cellule vide apres derniere non vide colonne D
                derlig = .Range("A" & Rows.Count).End(xlUp).Row + 1
                'premier lancement
                If derlig = 2 Then
                    derlig = 1
                End If
                'copy ligne entiere
                cel.EntireRow.Copy .Range("A" & derlig)
            End If
        Next cel
    End With
    'rafraichissement ecran
    Application.ScreenUpdating = True
End Sub

merci d'avance

bonjour

tu veux faire comme en 1960 avec des feuilles de papier et un crayon

essaye avec un TCD

joins ton fichier pour plus d'info

Bonjour,

Merci pour votre réponse mais moi pas tous compris.

Je ne veux pas un TCD mais une macro.

J'y arrive avec ma macro mais que sur le premier résultat trouvé, il s’arrête juste après.

Merci pour votre aide.

re

voici donc avec un TCD et un segment pour choisir le ou les "types"

pratique non ?

j'ai mis sur la feuille 1, mais tu peux faire pareil sur une autre feuille

pas de formule, pas de VBA.

8test.xlsx (17.19 Ko)

Encore merci pour votre réponse.

Cela fonctionne.

Le souci c'est qu'après, je récupère la liste créé de lafeuille RESULTAT pour l'afficher dans un userform via une listbox.

La ça m'oblige d'afficher tout, or je veux afficher dans ma listbox que le résultat en fonction du mot clé choisi.

re

supprime la listbox

à quoi te sert-elle ?

dans 99,99% des cas on s'en passe très bien (moi je n'utilise jamais même pour des applis pros manipulées par 10 personnes).

joins ton exemple avec ton nouveau besoin

nota : on peut toujours copier le TCD en totalité ou en partie et ensuite en faire ce qu'on veut. Par ex collage spécial valeur. Mais je déconseille.

Rechercher des sujets similaires à "macro cipier ligne condition"