Aide type perso

Signaler
Messages postés
3
Date d'inscription
samedi 28 avril 2012
Statut
Membre
Dernière intervention
28 avril 2012
-
Messages postés
14774
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
7 mars 2021
-
Bonjour,

je débute (en fait j'ai commencé il y a une heure), du coup je ne sais pas si je suis au bon endroit au niveau du thème !

Je souhaite déclarer un type perso, pour arriver à ça

[(gène 1)(gène2)...] Chromosome 1
[(gène 1)(gène2)...] chromosome 2

L'ensemble des chromosomes formant ma population (c'est pour un algo génétique pour résoudre un problème d'ordonnancement). Un gène contient 5 entiers

j'ai donc créé le code suivant :

Public Structure gene
    Public gene() As Integer
End Structure

Public Structure chromo
    Public chromosome() As gene
End Structure

Module Module1

    Dim population As chromo
    Dim vecteur(5) As Integer
    Dim r As Integer
    Dim t As Integer

    Sub Main()

        population.chromosome(1).gene(1) = 1
        MsgBox(population.chromosome(1).gene(1))

        ' For i = 1 To 5
        'r = 1
        '  For j = 1 To 5
        ' population.chromosome(i).gene(j) = r
        'r = r + 1
        ' Next
        ' Next
        ' MsgBox(population.chromosome(1).gene(3))


J'essaie donc de mettre la valeur 1 dans le premier gène (je me limite à une population de 1 pour tester). Seulement ces lignes bloquent :

population.chromosome(1).gene(1) = 1
MsgBox(population.chromosome(1).gene(1))

Visual studio me demande de mettre un "new" je ne sais trop ou... Je n'y comprend rien =(

5 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Bonjour,
Tu es ici dans la section
Visual Basic 6 > Langages dérivés > VBA

Et le bout de code montré ne saurait être du VBA (ni même du VB6) !

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
3
Date d'inscription
samedi 28 avril 2012
Statut
Membre
Dernière intervention
28 avril 2012

Arf' dans quoi je me lance là T.T

J'ai créer un projet sous visual studio : Visual basic => application console

Une idée de ce que c'est, que j'ai au bon endroit ?

Et si je voulais créer la même chose, mais en vba ça donnerait quoi ?
Messages postés
14774
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
7 mars 2021
151
Bonjour,

Ce n'est pas du VBA, mais du .NET (type définit par le mot clé Structure).
Je déplace donc le message.

Sinon, peux-tu représenter plus graphiquement le lien entre les gènes et les chromosomes ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
3
Date d'inscription
samedi 28 avril 2012
Statut
Membre
Dernière intervention
28 avril 2012

Merci =)

En fait un chromosome contient 5 gènes, qui contient lui même 5 entiers.

on a donc un chromosome qui correspond à un tableau contenant 5 gènes.

un tableau de 5 tableau.

[(1 2 3 4 5)(1 2 3 4 5)(1 2 3 4 5)(1 2 3 4 5)(1 2 3 4 5)] correspond à un chromosomes qui comporte 5 gènes identiques : (1 2 3 4 5).

J'ai réussi à le coder en VBA avec excel. Mais je pense que mon prof n'aime pas trop excel je crois...
Messages postés
14774
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
7 mars 2021
151
Bonjour,

"Seulement ces lignes bloquent"
Dans ce cas toujours préciser le message d'erreur, il donne souvent énormément d'info.
Dans ton cas, je pense que tu ne définit pas la taille des tableaux, d'où l'erreur.

Regardes pour dimensionner les tableaus, voir l'instruction Redim ou encore utiliser List(Of T).

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site