Copier le contenu d'une ligne selon condition dans une autre feuille

Bonjour à tous,

Je pense que mon problème n'est pas trop compliqué mais impossible de m'en sortir

Je souhaiterais automatiser la copie d'une ligne entière dans une autre feuille si une cellule donnée de cette ligne à une certaine valeur.

Exemple :
- J'ai une feuille "Site-1" avec une colonne "D" dont les cellules peuvent prendre la valeur "oui" ou "non
- Pour toutes les lignes où la colonne "D" a la valeur "oui", copier toutes les cellules de la ligne dans la feuille "General"
- Puis idem pour la feuille "Site-2"
- Etc

Dit autrement ça revient à copier toute la feuille "Site-1" dans la feuille "General" en ayant supprimer les lignes où colonne "D" = "non".
Je vous joins le fichier de travail.

Merci par avance pour votre précieuse aide.

alpa

Bonjour,

Voici un essai compte tenu de votre besoin.

Sub CopierSiteOui()

    Dim wsG as worksheet, ws as worksheet
    Dim plage as range

    Set wsG = Sheets("General")

    for each ws in worksheets 'pour chaque feuille
        if ws.name Like "Site*" then 'si feuille commence par "Site"
            set plage = intersect(ws.range("D:D"), ws.usedrange) 'definition de la plage a tester (col D utilisée)
            for each cell in plage 'pour chaque cellule de col D
                if cell.value = "oui" then 'si valeur "oui"
                    cell.rows(cell.row).copy wsG.cells(wsG.usedrange.rows.count + 1, 1) 'copie la ligne dans General, à la 1e ligne "dispo"
                end if
            next cell
        end if
    next ws

End sub

Cdlt,

Rechercher des sujets similaires à "copier contenu ligne condition feuille"