Pb macro - erreur d'exécution 1004

Le
ccs.ats
Bonjour,

J'utilise le code ci dessous depuis X années avec un raccourci dans m=
es macro perso.

Sub Supprime_lignes_filtrees()
' Touche de raccourci du clavier: Ctrl+Maj+S
If MsgBox("Etes vous sûr de vouloir supprimer les filtrées ?", vb=
YesNo) = vbYes Then
Range("_FilterDataBase").Offset(1, 0).Resize(Range("_FilterDataBase"). _
Rows.Count - 1).SpecialCells(xlCellTypeVisible).Delete Shift:=xlUp
ActiveSheet.ShowAllData
Else
MsgBox "Annulé"
End If
End Sub

Et aujourd'hui, cela ne fonctionne plus et affiche l'erreur 1004 (je n'ai =
rien changé, c'est toujours XL2016 depuis 8 mois).

Avez vous une explication ? une solution ?

Merci pour votre aide.
BH
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michd
Le #26497341
Bonjour,
Les filtres créent des noms masqués. Afin de s'assurer qu'à chaque filtre, la plage de cellules
représentées par ces noms est mise à jour selon l'étendue des données, utilise ce type de procédure
avant de lancer la procédure ta procédure. Dans ta procédure de filtre, appelle cette procédure dès
le tout début de la procédure en y ajoutant une ligne de code : Call
Suppression_Noms_Masqués_des_Filtres suivi du code de ta procédure de filtre.
'-----------------------------------
Suppression_Noms_Masqués_des_Filtres()
' Delete names
On Error Resume Next
With ActiveWorkbook
.Names("_FilterDatabase").Delete
.Names("Criteria").Delete
.Names("Extract").Delete
End With
End Sub
'-----------------------------------
MichD
Publicité
Poster une réponse
Anonyme