Inversé les elements d' un tableau (VB)

Résolu/Fermé
brija Messages postés 18 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 18 janvier 2010 - 29 oct. 2009 à 12:30
BoneroPross Messages postés 27 Date d'inscription samedi 16 janvier 2010 Statut Membre Dernière intervention 21 mars 2011 - 16 janv. 2010 à 19:01
Bonjour, je veux un programme qui permet d 'inversé les elements d' un tableau
plzzzzzzzzzzzzzzzzzzzzzzzz
c urgent
A voir également:

2 réponses

tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 120
29 oct. 2009 à 13:23
En vb:

n = 5 'taille du tableau
centre = CInt(n / 2)

if(n mod 2 = 1) then centre = centre + 1
 
for i = 1 to centre
      echange = tableau(i)
      tableau(i) = tableau(n - i + 1)
      tableau(n - i + 1) = echange
next







J'ai testé un fichier .vbs


dim tableau(5)

tableau(1) = 1
tableau(2) = 2
tableau(3) = 3
tableau(4) = 4
tableau(5) = 5

n = 5 'taille du tableau
centre = CInt(n / 2)

if(n mod 2 = 1) then centre = centre + 1

i = 0
 
for i = 1 to centre
      echange = tableau(i)
      tableau(i) = tableau(n - i + 1)
      tableau(n - i + 1) = echange
next

for i = 1 to n 
      MsgBox tableau(i)
next

3
BoneroPross Messages postés 27 Date d'inscription samedi 16 janvier 2010 Statut Membre Dernière intervention 21 mars 2011
16 janv. 2010 à 19:01
bonjour tarek_dotzero,

jai vraiment aimé la maniere dont tu as geré la question de savoir si on est en presence d'un nombre Pair ou Impair.
jai developpé une algo tres similaire (à la tienne ) à laquelle je te demanderais gentillement de jeter un coup d'oeil.
Ma question est de savoir si il n'y a pas moyen de trouver un truc plus efficace pour inverser les elements d 'un tableau VBA. sTP ne mets pas un truc trop compliqué que je ne pourrais pas comprendre car je suis DEBUTANT en VBA.

voici mon code:
Sub InverserElementTableauVBA()
'permet d'inverser les elements de mon Tableau VBA.
'STP aidez moi à avoir un truc plus et plus efficient.


Dim x() As Double 'tableau VBA dynamique dont les dimensions seront preciseés plus tard.
Dim i As Integer, Tempo As Double

Dim NumElt As Integer 'dimensions du tableau.
NumElt = 4
ReDim x(1 To NumElt)

'le remplissage du tableauVB
For i = 1 To NumElt
x(i) = Rnd
Debug.Print x(i) 'juste pour visualiser
Next i

Dim PointArret As Integer 'nbre auquel doit s'arreter ma boucle.


If UBound(x) Mod 2 = 0 Then 'si nbre pair:
PointArret = (UBound(x) / 2) 'si par exemple 5 la loop s'arrete à 3.
Else 'si nombre impair ie UBound(x) Mod 2 = 1
PointArret = (UBound(x) + 1) / 2 'si par exemple 4, la loop s'arrete à 2.
End If

Debug.Print NumElt, UBound(x), PointArret

For i = 1 To PointArret
Tempo = x(i) 'juste une variable qui permet ela permutation.
x(i) = x(NumElt - i + 1)
x(NumElt - i + 1) = Tempo
Next i

'visualiser le resulat.
For i = 1 To NumElt
Debug.Print x(i) 'pour visualiser 'CInt
Next i

End Sub
0
brija Messages postés 18 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 18 janvier 2010 9
1 nov. 2009 à 17:49
merci bcp mr à tarek_dotzero
1