Microsoft 365 Effacer le contenu des cellules dans les lignes filtrées

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Je vous souhaite un bon confinement et une bonne journée ... courage :)

Je bute sur l'action suivante que je n'arrive pas à coder malgré mes tests et recherches :mad:
Dans le fichier joint, je filtre en faisant un choix (sélection en A3)
- action 1
après filtrage, je copie (par exemple) la valeur 150 dans toutes les lignes y compris lignes masquées
VB:
Sub copier()
    [e2].copy
    [c5:i1079].Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    [a5].Select
End Sub
ça fonctionne !
- action 2
Mais à l'inverse quand je veux effacer les valeurs dans toutes les lignes y compris lignes masquées

Code:
Sub eff()
    [c5:i1079].Select
    Selection.ClearContents
    [a5].Select
End Sub
ça ne fonctionne pas
Les valeurs ne sont pas effacées dans les lignes masquées


Auriez-vous la solution ? (ça m'arrangerait bien :))

Avec mes remerciements,
Amicalement,
lionel,
 

Pièces jointes

  • lignFiltrees_supprValeurs.xlsm
    64.3 KB · Affichages: 8
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour Lionel,

Problème intéressant, je n'avais jamais remarqué cette propriété du Collage spécial-Valeurs.

Pour effacer il suffit de faire la même chose que pour copier :
VB:
Sub copier()
    [e2].Copy
    [c5:i1079].PasteSpecial xlPasteValues
    Application.CutCopyMode = 0
End Sub

Sub eff()
Dim mem$
    mem = [e2].Formula 'mémorise
    [e2] = ""
    [e2].Copy
    [c5:i1079].PasteSpecial xlPasteValues
    Application.CutCopyMode = 0
    [e2] = mem 'restitue
End Sub
N'oublie pas qu'en VBA on ne sélectionne jamais !

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 149
Membres
103 133
dernier inscrit
mtq