XL 2019 effacer le contenu de cellules <>"texte"

  • Initiateur de la discussion Initiateur de la discussion FACITFR
  • Date de début Date de début

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 !

FACITFR

XLDnaute Junior
Bonjour à tous,

Je cale sur un code VBA pouvant effacer le contenu de deux colonnes excepté celles qui contiennent
le mot "EGUILLES".
Pouvez-vous m'aider ?
Merci
 

Pièces jointes

Bonjour le fil, FACITFR

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
 
Dernière édition:
Re

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 😉)
 
Re

Ouf, j'ai cru être un moment être invisible.

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.
 
Re

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
 
- 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

Discussions similaires

Retour