Supprimer des lignes superflues automatiquement

hasardeux

XLDnaute Nouveau
J'ai un long fichier comportant des centaines de lignes et dont le nombre est variable.

Afin d'optimiser la lecture des données importantes, j'aimerais supprimer les lignes dont je n'ai pas besoin.

Pour identifier ces lignes, j'ai trouver une seule solution:

- c'est de supprimer toutes les lignes qui se trouvent entre deux cellules (colonne A) contenant une certaine valeur et de remplacer toutes ces lignes par une seule ligne rouge !

exemple: lire dans toute la colonne A et supprimer toutes les lignes qui se trouvent entre la ligne dont la cellule A? est égale à "VALEUR1" et la ligne dont la cellule A? est égale à "VALEUR2" puis remplacer les lignes supprimer par une ligne rouge.

Nota: ? correspond au numéro de la cellule dans la colonne A

J'espère être claire pour vous

Merci pour votre aide précieuse
 

mth

XLDnaute Barbatruc
Re : Supprimer des lignes superflues automatiquement

Bonsoir,

As tu essayé le menu Données/Filtre, puis sur l'entête de ta colonne A, Filtre personnalisé / Ne commence pas par, saisir Valeur1 sur la première ligne, cocher "OU", saisir Valeur2 sur la seconde ligne.

Ainsi seules les lignes ne commençant pas par Valeur1 ou Valeur2 resteront visibles.

Bonne soirée,

mth
 

hasardeux

XLDnaute Nouveau
Re : Supprimer des lignes superflues automatiquement

Merci pour vote reponse.
MAIS

Ma question est bcp plus compliquée que masquer certaines les lignes pour les reasons suivantes:
- valeur1 et valeur2 sont données juste a titre d'example. Dans Mon tableau je peux avoir une quinzine
- Mon objectif c EST pas de masquer mais de supprimer toutes les lignes entre 2 valeurs recherchées et remplacer a chaque fois les lignes supprimées par une seule ligne rouge.

D où l'interet de m aider a concevoir mon objectif.

Merci bcp
 

JCGL

XLDnaute Barbatruc
Re : Supprimer des lignes superflues automatiquement

Bonjour à tous,
Salut Mimi,

Il serait judicieux de déposer un bout de fichier pour connaitre exactement les valeurs... de Valeur1 et Valeur2.

Plein de bisous à Mimi
A+ à tous
 

hasardeux

XLDnaute Nouveau
Re : Supprimer des lignes superflues automatiquement

Bonsoir tout le monde,

Bonsoir JCGL

Vous avez raison, je vous joint un fichier exemple. Feuil1 est le tableau brut et Feuil2 est le résultat attendu.

ValeurX et ItemX sont juste donné comme exemple. Il peuvent être n'importe quel mot ou expression. Et le nombre est variable et la longueur du tableau est aussi variable.


Merci de m'aider à construire ma macro
 

Pièces jointes

  • Classeur1.xls
    19 KB · Affichages: 88
  • Classeur1.xls
    19 KB · Affichages: 93
  • Classeur1.xls
    19 KB · Affichages: 94

Fo_rum

XLDnaute Accro
Re : Supprimer des lignes superflues automatiquement

Bonsoir,

sans plus de précisions, une première approche : clic sur le premier mot puis sur le second et ainsi de suite.
 

Pièces jointes

  • SuppressionLignesIntercalées(Clics).xls
    32.5 KB · Affichages: 83
  • SuppressionLignesIntercalées(Clics).xls
    32.5 KB · Affichages: 87
  • SuppressionLignesIntercalées(Clics).xls
    32.5 KB · Affichages: 78

hasardeux

XLDnaute Nouveau
Re : Supprimer des lignes superflues automatiquement

Bonsoir Fo_rum,

Votre solution est vraiment ingénieuse et ça marche de tonnerre.


MAIS est ce qu'il y a une possibilité de définir les VALEUR concernées dans Feuil2 (colonne A) de A1 la dernière cellule trouvée.

Ainsi, la macro chercherait elle même les valeurs dans Feuil2 et appliquer le code pour supprimer les lignes superflues dans Feuil1.

Comme ça, on aura pas à pointer chaque fois une VALEUR pour exécuter la macro.


Merci encore
 

hasardeux

XLDnaute Nouveau
Re : Supprimer des lignes superflues automatiquement

Bonjour tout le monde,

Est-ce qu'il y a un moyen d'étouffer la macro proposée par Fo_rum dans le fichier excel joint selon ma description précédente:

----------------------------------------
est ce qu'il y a une possibilité de définir les VALEUR concernées dans Feuil2 (colonne A) de A1 la dernière cellule trouvée.

Ainsi, la macro chercherait elle même les valeurs dans Feuil2 et appliquer le code pour supprimer les lignes superflues dans Feuil1.

Comme ça, on aura pas à pointer chaque fois une VALEUR pour exécuter la macro.
----------------------------------------

Merci de votre aide
 

Pièces jointes

  • SuppressionLignesIntercalées(Clics).xls
    32.5 KB · Affichages: 63
  • SuppressionLignesIntercalées(Clics).xls
    32.5 KB · Affichages: 67
  • SuppressionLignesIntercalées(Clics).xls
    32.5 KB · Affichages: 62

Fo_rum

XLDnaute Accro
Re : Supprimer des lignes superflues automatiquement

Bonjour,

