Supprimer lignes Excel

Fermé
Bwetch Messages postés 6 Date d'inscription mercredi 21 août 2013 Statut Membre Dernière intervention 26 août 2013 - Modifié par Bwetch le 21/08/2013 à 17:00
Frenchie83 Messages postés 2239 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 28 janvier 2023 - 26 août 2013 à 16:21
Bonjour,
je me retrouve face à un gros problème sur excel :
J'ai environ 300 lignes que j'aimerais trier de façon à ce que toutes les lignes ne comportant pas une cellule remplie en rouge soient supprimées.
Merci d'avance pour l'aide !

2 réponses

Frenchie83 Messages postés 2239 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 28 janvier 2023 335
22 août 2013 à 12:58
Bonjour
essayez ceci
Créez un bouton sur votre feuille et affectez lui la macro suivante:
Sub SuppLigneNonRouge()
    Application.ScreenUpdating = False
    DerLig = Range("A1").SpecialCells(xlCellTypeLastCell).Row
    DerCol = Range("A1").SpecialCells(xlCellTypeLastCell).Column
    For Lig = 2 To DerLig
PremCol:
        For Col = 1 To DerCol
            If Cells(Lig, Col).Interior.ColorIndex = 3 Then GoTo LigneSuivante
        Next Col
        Cells(Lig, Col).EntireRow.Delete
        DerLig = DerLig - 1
        If DerLig = 0 Then Exit Sub
        GoTo PremCol
LigneSuivante:
    Next Lig
End Sub
le code s'éxécute à partir de la ligne 2, les cellules en rouge peuvent se trouver n'importe où sur la ligne testée. bonne journée
cdlt
0
Bwetch Messages postés 6 Date d'inscription mercredi 21 août 2013 Statut Membre Dernière intervention 26 août 2013
22 août 2013 à 14:00
Bonjour Frenchie83,
le code ne marche pas. Alors est ce peut être parce que je ne sais pas comment créer un bouton?
Je me suis juste contenté de créer une macro avec votre code, je l'ai exécutée et rien ne se passe.
En tout cas merci de votre réponse !
Cdlt
0
Frenchie83 Messages postés 2239 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 28 janvier 2023 335
22 août 2013 à 14:13
Re
Evidemment avant de vous l'envoyer j'ai fait des essais qui s'avéraient concluants.
Cependant, j'ai travaillé en aveugle, et il se peut que les références que j'ai pris pour démarrer le programme ne correspondent pas à votre fichier.
Pour cela , je vous propose que vous mettiez un échantillon de votre fichier (Quelques lignes suffisent et sans données personnelles) sur www.Cjoint.com, ainsi je pourrai y adapter le programme en conséquence.
A+
0
Frenchie83 Messages postés 2239 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 28 janvier 2023 335
22 août 2013 à 14:20
Suite à la remarque précédente, j'avais oublié de préciser quelque chose de très important, c'est que j'ai pris une couleur rouge dont l'index est = à 3, or il est fort probable que ayez pris un rouge dont l'index est totalement différent.
0
Bwetch Messages postés 6 Date d'inscription mercredi 21 août 2013 Statut Membre Dernière intervention 26 août 2013
22 août 2013 à 14:28
Re
Voici le lien : https://www.cjoint.com/c/CHwoxG1HLKI
Pour la couleur rouge, ce que j'ai fait est que mon document comportant 1000 et quelques lignes, j'ai cliqué l'onglet 'remplacer'; entré par exemple "BVF"; remplacé par "BVF" sauf que j'ai ajouté un remplissage en prenant le deuxième rouge proposé par défaut.
Ainsi, les éléments que je recherche apparaissent de manière plus évidente.
Merci pour votre patience !
0
Frenchie83 Messages postés 2239 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 28 janvier 2023 335
22 août 2013 à 15:14
Je dois m'absenter en urgence, je reprendrai un peu plus tard
A+
0
Frenchie83 Messages postés 2239 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 28 janvier 2023 335
22 août 2013 à 18:30
Me revoilà
Une petite explication s'impose. Par défaut j'utilise Excel 2007, alors que votre fichier est dans une version antérieure. Je voyais donc toutes les cellules de la colonne O en gris, alors qu'Excel me donnait un index 3 qui correspond au rouge
voici donc le fichier
https://www.cjoint.com/c/CHwsznqK9sB
en espérant que cela fonctionne bien chez vous
bonne soirée
cdlt
0
Bwetch Messages postés 6 Date d'inscription mercredi 21 août 2013 Statut Membre Dernière intervention 26 août 2013
Modifié par Bwetch le 22/08/2013 à 20:30
Rebonsoir, ma version d'excel est la 2010.
Peut être que le propriétaire du fichier a une version antérieure.
Malheureusement, le code ne marche toujours pas, et même dans votre fichier joint.
"Impossible d'exécuter le macro".
Pourtant, quand je configure moi-même un macro il l'accepte.
Vous pouvez peut être essayer de m'envoyer simplement le code?
Ceci dit ne vous embêtez pas, j'ai déjà bien avancé à la main, la technologie ne nous rend pas toujours service ^^.
Merci !
0
Frenchie83 Messages postés 2239 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 28 janvier 2023 335
22 août 2013 à 21:48
Rebonsoir
j'ai trouvé, problème de syntaxe entre 2007 et ancienne version, cette fois-ci ça doit marcher
Sub SuppLigneNonRouge()
    Application.ScreenUpdating = False
    DerLig = Range("B10000").End(xlUp).Row
    DerCol = Range("IV2").End(xlToLeft).Column
    For Lig = 3 To DerLig
PremCol:
        For Col = 1 To DerCol
            If Cells(Lig, Col).Interior.Color = 255 Then GoTo LigneSuivante
        Next Col
        Cells(Lig, Col).EntireRow.Delete
        DerLig = DerLig - 1
        If DerLig = 0 Or DerLig < Lig Then Exit Sub
        GoTo PremCol
LigneSuivante:
    Next Lig
End Sub

bonne soirée
cdlt
0
Bwetch Messages postés 6 Date d'inscription mercredi 21 août 2013 Statut Membre Dernière intervention 26 août 2013
22 août 2013 à 23:30
Bonsoir Frenchie,
le code marche, sauf qu'il me supprime tout sans exception.
J'en déduis que cette fois c'est peut être le code couleur.
Mais, comme la couleur que j'ai utilisée est une couleur prédéfinie je ne trouve pas son code :/.
(J'ai utilisée la même que celle jointe dans le fichier exemple).

Bonne soirée
Cdlt
0
Frenchie83 Messages postés 2239 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 28 janvier 2023 335
22 août 2013 à 23:39
C'est sûrement ça, pour connaître le code, utilisez l'enregistreur de macro pour coloré une cellule avec cette couleur et regardez le code couleur utilisez et le copier dans le programme
0
Frenchie83 Messages postés 2239 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 28 janvier 2023 335
22 août 2013 à 23:51
j'oubliai, changez la couleur de la colonne O, mettez la en bleue par exemple
0