Inverser 2 éléments d'un tableau [Résolu]

Mario329 4 Messages postés vendredi 23 novembre 2007Date d'inscription 28 janvier 2008 Dernière intervention - 28 janv. 2008 à 00:24 - Dernière réponse : PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention
- 29 janv. 2008 à 00:28
Bonjour, je début en VB.net, et la procédure suivante devrait inverser les 2 élément du tableau, mais elle ne fonction pas. Exemple, elle prend l'élément 2 et le place dans 3, mais elle ne place pas 3 dans 2?

Private



Sub
cmdInver_Click(

ByVal
sender

As
System.Object,

ByVal
e

As
System.EventArgs)

Handles
cmdInver.ClickEcrEmpl((RangEmpl))


'On vérifie pour ne pas être sur le premier enregistrement ensuite on inverse les rangs






If
RangEmpl > 1

Then

gEmployes(RangEmpl) = gEmployes(RangEmpl - 1)


gEmployes(RangEmpl - 1) = gEmployes(RangEmpl)


LireEmpl((RangEmpl))







End



If






End



Sub
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 28 janv. 2008 à 03:16
3
Merci
salut

beh oui... tu fais
b= a
a=b 'qui a déjà changé..., donc b=a pour le a d'origine, soit gEmployes(RangEmpl - 1)

donc forcément çà ne risque pas de fonctionner, il te faut passer par uen variable temporaire
temp=gEmployes(RangEmpl - 1)

gEmployes(RangEmpl - 1) = gEmployes(RangEmpl)

gEmployes(RangEmpl)
=temp

ps : c'est sensé fait quoi çà :  EcrEmpl((RangEmpl))
?
++
<hr size ="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp

Merci PCPT 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 125 internautes ce mois-ci

Commenter la réponse de PCPT
Meilleure réponse
cs_Megafan 390 Messages postés dimanche 7 avril 2002Date d'inscription 23 septembre 2016 Dernière intervention - 28 janv. 2008 à 10:54
3
Merci
Salut PCPT
juste pour rire, si gEmployes est un tableau de nombres, on peut faire

gEmployes(RangEmpl - 1)+=gEmployes(RangEmpl)
gEmployes(RangEmpl)=gEmployes(RangEmpl - 1)-gEmployes(RangEmpl)
gEmployes(RangEmpl - 1)-=gEmployes(RangEmpl)

donc sans employer de variable temporaire !
Mais c'est juste pour rire, car inutile et super pas lisible....
@+
Megafan

Merci cs_Megafan 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 125 internautes ce mois-ci

Commenter la réponse de cs_Megafan
Mario329 4 Messages postés vendredi 23 novembre 2007Date d'inscription 28 janvier 2008 Dernière intervention - 28 janv. 2008 à 13:22
0
Merci
Merci beaucoup PCPT pour ta réponse rapide, cela fonctionne.




Pour EcrEmpl((RangEmpl))
c'est une procédure pour enregistrer les informations du formulaire si il y a eu des modifications.

Private

Sub EcrEmpl( _
ByVal RgEmpl
As
Short)



'Transfert des données de la feuille vers le tableau

' Écriture des données








If
RgEmpl >= 1

And
RgEmpl <= NbEmpl

Then



'Simple précaution ...






With
gEmployes(RgEmpl)
.Nom = txtNom.Text
.Numero = txtNum.Text
.Telephone = txtTelephone.Text
.Poste = cboPoste.Text
.DateEmbauche =

CDate
(txtDateEmb.Text)
.NumDepartement =

CShort
(lstDept.Text)
.Salaire =

CShort
(txtSalaire.Text)
.SiComm = optComm.Checked
.MtCommission =

CShort
(txtComm.Text)


End



With



' ... jusqu'ici
.

End



If

End



Sub


Mario
Commenter la réponse de Mario329
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 29 janv. 2008 à 00:28
0
Merci
ok

peut-être pas besoin de double parenthèses alors ;)
EcrEmpl(<strike>(</strike>RangEmpl<strike>)</strike>)
Commenter la réponse de PCPT

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.