Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005
-
20 mai 2005 à 09:50
HFanny
Messages postés699Date d'inscriptionmercredi 19 février 2003StatutMembreDernière intervention13 mai 2011
-
20 mai 2005 à 15:43
bonjour le forum!
j'aimerais savoir comment faire pour savoir si une feuille excel nommée 'résultats' existe dans le classeur, pour savoir ensuite si il faut la créer ou non.
HFanny
Messages postés699Date d'inscriptionmercredi 19 février 2003StatutMembreDernière intervention13 mai 201120 20 mai 2005 à 15:43
Une fonction (function) peut te retourner une valeur alors qu'une procédure (sub) ne le fait pas.
Si tu regardes la déclaration de la fonction :
Public Function testExistingSheet(nameSheet As String) As Boolean
Le "As Boolean" définit le fait que tu récupéreras une valeur booléenne lors de l'appel à cette fonction.
C'est pour cela que si tu veux récupérer la valeur retournée par ta fonction tu peux passer par une variable qui stocke le résultat :
Dim existe As Boolean
existe = testExistingSheet("résultats")
Et ensuite tu peux utiliser cette variable qui contient le résultat de l'appel à la fonction.
Ici la fonction qui vérifie si la feuille existe te renvoie un booléen, c'est à dire True ou False.
En général, les fonctions sont utilisées pour décomposer le code et éviter d'avoir une multitude de lignes les unes après les autres.
Cela permet de structurer ton code.
HFanny
Messages postés699Date d'inscriptionmercredi 19 février 2003StatutMembreDernière intervention13 mai 201120 20 mai 2005 à 11:33
Salut,
pour faire cela, tu peux créer une fonction qui recherche l'existence d'une feuille par rapport à son nom et te renvoie un booléen :
Fonction :
Public Function testExistingSheet(nameSheet As String) As Boolean
On Error GoTo err
Dim mySheet As Worksheet
Set mySheet = Sheets(nameSheet)
testExistingSheet = True
err:
End Function
Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005 20 mai 2005 à 14:42
ok, merci! je vais voir ce que je peux faire avec ton conseil. par-contre, peux tu me dire la différence entre une function et une sub? il me semble que la difference ce situe au niveau de l'appel mais je sais plus...