J'aimerai créer un fonction qui me renvoi un objet de type Worksheet, selon un nom en paramètre. C'est a dire que si la sheets existe il me renvoi l'objet pointant vers celle-ci, sinon il en crée un nouvelle et me renvoi l'objet pointant vers cette nouvelle sheets.
Ce qui donne :
Mais lorsque je fais appel a cette fonction j'obtiens l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 'Retourne la feuille nommé selon le paramètre sheetsName (soit une new soit celle déjà existante) Function GiveMeSheets(sheetsName As String) As Worksheet Dim oneSheets As Worksheet 'Desactive les messages d'erreurs On Error Resume Next ' On cré un objet sheet selon le nom en paramètre Set oneSheets = ActiveWorkbook.Sheets(sheetsName) 'Si il y a erreur, alors la feuille n'existe pas, sinon elle existe If Err <> 0 Then 'Feuille inexistante, donc on la cré insertSheet (sheetsName) 'Cette function fonctionne correctement car la création a bien lieu Set oneSheets = ActiveWorkbook.Sheets(sheetsName) End If 'Reactive les message d'erreurs On Error GoTo 0 GiveMeSheets = oneSheets End Function
Quelqu'un pourait-il m'expliquer le pourquoi du comment....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 runtime-error '91': Object variable or With block variable not set
Merci
Partager