Copier une structure "type" dans une autres

Contenu du snippet

Mettre la source dans un module et définir "sub main" en démarrage

Source / Exemple :


Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
' Un type bidon
Type tmpEx
    Ex1 As Long
    VBfrance As String
    Pe As Boolean
    MPP As Integer
End Type

Sub main()
    Dim t1 As tmpEx
    Dim t2 As tmpEx
    ' Initialise t1 avec des valeurs bidons
    With t1
        .Ex1 = 3465
        .VBfrance = "Codes-Sources"
        .Pe = True
        .MPP = -6954
    End With
    ' On copy la mémoire -> on copy t1 sur t2
    CopyMemory t2, t1, Len(t1)
    
    ' on voit le résultat
    With t2
        MsgBox "Ex1=" & .Ex1 & vbNewLine & _
            "VBFrance=" & .VBfrance & vbNewLine & _
            "Pe=" & .Pe & vbNewLine & _
            "MPP=" & .MPP, vbInformation, "Contenu de la copie t2"
    End With
End Sub

Conclusion :


Je n'ai testé cette source qu'avec des types simples simples. Merci de me prévenir si il y a des bugs

A+

A voir également

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.