Par fonctionEn principe lorsqu'on modifie une variable, il est logique de passer par une fonction.
Mais Basic permet de le faire également par une sous-routine. 
Créons d'abord une table mémoire contenant 2 chaînes :
Code : Tout sélectionner
Sub Test()
   aTable = array("Toto", "Tata")
   For Each elem In aTable
      sRet = sRet & elem & " " 'on concatène
   next
   msgbox sRet
End SubLe contenu affiché sera bien sûr : 
capture1.jpg
Si nous voulons ajouter un élément dans notre table, nous pouvons passer par une fonction telle que :
Code : Tout sélectionner
Function fAjouteTable(aEntree, sEntree)
   nTaille = UBound(aEntree)+1
   aSortie = aEntree
   ReDim Preserve aSortie(0 To nTaille)
   aSortie(nTaille) = sEntree
   fAjouteTable = aSortie
End FunctionA l'usage dans notre routine de test, nous allons ajouter une nouvelle chaîne (Titi) :
Code : Tout sélectionner
Sub Test()
   aTable = array("Toto", "Tata")
   aTable = fAjouteTable(aTable, "Titi")
   For Each elem In aTable
      sRet = sRet & elem & " "
   next
   msgbox sRet
End SubLe contenu affiché sera alors :
capture2.jpg
Par routineMaintenant, on peut également passer par une sous-routine telle que :
Code : Tout sélectionner
Sub sAjouteTable(aEntree, sEntree)
   nTaille = UBound(aEntree)+1
   ReDim Preserve aEntree(0 To nTaille)
   aEntree(nTaille) = sEntree   
End SubFaisons un nouvel appel avec cette fois, l'ajout d'une autre chaîne (Tutu) :
Code : Tout sélectionner
Sub Test()   
   aTable = array("Toto", "Tata")
   aTable = fAjouteTable(aTable, "Titi")
   sAjouteTable(aTable, "Tutu")
   For Each elem In aTable
      sRet = sRet & elem & " "
   next
   msgbox sRet
End SubLe contenu affiché sera : 
capture3.jpg
 
			
						Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.