Est-ce qu'il y a un moyen d'étouffer* la macro proposée par Fo_rum dans le fichier excel joint selon ma description précédente:
...
Comme ça, on aura pas à pointer chaque fois une VALEUR** pour exécuter la macro.

* :confused:
** si les VALEURs commencent toutes par "VALEUR" tu peux essayer la macro du fichier joint sinon je laisse à d'autres le soin de deviner ce que tu as dans ton classeur.
Nota : un seule feuille suffit et le bouton est supprimé à la fin pour éviter de relancer la macro.
 

Pièces jointes

  • SuppressionLignesIntercalées.xls
    31 KB · Affichages: 66
  • SuppressionLignesIntercalées.xls
    31 KB · Affichages: 65
  • SuppressionLignesIntercalées.xls
    31 KB · Affichages: 60

hasardeux

XLDnaute Nouveau
Re : Supprimer des lignes superflues automatiquement

Merci pour votre suivi.

Mais le problem c est que Valeur* est juste donnée à titre d example.
c est pour ça, j AI proposé de lister les valeurs proposées Dans la colonne A de Feuil2 .

Merci pour votre aide
 

Yaloo

XLDnaute Barbatruc
Re : Supprimer des lignes superflues automatiquement

Bonsoir Hasardeux, le fil, le forum,

Avec la macro ci-dessous, tu peux à l'aide de ta liste en feuil2, ne garder que tes lignes "VALEURS"

VB:
Sub ligne_couleur()
Application.ScreenUpdating = False
    supp
    derligne1 = ActiveSheet.Cells(65536, 1).End(xlUp).Row
    For i = derligne1 To 2 Step -1
    Rows(i).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows(i).Interior.ColorIndex = 3
    Next
Application.ScreenUpdating = True
End Sub
Sub supp()
    derligne2 = Sheets("Feuil2").Cells(65536, 1).End(xlUp).Row
    derligne1 = ActiveSheet.Cells(65536, 1).End(xlUp).Row
    Z = 1
    For dlig1 = 1 To derligne1
        For dlig2 = 1 To derligne2
            If ActiveSheet.Cells(dlig1, 1).Value = Sheets("Feuil2").Cells(dlig2, 1).Value Then
            Z = Z + 1
            GoTo pass
            End If
        Next
pass:
        If Z = 1 Then
            ActiveSheet.Cells(dlig1, 1).EntireRow.Delete
            dlig1 = dlig1 - 1
            derligne1 = derligne1 - 1
            If dlig1 >= derligne1 Then Exit Sub
        End If
        Z = 1
    Next
End Sub

En espérant avoir répondu à ton problème

A+
Yaloo
 

Pièces jointes

  • SuppressionLignesIntercalées.xls
    37.5 KB · Affichages: 67
  • SuppressionLignesIntercalées.xls
    37.5 KB · Affichages: 76
  • SuppressionLignesIntercalées.xls
    37.5 KB · Affichages: 77

hasardeux

XLDnaute Nouveau
Re : Supprimer des lignes superflues automatiquement

Bonjour le Forum,

Bonjour Yaloo.

Votre code marche à merveille je vous en remercie

MAIS

apparement j'ai très mal exprimé mon problème. La macro conçue par Yaloo permet de supprimer toutes les lignes sauf celles dont la première cellule commence par une des valeurs décrites dans Feuil2.

OR

Moi, je cherche à supprimer juste les lignes qui sont situées entre deux valeurs de cellules telles que décrites dans Feuil2.

J'ai bien pensé à mon problème et j' ai conclu qu'il faut travailler par plage afin de ne pas supprimer les lignes dont je n'ai besoin.

Ainsi, vous trouverez ci-joint un fichier excel avec 3 feuilles:
- Feuil1 : mon tableau brut avec des cellules colorées en jaune (les couleurs indiques ce que je voudrais garder au final. Mon fichier de base n'a pas de couleur jaune. c'est donné juste à titre d'illustration);
- Feuil2: plage définissant les bornes. L'objectif est de supprimer toutes les lignes se trouvant entre la borne A (colonne A) et Borne B
(colonne B)
- Feuil:: Le résultat attendu de la macro prévue.

Mon fichier de base contient des centaines des lignes et j'aurais une dizaine de borne et ne contient aucune couleur à la base.

J'espère être plus précis et désolé de vous avoir orienté dans le mauvais chemin en ne pensant pas à l'idée de bornes au départ.

Merci de votre aide
 

Pièces jointes

  • SuppLignes.xls
    19 KB · Affichages: 76
  • SuppLignes.xls
    19 KB · Affichages: 76
  • SuppLignes.xls
    19 KB · Affichages: 73

Yaloo

XLDnaute Barbatruc
Re : Supprimer des lignes superflues automatiquement

Bonsoir hasardeux,

Donc si je comprend bien ton post #13, il faut supprimer les items entre la valeur Feuil2.Column(A) et la valeur Feuil2.column(B).
Est-ce bien cela ?
Dans ton fichier exemple les secondes valeurs ne sont pas en jaune mais elles se retrouvent quand même dans ta feuille3.
La seconde VALEUR doit-elle être supprimée ou conservées ?

Yaloo
 

Discussions similaires

Réponses
6
Affichages
162

Statistiques des forums

Discussions
312 412
Messages
2 088 196
Membres
103 763
dernier inscrit
p.michaux