[Excel/VBA] tableau en argument d'une sub

Résolu/Fermé
JoePJ Messages postés 77 Date d'inscription jeudi 9 septembre 2010 Statut Membre Dernière intervention 30 mai 2020 - 30 nov. 2010 à 13:33
JoePJ Messages postés 77 Date d'inscription jeudi 9 septembre 2010 Statut Membre Dernière intervention 30 mai 2020 - 30 nov. 2010 à 16:14
Bonjour,

Je rencontre depuis 2 jours un soucis via Excel, je vais tacher de l'exposer le plus clairement possible.

J'ai sur ma Feuil1 une suite continue de numéros (de 1 à 50 pour l'exemple ; mais pouvant aller jusqu'à 100 maximum).

Via une sub, je stocke ces numéros dans un tableau --> jusque là, point de soucis.
Ensuite, je veux créer une autre sub qui prenne en argument d'entrée - entre autre - mon tableau préalablement rempli puis effectue des opérations dessus (mélange des valeurs puis remplissage de cellules).

Le code de mélange et remplissage est ok, mais je n'arrive pas à déclarer ma sub afin qu'elle prenne mon tableau !


Quelqu'un sait-il comment faire ?


merci d'avance pour vos réponses/astuces/conseils !
A voir également:

1 réponse

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
30 nov. 2010 à 13:46
bonjour,

je serais tenté de déclarer le tableau en variable globale ou publique mais....
2
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
30 nov. 2010 à 14:05
re, je viens de faire un petit essai tout simple et je n'ai pas trouvé de problème (sans déclarer en variable publique)
Option Base 1
Sub header()
Dim tablo
tablo = Application.Transpose(Range("A1:A20"))
 multiplierparN tablo, 3
Range("C1").Resize(UBound(tablo), 1) = Application.Transpose(tablo)
End Sub

Sub multiplierparN(tableau, N)
For cptr = 1 To UBound(tableau)
    tableau(cptr) = tableau(cptr) * N
Next
End Sub


peut être ta syntaxe d'appel de la suib paramétrée: pas de parenthèses
0
JoePJ Messages postés 77 Date d'inscription jeudi 9 septembre 2010 Statut Membre Dernière intervention 30 mai 2020 12
30 nov. 2010 à 16:14
C'est ça !

1. Je mettais des parenthèses lors de l'appel de ma sub : multiplierParN(tablo, 3)
2. Dans ma déclaration de sub, j'avais mis : sub multiplierParN(dim tableau() as integer)

Punaise, fallait la trouver la bonne syntaxe ; j'ai chercher 2 jours dans l'aide sans succès :-/

Un grand merci !!!
0