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

Résolu
JoePJ Messages postés 82 Statut Membre -  
JoePJ Messages postés 82 Statut Membre -
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 !

--
"L'intelligence, c'est la chose la mieux pourvue chez l'homme car : quoi qu'il en soit pourvu, il a toujours l'impression d'en avoir assez...vu que c'est avec ça qu'il juge" Coluche

1 réponse

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour,

    je serais tenté de déclarer le tableau en variable globale ou publique mais....
    2
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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
    2. JoePJ Messages postés 82 Statut Membre 12
       
      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