Syntaxe VBA Application.Union

Bonjour à tous,

Je débute en VBA, et je cherche à sélectionner sur une plage, toutes les cellules sauf celles qui ont un style="Insatisfaisant" pour ensuite pouvoir calculer la moyenne de toutes ces cellules.

J'ai fait le script suivant :

Sub testUnion()

Dim SelectionDataPertinente As Range

For Each c In Range(Cells(2, 3), Cells(2, 13))

If c.Style <> "Insatisfaisant" Then

Set SelectionDataPertinente = Application.Union(SelectionDataPertinente, Range(c))

End If

Next

SelectionDataPertinente.Style = "Entrée"

End Sub

Le script plante sur la ligne 5 ("Set ..........) , mais je ne comprends pas ou est le problème.

Est-ce que vous auriez une idée ?

Bonne journée.

bonjour,

peut-être comme ça :

Set SelectionDataPertinente = Application.Union(iif(SelectionDataPertinente is nothing, c,SelectionDataPertinente), c)

et quelque lignes plus loin

if not SelectionDataPertinente is nothing then SelectionDataPertinente.Style = "Entrée"

si cela ne fonctionne pas, svp un fichier avec le problème.

Rechercher des sujets similaires à "syntaxe vba application union"