Inversé les elements d' un tableau (VB) [Résolu/Fermé]

Signaler
Messages postés
18
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
18 janvier 2010
-
Messages postés
27
Date d'inscription
samedi 16 janvier 2010
Statut
Membre
Dernière intervention
21 mars 2011
-
Bonjour, je veux un programme qui permet d 'inversé les elements d' un tableau
plzzzzzzzzzzzzzzzzzzzzzzzz
c urgent

2 réponses

Messages postés
814
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
17 avril 2020
115
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
27
Date d'inscription
samedi 16 janvier 2010
Statut
Membre
Dernière intervention
21 mars 2011

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
Messages postés
18
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
18 janvier 2010
8
merci bcp mr à tarek_dotzero