Salut
La source de gandalfkhorne m'a donné une idée.
En OpenVMS, il existe une fonction nommée SWAP qui est bien pratique et que l'on ne retrouve pas en VB.
Elle permet simplement d'inverser le contenu de deux variables.
C'est simple à faire, mais ça oblige à déclarer une variable juste pour servir de mémoire le temps de l'inversion. Quand on est en "Option Explicit" qui oblige à déclarer toutes les variables, c'est ... fatiguant.
Avec cette fonction que vous pouvez enregistrer dans un module dans le répertoire VB6\Template\Modules, vous l'aurez toujours sous la main quand vous ferez "Ajouter un nouveau module"
(Je suis sûr qu'il y en a qui ne connaissaient pas ce répertoire)
Source / Exemple :
Option Explicit
Public Function Swap(ByRef Valeur1 As Variant, _
ByRef Valeur2 As Variant) As Boolean
Dim MemValeur1 As Variant, MemValeur2 As Variant
Dim Temp As Variant
On Error GoTo Erreur
' Mémorise les valeurs avant de commencer
MemValeur1 = Valeur1
MemValeur2 = Valeur2
' Fait le Swapping
Temp = Valeur1
Valeur1 = Valeur2
Valeur2 = Temp
' Ok
Swap = True
Exit Function
Erreur:
' Souvent des erreurs de type de variables incompatibles
' On remet les valeurs initiales
Valeur1 = MemValeur1
Valeur2 = MemValeur2
Swap = False
End Function
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.