Décalage rapide de lignes - Excel

Bonjour,

Ma question est certainement très basique, mais une solution valide me ferait gagner beaucoup de temps.
Je ne suis pas vraiment performant en macros excel...

Pour faire simple, j'ai effectuer une petite fusion entre deux fichier excel.
La donnée commune à ma fusion est un code produit.

Jai donc trié mes colonnes par code produit dans le fichier A et le fichier B.
Après un petit copier collé, je me retrouve donc avec mon onglet qui contient les données de mes fichiers A et B.

Cependant les deux fichiers ont de nombreuses références qui ne figurent pas dans l'autre fichier (exemple : référence présente dans fichier A et pas dans fichier B et vice versa)

Pour les distinguer, j'ai créé une colonne avec la formule =(A154=AD154) qui correspond à mes colonnes de codes produits. Ainsi je peux repérer les codes différents car "FAUX" et "VRAI" s'affichent grace à la formule.

Il me faut maintenant supprimer toutes mes lignes "FAUX" pour ne garder que les lignes présentes dans A et dans B.Les lignes doivent bien entendu se décaler vers le haut au fur et à mesure...

Manuellement c'est impossible car mon fichier possède plus de 10 000 lignes.

Quelqu'un aurait un petit programme à me proposer ?

Merci beaucoup pour votre réponse rapide
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. salut

    c'est pas tous a fait ce que tu veu mais c'est un debut

    je regarde si la cellule (l i c j) contient "FAUX" et si c'est le cas
    je supprime le contenu de la cellule
    tous ca dans une boucle bien sur
    tu à juste à trouvé comment faire pour supprimé carément la cellule et non son contenu
    comme on dit chez moi "y a qu'a il faut"

    for i=0 to 10000
    for j =0 to 10000
    If ActiveSheet.cells(i, j).value = "FAUX" Then
    cells(i, j).Clear
    end if
    Next
    Next
    1. Salut,

      Tu peux faire une macro vba, mais pourquoi ne pas trier ta feuille sur la colonne vrai/faux et du coup, tu peux selectionner facilement tous tes "Faux"
      1. Merci pour vos réponses super rapides.

        @ Zavenger:

        macro vba ou macro excel, je suis incompétent dans les 2 cas.
        Quand à classer les vrais et faux puis supprimer les faux c'est impossible car dès qu'il y a un faux, tout est décalé et les suivants deviennent systématiquement FAUX à leur tour. C'est balo comme on dit chez moi ...

        @ FL0:

        Merci pour cette proposition.
        Effectivement l'objectif est d'effectuer le décalage vers le haut à chaque fois, car d'autres colonnes avec d'autres infos (prix, infos diverses...) découlent de mes fameuses colonnes "codes produits". Ces autres colonnes sont adjacentes aux colonnes "codes produits".

        A noter également que si j'effectue le tri et la suppression manuellement, il me faut à chaque fois rafraichir mes formules en les tirant vers le bas. (en clair : J'ai une colonne FAUX / Je supprime les cellules qui ne m'interessent pas et fait remonter les bonnes cellules à la bonne hauteur, et après validation FAUX est toujours affiché / Je tire ma formule dans les cellules supérieures, et elle se transforme en VRAI )

        L'idée serait donc de faire tout cela automatiquement.
        Merci beaucoup pour votre contribution.
        1. voici une macro vba qui spprime les lignes en fonction de la valeur d'une cellule

          Sub supprime()
          Dim lig As Double
          For lig = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
          if Cells(lig, 3).Value ="FAUX" then
          Rows(lig).Delete
          Endif
          Next lig
          End Sub

          en l'occurence la colonne C (3)
          1. Contributeur
            Bonjour,
            Suis pas sûr qu'il faut mettre "FAUX" entre guillemets, c'est une valeur booléenne.
            A+
          2. @lermite222moi je pense car on veut vérifier le contenu de la cellule en Q° Mais bonne remarque si ca ne marche pas le diagnostique pourra etre tres rapide
            a+
        2. j'ai besoin de quelque precision

          quand tu as une cellule (faux) c'est a cause de quoi? le contenu des cellule à coté (gauche et droite ne convient pas ??)
          donne nous ta formule ca serai cool
          parceque la javance dans le noir
          et dit nous si tu veut juste remonté la colonne ou ta cellule est mauvaise ou si tu veut tous décallé (d'une ligne)
          dans quel cas la macro de zavenger est pas mal
          1. Merci à tous mais vous pouvez laisser refroidir vos matières grises.

            Ma chef m'a conseillé d'abandonner ma méthode et de privilégier l'outil recherchev.

            Et en effet c'est moins casse tête.

            Merci pour tout