IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

Initialisation d'un tableau Type


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Points : 47
    Points
    47
    Par défaut Initialisation d'un tableau Type
    Bonsoir,

    je suis débutant en vb... et voici mon problème :
    Je déclare ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    type hours
    	pic as integer
    	cpi as integer
    	dua as integer	
    end type
     
    type airplane
    	airplane as string
    	day as hours
    	night as hours
    end type
    et je crée un tableau de 11 éléments :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim airplanes(10) as airplane
    airplanesInit(airplanes())
    Ensuite je fais un appel à une fonction pour initialiser le tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    sub airplanesInit (planes() as airplane)
    	dim i as integer
    	planes(0).airplane = "C150"
    	planes(1).airplane = "C172"
    	planes(2).airplane = "PA28"
    	planes(3).airplane = "AC11"
    	planes(4).airplane = "C206"
    	planes(5).airplane = "DA20"
    	planes(6).airplane = "DA40"
    	planes(7).airplane = "PA23"
    	planes(8).airplane = "PA34"
    	planes(9).airplane = "Bae146"
    	planes(10).airplane = "DA42"
     
    	for i = 0 to UBound(planes)
    		planes(i).day.pic = 0
    		planes(i).day.cpi = 0
    		planes(i).day.dua = 0
    	next i
    end sub
    Mais planes(i).day.pic (cpi et dua) ne sont pas accissibles... je ne comprends pas pourquoi! C'est une maccro pour openoffice en fait...
    Est-ce que vous voyez ou pourrait se situer le problème?

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Je ne vois pas de problème particulier dans ce code en VB6 ....

    ou est situé ton code ..? tu trouve tous dans le même module ??

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Points : 47
    Points
    47
    Par défaut
    oui c'est dans le même module... voici le code complet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    sub Main ()
    	heuresAvions()
    end sub
     
    type hours
    	pic as integer
    	cpi as integer
    	dua as integer	
    end type
     
    type airplane
    	airplane as string
    	day as hours
    	night as hours
    end type
     
    sub airplanesInit (planes() as airplane)
    	dim i as integer
    	planes(0).airplane = "C150"
    	planes(1).airplane = "C172"
    	planes(2).airplane = "PA28"
    	planes(3).airplane = "AC11"
    	planes(4).airplane = "C206"
    	planes(5).airplane = "DA20"
    	planes(6).airplane = "DA40"
    	planes(7).airplane = "PA23"
    	planes(8).airplane = "PA34"
    	planes(9).airplane = "Bae146"
    	planes(10).airplane = "DA42"
     
    	for i = 0 to UBound(planes)
    		planes(i).day.pic = 0
    		planes(i).day.cpi = 0
    		planes(i).day.dua = 0
    	next i
    end sub
     
    sub heuresAvions
    	'_________________________ Variables _____________________________________
    	dim document as object, doc2 as object
    	document = ThisComponent
    	dim searchDesc as object
      	dim RetStr as String
    	dim oSheet as object, oCell as object, found as object
    	dim urlLogbook2 as string, i1 as string, i2 as string
    	dim dummy()
     
    	'______________________ Initializing variables___________________________
    	oSheet = document.Sheets.getByIndex(0)
    	oCell = oSheet.getCellByPosition(0, 20)
    	searchDesc = oCell.createSearchDescriptor()
    	searchDesc.searchString = ".*20$"
    	searchDesc.searchRegularExpression = true
     
    	'______________________ Processing data _________________________________
    	Dim airplanes(10) as airplane
    	airplanesInit(airplanes())
     
    end sub
    Je pensais qu'il fallait peut-être initialiser les types internes à airplane (day et night de type hours) avec un new hours. L'erreur est la suivante :

    planes(i).day.pic = 0
    Variable d'objet non définie

Discussions similaires

  1. Tentative de génération d'un tableau type "sudoku"
    Par charlybapt dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 06/04/2006, 09h48
  2. Réponses: 7
    Dernier message: 29/03/2006, 21h41
  3. [VBA-E]transformer array en tableau type range
    Par matel dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/03/2006, 09h50
  4. Débutant : initialisation d'un tableau
    Par lebokto dans le forum C++
    Réponses: 7
    Dernier message: 02/11/2005, 15h50
  5. Initialisation d'un tableau de type STRUCT
    Par Axiome dans le forum MFC
    Réponses: 4
    Dernier message: 06/09/2005, 10h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo