Question
J'ai ajouté un style de table pour exceller dans un classeur à l'aide de l'instruction suivante:
ActiveWorkbook.TableStyles.Add("PivotTable SS")
Je peux le supprimer en utilisant:
ActiveWorkbook.TableStyles("PivotTable SS").Delete
Comment puis-je vérifier par programme s'il existe déjà avant de décider de le supprimer ou non?
Actuellement, je passe en revue tous les styles de tableau et effectue une suppression sélective:
For Each ts In ActiveWorkbook.TableStyles
If ts.Name = "PivotTable Style 1" Then
ts.Delete
End If
Next ts
Cependant, cela prend beaucoup de temps. Comment puis-je vérifier l'existence d'un tableau croisé dynamique et le supprimer sans effectuer de boucle?
Merci :))
La solution
Vous pouvez essayer d’attribuer le style à une variable. Si la variable est Nothing, le style n'existe pas. Si le style n'existe pas et que vous essayez d'affecter la variable, vous recevrez un message d'erreur. Vous devez donc suspendre temporairement la gestion des erreurs.
Sub DeleteAStyle()
Dim ts As TableStyle
On Error Resume Next
Set ts = ActiveWorkbook.TableStyles("PivotTable Style 1")
On Error GoTo MyUsualErrorHandler
If Not ts Is Nothing Then
ts.Delete
End If
End Sub