cs_serasera
Messages postés1Date d'inscriptiondimanche 18 janvier 2009StatutMembreDernière intervention18 janvier 2009
-
18 janv. 2009 à 20:03
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 2016
-
19 janv. 2009 à 23:28
Salut à tous!
Pourriez vous m'aider ou m'indiquer un lien ou je pourrais trouver une solution à mon petit pb...
Je suis débutant en vba et je voudrais trier un tableau d'entier dans un ordre croissant.
Mon algo fonctionne mais j'ai un erreur à la fin au moment où je veux affecter à un tableau vide mon tableau trié pour ensuite l'afficher: ERREUR 13 Incompatibiliter de type....
Qu'elqu'un peut il me debloquer?
Voici le code :
Sub trie_tab()
Dim tableau As Range
Set tableau = Worksheets("feuil1").Range("A1:E1") 'Il y a des chiffres qcq dans les cases A1 à E1
Dim taille As Integer 'taille du tableau
taille = tableau.Count
Dim i As Integer
'Declaration du tableau "tablo"
Dim tablo() As Variant
ReDim tablo(taille - 1)
'Affectation de l'objet Range au tableau "tablo"
For i = 0 To taille - 1
tablo(i) = tableau(1, i + 1).Value
Next i
'Création d'un nex tableau pour acceuillir le tableau trié:
Dim tabl_trie() As Variant
ReDim tabl_trie(taille - 1)
tabl_trie = trie(tablo)
'appel de la fonction triant le tableau "tablo" : ERREU 13 incompatibilité de titre????
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 18 janv. 2009 à 20:20
salut,
tu devrais trouver différents exemples de tri sur www.codyx.org
et pour ton erreur, avec tout ce jeu de variant, normal que VBA s'y perde....
une fonction qui retourne un variant ne va pas retourner un tableau contenant variant
si tu veux qu'elle "modifie" un tableau de variant, il faut le passer en argument BYREF à ta fonction
encore qu'ici çà ne soit pas une bonne solution, au niveau des ressources consommées...
tu veux trier quoi, des valeurs (integer, long, double) ? des chaines (string)?
tu pourrais avoir besoin de comparer "1
"
à
"
a
"
, mais pas
_
1
_
à
"
a
"
évite le variant autant que possible, ici un tableau de string devrait mieux correspondre à tes besoins
bon courage
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 19 janv. 2009 à 23:28
Bonsoir,
J'avoue également être un peu perdu dans ton code. Il n'est pas très clair...
Plus simplement, il existe aussi la solution de faire un tri aux fonctions d'Excel. Utiliser l'enregistreur de macro, fait le trie, et réutilise le code généré pour l'adapter à tes besoins. Cela me semble le plus simple ici...