Macro

wallhqck Messages postés 37 Statut Membre -  
wallhqck Messages postés 37 Statut Membre -
Bonsoir à tous,

Voila j'ai fais quelques recherches sur internet pour trouver une solution mais je n'y arrive vraiment pas (je débute en macro donc c'est la galère)

Voila mon problème, je souhaite faire une macro qui vérifie une condition et qui copie colle une ligne sur une autre page excel.

En gros, sur une page excel, j'ai
colone A : Reférence
colone b : description produit
colone c : pays etc etc
et colone i : j'ai ma condition (soit "check" ou "PB")

En gros je souhaite que ma macro vérifie la colonne "i" et que si la cellule affiche "PB", que la ligne qui correspond à toutes les données soit automatique collée sur une autre page excel, et ainsi de suite jusqu'à la fin (environ 1500 lignes à traiter).

Un grand merci d'avance !

Cordialement.
wallHqck

10 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonsoir

    Dans un cas comme cela tu peux utiliser l'enregistreur de macro pour obtenir ce que tu souhaites :

    1 tu mets en route l'enregistreur de macro
    2 tu selectionnes toute ta plage à trier de la 1ere feuille
    3 tu fais appliquer un filtre sur la colonne i avec critere PB
    4 tu selectionnes toute la plage ainsi filtrée et tu fais copier
    5 tu crées une nouvelle feuille et tu colles ta copie avec collage spécial en cochant valeurs uniquement
    6 tu arrêtes l'enregistrement

    Ta macro est crée

    Cdlmnt
    0
  2. foo
     
    Bonjour

    Sans model dur

    Voila la macro a toi de la mette en forme

    Sub TestCopy()
    Lig = 2
    For L = 2 To Range("A" & Rows.Count).End(xlUp).Row
    If Range("I" & L).Value = "PB" Then
    Rows(L).Copy
    F06.Range("A" & Lig).PasteSpecial xlPasteValues
    Lig = Lig + 1
    End If
    Next
    End Sub

    A+

    Maurice
    0
  3. wallhqck Messages postés 37 Statut Membre
     
    Merci :) Je vais tester ça demain au boulot et je reviens vers vous

    Bonne soirée !
    0
  4. wallhqck Messages postés 37 Statut Membre
     
    Apres quelques esaies je n'y arrive toujours pas; en gros j'ai
    Référence description blabla blabla blabla blabla blabla Prix contrôle Prix
    Ref 1 description 1 blabla blabla blabla blabla blabla 2.00 € ok 2.00 €
    Ref 2 description 2 blabla blabla blabla blabla blabla 3.00 € ok 3.00 €
    Ref 3 description 3 blabla blabla blabla blabla blabla 4.00 € PB 6.00 €
    Ref 4 description 4 blabla blabla blabla blabla blabla 5.00 € PB 4.00 €
    Ref 5 description 5 blabla blabla blabla blabla blabla 6.00 € ok 6.00 €
    Ref 6 description 6 blabla blabla blabla blabla blabla 7.00 € ok 7.00 €
    Ref 7 description 7 blabla blabla blabla blabla blabla 8.00 € PB 9.00 €
    Ref 8 description 8 blabla blabla blabla blabla blabla 9.00 € ok 9.00 €
    Ref 9 description 9 blabla blabla blabla blabla blabla 10.00 € PB 11.00 €
    Ref 10 description 10 blabla blabla blabla blabla blabla 11.00 € PB 10.00 €

    Donc disons que ceci se trouve une la feuille "Pays"

    Je souhaite que la macro repère les "PB" dans la colone "I" et qu'elle me colle toutes les lignes avec un "PB" dans une nouvelle feuille "SYNTHESE".
    Je veux avoir un bouton sur ma feuille "SYNTHESE" pour que quand je clique dessus, toutes les erreurs s'affichent sur cette feuille

    Référence : A6:A15
    Identification PB : I6:I15

    Désolé je suis vraiment pas doué.

    Cordialement
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. foo
     
    Bonjour

    donne ton fichier excel pour voir
    ca serat plus simple

    A+

    Maurice
    0
  7. wallhqck Messages postés 37 Statut Membre
     
    comment le joindre à la réponse ? :O
    0
  8. foo
     
    Re

    Pour communiquer ton classeur tu le télécharges sur www.cjoint.com et tu mets ici le lien obtenu.

    A+

    Maurice
    0
  9. foo
     
    Bonjour

    Voila ta macro

    http://cjoint.com/?3Jpu5tBtRsJ

    A tester bien sur
    A+

    Maurice
    0
  10. wallhqck Messages postés 37 Statut Membre
     
    Un grand merci, elle marche parfaitement je vais pouvoir l'adapter à mes fichiers.

    Pour m'aider et pour ma culture générale en macro peux-tu m'expliquer les étapes avec le code ?

    Lig = 7
    'Faire le copier/coller des ligne à partir de la ligne 7 ?

    Rows(Lig & ":" & Rows.Count).Delete
    '?

    For L = 6 To Feuil1.Range("A" & Rows.Count).End(xlUp).Row
    '?

    If Feuil1.Range("I" & L).Value = "PB" Then
    ' Si la colone I de la feuille 1 affiche PB

    Feuil1.Rows(L).Copy
    'Sélectionne la ligne et la copie ?

    Range("A" & Lig).PasteSpecial xlPasteValues
    'Selectionne à partir de A et jusqu'a la fin de la ligne ?

    Lig = Lig + 1
    'Copie sur la ligne d'en dessous ?

    End If
    Next

    Application.CutCopyMode = False
    '?

    Application.ScreenUpdating = False
    '?

    Range("A1").Select
    'Pourquoi sélectionner A1 ensuite ?

    End sub

    Je te remercie

    Cordialement
    0