VBA : comparaison de 2 Tableaux

VBA : comparaison de 2 Tableaux - VB/VBA/VBS - Programmation

Marsh Posté le 31-01-2004 à 23:06:13    

salut,
 
savez vous comment comparer deux tableaux SVP ?  merci !
 
pour l'instant je passe par deux boucles imbriquées et c'est pas terrible :(

Reply

Marsh Posté le 31-01-2004 à 23:06:13   

Reply

Marsh Posté le 31-01-2004 à 23:23:19    

premier truc: comparer les dimensions des tableaux, et s'ils sont identiques, seulement, tu compares le contenu. Si tu fais deux boucles, je suppose que ton tableau est bidimensionnel? Tu peux pas faire autrement en VB que de comparer valeur par valeur :/


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 31-01-2004 à 23:43:54    

salut et merci de ton intervention
non pas bidimensionnel
 
je fais :  

Code :
  1. While i < 50
  2. i = i + 1
  3. While j < 50
  4.    j = j + 1
  5.    If "var3(i)" = "var4(j)" Then
  6.     Range("H1" ) = "ok"
  7.    End If
  8.    If var4(i) = var3(j) Then
  9.     Range("I1" ) = "ok"
  10.    End If
  11. Wend


 
petite precision, je compare des string


Message édité par manuuu le 31-01-2004 à 23:44:43
Reply

Marsh Posté le 31-01-2004 à 23:57:52    

je vois, tu compares donc chaque élément du premier array à chaque élément du second array.  Mais je ne vois pas d'où viennent ces expressions "var3(i)", a priori c'est une chaîne et tu compares toujours la même chose j'ai l'impression :??:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 01-02-2004 à 00:06:04    

euh, dejà les " y sont pas, c'était un test :) non concluant
 
je te copie colle tout le code, tu vas mieux comprendre

Code :
  1. 'Si la ligne n'est pas directe on indique le mot clé "correspondance"
  2. If Range(ligne_sansc) = "" Then
  3. Range(correspondance) = "Correspondance"
  4. 'On cherche une station de la ligne d'arrivée qui comporte une des lignes de la station de depart
  5. i = 0
  6. j = 0
  7. h = 0
  8. While i < 379
  9. i = i + 1
  10. 'On enregistre tous les noms de stations dans le tableau var3 qui ont une ligne comme la 1ere de l'arrivée
  11. If Range("B" & i) = var2(1) Then
  12.   j = j + 1
  13.   var3(j) = Range("A" & i)
  14.   'Range("I" & j) = var3(j)
  15. End If
  16. 'On enregistre tous les noms de stations dans le tableau var4 qui ont une ligne comme la 1ere du depart
  17. If Range("B" & i) = var1(1) Then
  18.   h = h + 1
  19.   var4(h) = Range("A" & i)
  20.   'Range("J" & h) = var4(h)
  21. End If
  22. Wend
  23. 'On compare toutes les valeurs des tableaux entre elles pour voir si il y en a une en commun
  24. 'qu'on enregistre dans la cellule H1 ou H2
  25. i = 0
  26. j = 0
  27. While i < 50
  28. i = i + 1
  29. While j < 50
  30.    j = j + 1
  31.    If var3(i) = var4(j) Then
  32.     Range("H1" ) = "ok"
  33.    End If
  34. Wend
  35. Wend
  36. End If


Message édité par manuuu le 01-02-2004 à 00:06:44
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed