Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.
Modérateur :Vilains modOOs
Règles du forum Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
je travaille sur un projet qui utilise les UDT. Malheureusement je bute sur un problème dans l'attribution des valeurs. L'exemple ci-dessous est censé modifier la variable "Code" de l'indice 1 de la liste "LesProductions". Or après exécution, toutes les variables Code de l'indice 0 à 200 contiennent la chaîne "Test"
Function creerVar() As Variant
Dim e As Production, f As DetailProd, g As Sequences, h As conditionnement
Dim i As integer, j As Integer, k As integer
For i = 0 To 200
e.LesProductions(i) = g
For j = 1 To 15
e.lesProductions(i).sequence(j) = h
For k = 0 To 2
e.lesProductions(i).sequence(j).Ravier = f
e.lesProductions(i).sequence(j).Exception = f
e.lesProductions(i).sequence(j).Gn1 = f
e.lesProductions(i).sequence(j).Gn2 = f
Next k
Next j
Next i
creerVar = e
End Function
Type Production
LesProductions(0 to 200) As Object
End type
Type Sequences
Code As String
QuantiteTotaleAProduire As Integer
Unite As String
Atelier As Integer
OP As String
sequence(1 To 15) As DetailProd
End Type
Type DetailProd
Id_Plat As Integer
Libelle_Plat As String
Quantite_Plat As Double
Unite_Plat As String
chaine As chaine
cellule(1 To 6) As Cellule
End Type
Type conditionnement
Ravier As condi
Exception As condi
Gn1 As condi
Gn2 As condi
End Type
'################################# FONCTION ###################################
Function creerVar() As Variant
Dim e As Production, f As DetailProd, g As Sequences, h As conditionnement
Dim i As integer, j As Integer, k As integer
For i = 0 To 200
e.LesProductions(i) = g
For j = 1 To 15
e.lesProductions(i).sequence(j) = h
For k = 0 To 2
e.lesProductions(i).sequence(j).Ravier = f
e.lesProductions(i).sequence(j).Exception = f
e.lesProductions(i).sequence(j).Gn1 = f
e.lesProductions(i).sequence(j).Gn2 = f
Next k
Next j
Next i
creerVar = e
End Function
Cet objet ne donne pas beaucoup d'informations sous Xray (voir PJ).
Merci pour votre aide.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
cazadeis a écrit :Cet objet ne donne pas beaucoup d'informations sous Xray (voir PJ).
code.png
A priori il renvoie ce que tu lui demande.
Après je n'ai rien compris à ce que tu veux obtenir.
Quelles sont les types chaîne, cellule et condi ?
Quel est l’intérêt de mal utiliser les types utilisateurs sous Calc pour une utilisation beaucoup plus simple qui semble correspondre à une base de données.
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64