Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/10/2011, 15h58   #1
Invité régulier
 
Inscription : juin 2008
Messages : 44
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 44
Points : 9
Points : 9
Par défaut Passage et taille de tableau

Bonjour à tous,

Je souhaite avoir la taille d'un tableau passé à une fonction par ByRef depuis plus d'une heure mais je n'y arrive pas. Donc si quelqu'un peut m'aider !

Ci-dessous mon code :
Code :
1
2
3
4
5
6
7
 
Function test(ByRef tab1 As Variant, ByRef tab2 As Variant) As Integer
 
    MsgBox "Tab1 :" & UBound(tab1, 1)
    test = UBound(tab1, 1)
 
End Function
Merci à tous !
alexis0587 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 16h06   #2
Membre expérimenté
 
Homme
Inscription : juillet 2007
Messages : 437
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : juillet 2007
Messages : 437
Points : 558
Points : 558
Ce code fonctionne chez moi...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub test()
    Dim arr() As String
 
    ReDim Preserve arr(0)
    arr(0) = "ok"
 
    ReDim Preserve arr(1)
    arr(1) = "lol"
 
    ReDim Preserve arr(2)
    arr(2) = "stfu"
 
    ReDim Preserve arr(3)
    arr(3) = "OMG"
 
 
    Taille arr
 
End Sub
 
Private Sub Taille(ByRef test() As String)
    MsgBox UBound(test)
End Sub
Luc1an0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 17h15   #3
Invité régulier
 
Inscription : juin 2008
Messages : 44
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 44
Points : 9
Points : 9
Chez moi aussi ton code fonctionn en sub mais il ne fonctionne plus en function !
C'est la même chose chez toi?

Merci
alexis0587 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 20h55   #4
Modérateur
 
Avatar de AlainTech
 
Homme Alain Gerard
Consultant informatique
Inscription : mai 2005
Messages : 3 675
Détails du profil
Informations personnelles :
Nom : Homme Alain Gerard
Âge : 58
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : mai 2005
Messages : 3 675
Points : 7 669
Points : 7 669
Bonjour,

Et comme ça:
Code :
Function test(ByRef tab1() As Variant, ByRef tab2() As Variant) As Integer
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
AlainTech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 11h41   #5
Membre expérimenté
 
Homme
Inscription : juillet 2007
Messages : 437
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : juillet 2007
Messages : 437
Points : 558
Points : 558
Ce code fonctionne chez moi

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Function Func_Taille(ByRef test() As String) As Integer
    Func_Taille = UBound(test)
End Function
 
Private Sub CommandButton1_Click()
    Dim arr() As String
 
    ReDim Preserve arr(0)
    arr(0) = "ok"
 
    ReDim Preserve arr(1)
    arr(1) = "lol"
 
    ReDim Preserve arr(2)
    arr(2) = "stfu"
 
    ReDim Preserve arr(3)
    arr(3) = "OMG"
 
    MsgBox Func_Taille(arr)
End Sub
Luc1an0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h59.


 
 
 
 
Partenaires

Hébergement Web