Copie/Coller de cellules en fonction d'un critère

Bonjour,

Tout d'abord, merci pour les innombrables occasions ou ce site/forum m'a permis de résoudre des soucis avec notre cher excel/VBA.

Me voilà confronté à un problème que ni mes lectures ici (ou ailleurs), ni mes faibles compétences ne permettent de résoudre efficacement. Voilà pourquoi j'ai décider de franchir le pas en m'inscrivant et en soumettant mon cas.

Je m'excuse d'avance au cas où j'aurais loupé, malgré mes recherches, un sujet déjà existant traitant du même genre de problème.

Je souhaite copier dans une colonne A, un certain nombre de cellule contenant du texte, en fonction d'un critère (texte lui aussi) situé dans une colonne B.

Exemple:

Sur ma feuille 1

Colonne A Colonne B

Valeur 1 Critère rempli

Valeur 2 Critère non rempli

Valeur 3 Critère rempli

Sur ma feuille 2

Valeur 1

Valeur 3

La valeur 2 n'étant pas copier puisque le critère n'est pas rempli.

Fichier en question joint avec annotations

Merci d'avance et bonne journée

Bonjour

en attendant les pros, avec l'enregistreur...

Cordialement

Bonjour à tous, salut Amadéus,

Pour le même prix, tu peux choisir Présent ou absent

départ en feuille "28-12"

Bonne fin d'année

Claude

712shaft-filtre.zip (16.35 Ko)

Cette seconde solution est exactement la piste sur laquelle je voulais aller!

Je vais étudier ça de près dès maintenant.

Je vous remercie tous les deux pour votre réponse aussi rapide!

Je posterais le fichier final pour modèle.

A quel moment entrez-vous la valeur du critère de sélection dans le code?

re,

.Range("k2") = "=e2='28-12'!g1"             'critère

g1 étant la liste de validation

Claude

Très juste, je n'avais pas pensé à regarde la liste.

Toutes mes excuses.

Puis-je abuser et vous demander le code pour une utilisation standard? C'est à dire avec des instructions comme "plage à copier", "cellule de la liste déroulante", etc . à la place des plages ou cellules dédiées à mon fichier.

Je pense que cela m'aiderait à bien tout comprendre.

Bonsoir,

Quelques explications sur le code

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lg
    If Not Application.Intersect(Target, Range("g1")) Is Nothing Then       'Target = G1 => liste Validation

        '--- feuille de la base de données "GRP11-12" ---
        With Sheets("GRP11-12")
            Lg = .Range("a" & Rows.Count).End(xlUp).Row                     'dernière ligne colonne A

            '-- filtre avancé avec extraction sur feuille "28-12" --
            .Range("k2") = "=e2='28-12'!g1"                                 'critère de filtre
            .Range("a1:e" & Lg).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
            .Range("k1:k2"), CopyToRange:=Range("a1:d1"), Unique:=False
            .Range("k2").ClearContents                                      'efface le critère
        End With

        '--- feuille active avec choix en G1 ---
            Range("h1") = "Qté = " & Application.CountA(Range("d2:d" & Lg)) 'CountA = NBVAL
            Application.Goto Range("a1"), Scroll:=True                      'affiche le haut de l'écran
            Target.Activate
    End If
End Sub

Amicalement

Claude

bonsoir bonnes fetes de fin d'années à tous

pour les non vba istes

avec comme Dubois le choix du critere

450shaft.zip (20.54 Ko)

cordialement

Merci encore pour votre aide!

Bonsoir à tous,

Je remercie les personnes qui ont fait cette macro car c'est presqu'exactement ce dont j'avais besoin. Etant complètement novice dans le VBA j'ai pu bidouiller le code pour le faire à ma sauce et l'appliquer à mon fichier d'inventaire de stock d'ingrédients. En plus de ce que ce code permet, je désire réaliser la chose suivante :

1) Sélectionner la date à laquelle j'ai réalisé la vérification des stock dans "resum alarm"

2) Choisir d'afficher tous les ingrédients où il y a eu une alarme dans "Fiche_inventaire"

3) Que les ingrédients qui sont listés soient séparés des catégories ABC, DEF,... (cellules en vert).

Vous verrez mon fichier Excel avec les deux onglets cités et un autre "Exemple" de ce que je désire.

Je vous remercie par avance de votre aide.

Bonjour

Ce n'est pas bien de squatter un post

Un essai

Merci beaucoup ça marche nikel!!!

Par contre, il ne fallait pas que je réponde sur ce poste? En fait je reprenais une macro d'un poste existant que je voulais modifier à ma sauce. Si je comprend bien il faut que je refasse une nouvelle demande normalement? Désolé je suis tout nouveau sur ce forum

Bonjour

Oui c'est cela, il fallait faire une nouvelle demande et en faisant référence à ce post

Car comme tu n'es pas le "propriétaire" du sujet tu ne pas clôturer ce post

En plus un post qui est déjà soit clôturé ou comportant des réponses n'attire pas les personnes qui peuvent t'aider

Pour la prochaine fois

Rechercher des sujets similaires à "copie coller fonction critere"