Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Usine à gaz

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

Réponses
12
Affichages
469
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…