Félicitations !
+
0
points
En savoir plus
Actualités
Tests & Guides
Bons Plans
Forum
Premium
Rechercher sur le site
Connexion
Si votre email correspond à un compte, vous recevrez un lien de réinitialisation.
Réinitialiser le mot de passe
Retour connexion
Actualités
Tests & Guides
Bons Plans
GTA 6
iPhone 17
Copilot
Switch 2
Temu
ChatGPT
Tesla
Génération NT
Entraide
Applications
Microsoft Office
Excel
function avec plusieurs type de variable
function avec plusieurs type de variable
2 réponses
Emcy
19/10/2005 à 11:48
bonjours,
Je veux créer une fonction avec en entrée un paramettre : jusque là, pas de
souci :
Function Toto(MaFeuille)
....
End Function
le problème est que je voudrais que MaFeuille soit un string ou un sheets
comment faire ?
je voudrais un truc du genre :
Function Toto(MaFeuille As String or Sheets) As Boolean
On error Goto Fin
Toto = True
If MaFeuille Is String Then 'type string detecté
Sheets(MaFeuille).Select
Else 'type sheets detecté
MaFeuille.Select
End If
Exit Function
Fin :
Toto = False
End Function
Partager
Facebook
Twitter
Reddit
Whatsapp
Email
Signaler
Signaler un problème avec ce contenu
Envoyer
2 réponses
Supprimer
Cette action est irreversible, confirmez la suppression du commentaire ?
Supprimer
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Envoyer
Emcy
Signaler
19/10/2005 à 13:36
j'ai trouvé une méthode pour le faire, qu'en pensez-vous :
y a t-il une meilleur méthode ?
Option Explicit
Function Toto(MaVariable As Variant) As Boolean
If TypeOf MaVariable Is Object Then
On Error GoTo ErreurObjet
Sheets(MaVariable.Name).Select
Else
On Error GoTo ErreurString
Sheets(MaVariable).Select
End If
Exit Function
ErreurObjet:
Err.Number = 10
Err.Description = "Erreur sur le type Objet"
Err.Raise 10
MsgBox ("Erreur n° : " + Str(Err.Number) + vbCr + "Description : " +
Err.Description)
Exit Function
ErreurString:
Err.Number = 11
Err.Description = "Erreur sur le type String"
MsgBox ("Erreur n° : " + Str(Err.Number) + vbCr + "Description : " +
Err.Description)
Err.Raise 11
End Function
Sub main()
Dim Erreur As Boolean
Dim MaFeuille As Object
On Error GoTo Resume Next
Erreur = Toto("Feuil4")
Set MaFeuille = Sheets("Feuil1")
Erreur = Toto(MaFeuille)
Set MaFeuille = Range("A1")
Erreur = Toto(MaFeuille)
End Sub
j'ai trouvé une méthode pour le faire, qu'en pensez-vous :
y a t-il une meilleur méthode ?
Option Explicit
Function Toto(MaVariable As Variant) As Boolean
If TypeOf MaVariable Is Object Then
On Error GoTo ErreurObjet
Sheets(MaVariable.Name).Select
Else
On Error GoTo ErreurString
Sheets(MaVariable).Select
End If
Exit Function
ErreurObjet:
Err.Number = 10
Err.Description = "Erreur sur le type Objet"
Err.Raise 10
MsgBox ("Erreur n° : " + Str(Err.Number) + vbCr + "Description : " +
Err.Description)
Exit Function
ErreurString:
Err.Number = 11
Err.Description = "Erreur sur le type String"
MsgBox ("Erreur n° : " + Str(Err.Number) + vbCr + "Description : " +
Err.Description)
Err.Raise 11
End Function
Sub main()
Dim Erreur As Boolean
Dim MaFeuille As Object
On Error GoTo Resume Next
Erreur = Toto("Feuil4")
Set MaFeuille = Sheets("Feuil1")
Erreur = Toto(MaFeuille)
Set MaFeuille = Range("A1")
Erreur = Toto(MaFeuille)
End Sub
Vous avez filtré cet utilisateur ! Consultez son message
j'ai trouvé une méthode pour le faire, qu'en pensez-vous :
y a t-il une meilleur méthode ?
Option Explicit
Function Toto(MaVariable As Variant) As Boolean
If TypeOf MaVariable Is Object Then
On Error GoTo ErreurObjet
Sheets(MaVariable.Name).Select
Else
On Error GoTo ErreurString
Sheets(MaVariable).Select
End If
Exit Function
ErreurObjet:
Err.Number = 10
Err.Description = "Erreur sur le type Objet"
Err.Raise 10
MsgBox ("Erreur n° : " + Str(Err.Number) + vbCr + "Description : " +
Err.Description)
Exit Function
ErreurString:
Err.Number = 11
Err.Description = "Erreur sur le type String"
MsgBox ("Erreur n° : " + Str(Err.Number) + vbCr + "Description : " +
Err.Description)
Err.Raise 11
End Function
Sub main()
Dim Erreur As Boolean
Dim MaFeuille As Object
On Error GoTo Resume Next
Erreur = Toto("Feuil4")
Set MaFeuille = Sheets("Feuil1")
Erreur = Toto(MaFeuille)
Set MaFeuille = Range("A1")
Erreur = Toto(MaFeuille)
End Sub
michdenis
Signaler
19/10/2005 à 13:57
Bonjour Emcy,
Si tu veux passer le nom d'une feuille comme paramètre d'une fonction, il y a ceci :
Et pour appeler cette fonction
Toto activesheet.name
OU
Toto "NomDeLaFeuille"
'--------------------------
Function Toto(MaFeuille As String or Sheets)
Dim GestionErreur As String
On error goto Gestionerreur
With worksheets(MaFeuille)
.select
End with
Exit Function
GestionErreur:
Msgbox Err.Number & " : " & err.description
err=0
End Function
'--------------------------
Salutations!
"Emcy" a écrit dans le message de news:
bonjours,
Je veux créer une fonction avec en entrée un paramettre : jusque là, pas de
souci :
Function Toto(MaFeuille)
....
End Function
le problème est que je voudrais que MaFeuille soit un string ou un sheets
comment faire ?
je voudrais un truc du genre :
Function Toto(MaFeuille As String or Sheets) As Boolean
On error Goto Fin
Toto = True
If MaFeuille Is String Then 'type string detecté
Sheets(MaFeuille).Select
Else 'type sheets detecté
MaFeuille.Select
End If
Exit Function
Fin :
Toto = False
End Function
Bonjour Emcy,
Si tu veux passer le nom d'une feuille comme paramètre d'une fonction, il y a ceci :
Et pour appeler cette fonction
Toto activesheet.name
OU
Toto "NomDeLaFeuille"
'--------------------------
Function Toto(MaFeuille As String or Sheets)
Dim GestionErreur As String
On error goto Gestionerreur
With worksheets(MaFeuille)
.select
End with
Exit Function
GestionErreur:
Msgbox Err.Number & " : " & err.description
err=0
End Function
'--------------------------
Salutations!
"Emcy" <toto@bla.com> a écrit dans le message de news: uh1sgJJ1FHA.3256@TK2MSFTNGP09.phx.gbl...
bonjours,
Je veux créer une fonction avec en entrée un paramettre : jusque là, pas de
souci :
Function Toto(MaFeuille)
....
End Function
le problème est que je voudrais que MaFeuille soit un string ou un sheets
comment faire ?
je voudrais un truc du genre :
Function Toto(MaFeuille As String or Sheets) As Boolean
On error Goto Fin
Toto = True
If MaFeuille Is String Then 'type string detecté
Sheets(MaFeuille).Select
Else 'type sheets detecté
MaFeuille.Select
End If
Exit Function
Fin :
Toto = False
End Function
Vous avez filtré cet utilisateur ! Consultez son message
Bonjour Emcy,
Si tu veux passer le nom d'une feuille comme paramètre d'une fonction, il y a ceci :
Et pour appeler cette fonction
Toto activesheet.name
OU
Toto "NomDeLaFeuille"
'--------------------------
Function Toto(MaFeuille As String or Sheets)
Dim GestionErreur As String
On error goto Gestionerreur
With worksheets(MaFeuille)
.select
End with
Exit Function
GestionErreur:
Msgbox Err.Number & " : " & err.description
err=0
End Function
'--------------------------
Salutations!
"Emcy" a écrit dans le message de news:
bonjours,
Je veux créer une fonction avec en entrée un paramettre : jusque là, pas de
souci :
Function Toto(MaFeuille)
....
End Function
le problème est que je voudrais que MaFeuille soit un string ou un sheets
comment faire ?
je voudrais un truc du genre :
Function Toto(MaFeuille As String or Sheets) As Boolean
On error Goto Fin
Toto = True
If MaFeuille Is String Then 'type string detecté
Sheets(MaFeuille).Select
Else 'type sheets detecté
MaFeuille.Select
End If
Exit Function
Fin :
Toto = False
End Function