Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Si j'ai bien compris
(à tester sur une copie du classeur, pas sur l'original)
VB:
Sub Test_OK()
Dim f As Range
Application.ScreenUpdating = False
ActiveSheet.Range("$A$4:$F$24").AutoFilter Field:=4, Criteria1:="<>EGUILLES", Operator:=xlAnd
Set f = Range("_FilterDataBase")
f.Offset(1, 0).Resize(f.Rows.Count - 1).SpecialCells(12).Delete Shift:=xlUp
ActiveSheet.ShowAllData
ActiveSheet.AutoFilterMode = False
End Sub
PS: La macro supprime les lignes ne contenant pas EGUILLES
EDITION: Oups pas rafraîchi à temps
Bonjour Laurent78
FACITFR
Merci d'avoir superbement ignoré ma participation dans ta discussion...
(cf le message#3)
Cela fait toujours plaisir de proposer du code VBA en vain 😉
(J'ai pourtant pris ma douche ce matin et brossé les dents, ce n'est donc pas un manque d'hygiène qui motive cette ostracisme dominical 😉)
Du coup, soulagé d'à nouveau exister, je propose cette version modifiée au lieu de supprimer des lignes, efface le contenu des cellules
VB:
Sub Test_OK2()
Dim f As Range
Application.ScreenUpdating = False
ActiveSheet.Range("$A$4:$F$24").AutoFilter Field:=4, Criteria1:="<>EGUILLES", Operator:=xlAnd
Set f = Range("_FilterDataBase")
f.Columns(4).Offset(1, 0).Resize(f.Rows.Count - 1).SpecialCells(12) = Empty
ActiveSheet.ShowAllData
ActiveSheet.AutoFilterMode = False
End Sub
NB: Dans ton premier message, tu parles d'effacer le contenu de deux colonnes, or sauf erreur de ma part, que ce soit la proposition de Laurent78 ou la mienne (la dernière), on n'efface que le contenu de la colonne D, non ?
Quelle autre colonne doit voir également son contenu effacé?
La F peut-être?
Désolé Staple,
Je n'ai pas lu en temps voulu ta réponse de 12:25.
je me rends plus rarement sur le site et j'en est perdu les habitudes.
Je suis simplement parti déjeuner avant te répondre.
J'espère que tu voudras bien me pardonner ce manque de courtoisie.
Pas de souci.
(quand j'évoque douche et brosse à dent c'est que je suis en mode ironie amicale 😉)
Donc si la deuxième colonne à effacer est bien la colonne F alors voir cette 3ième version de mon code initial
VB:
Sub Test_OK3()
Dim f As Range
Application.ScreenUpdating = False
ActiveSheet.Range("$A$4:$F$24").AutoFilter Field:=4, Criteria1:="<>EGUILLES", Operator:=xlAnd
Set f = Range("_FilterDataBase")
f.Columns(4).Offset(1, 0).Resize(f.Rows.Count - 1).SpecialCells(12) = Empty
f.Columns(6).Offset(1, 0).Resize(f.Rows.Count - 1).SpecialCells(12) = Empty
ActiveSheet.ShowAllData
ActiveSheet.AutoFilterMode = False
End Sub
C'est parfait !
Pour ma part, j'avais repris le code de Laurent
et "Range(D5:F24)". La colonne E , ne me sert qu'à rentrer
des données manuscrites.
Merci encore.
Certes, mais (petit cachottier), tu ne nous l'avais pas indiqué que tu avais fait toi-même la modif du code proposé par Laurent78 😉
C'est pourquoi je t'ai proposé un 3ième code 😉
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD