Décalage rapide de lignes - Excel
thelvy
Messages postés
8
Statut
Membre
-
thelvy -
thelvy -
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
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
A voir également:
- Décalage rapide de lignes - Excel
- Liste déroulante excel - Guide
- Acces rapide - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
6 réponses
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
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
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"
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"
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.
@ 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.
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)
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)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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