begin process at 2010 02 10 10:39:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Tableau dynamique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Tableau dynamique

lundi 30 juin 2003 à 11:14:43 | Tableau dynamique

panpan

bonjour,

J'aimerais faire créé un tableau dynamique avec 4 colonnes

Est-ce que quelqu'un pourrait m'aider??
lundi 30 juin 2003 à 11:39:05 | Re : Tableau dynamique

nhervagault

Administrateur CodeS-SourceS

Private Type enr
num As Integer
nom As String * 25
End Type





Public Function IsArrayEmpty(ByVal V As Variant) As Boolean

On Error Resume Next

Err.Clear
V = UBound(V)
IsArrayEmpty = (Err.Number = 9)
Err.Clear

End Function

Private Sub essai()

Dim tbl() As enr

'MsgBox IsArrayEmpty(tbl)

ReDim tbl(5)

'MsgBox IsArrayEmpty(tbl)
Dim enr1 As enr
enr1.nom = "Nicolas"
enr1.num = 10
tbl(0) = enr1

MsgBox tbl(0).num
MsgBox tbl(0).nom
End Sub


un tableau dynamique de deux colonnes

ensuite il faut jouer avec preserve et redim pour le rendre dynamique a souhait :-)


-------------------------------
Réponse au message :
-------------------------------

> bonjour,
>
> J'aimerais faire créé un tableau dynamique avec 4 colonnes
>
> Est-ce que quelqu'un pourrait m'aider??
lundi 30 juin 2003 à 12:04:19 | Re : Tableau dynamique

Pem13lw

En plus simple :

Type TMonTableau
Col1 as ...
Col2 as ...
Col3 as ...
Col4 as ...
end type

dim montableau(0 to 10) as Tmontableau

_________________________________________________
La seule chose que non avons à faire ici-bas c'est
choisir quoi faire du temps qui nous à été imparti !!!



-------------------------------
Réponse au message :
-------------------------------

>
> Private Type enr
> num As Integer
> nom As String * 25
> End Type
>
>
>
>
>
> Public Function IsArrayEmpty(ByVal V As Variant) As Boolean
>
> On Error Resume Next
>
> Err.Clear
> V = UBound(V)
> IsArrayEmpty = (Err.Number = 9)
> Err.Clear
>
> End Function
>
> Private Sub essai()
>
> Dim tbl() As enr
>
> 'MsgBox IsArrayEmpty(tbl)
>
> ReDim tbl(5)
>
> 'MsgBox IsArrayEmpty(tbl)
> Dim enr1 As enr
> enr1.nom = "Nicolas"
> enr1.num = 10
> tbl(0) = enr1
>
> MsgBox tbl(0).num
> MsgBox tbl(0).nom
> End Sub
>
>
> un tableau dynamique de deux colonnes
>
> ensuite il faut jouer avec preserve et redim pour le rendre dynamique a souhait :-)
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > bonjour,
> >
> > J'aimerais faire créé un tableau dynamique avec 4 colonnes
> >
> > Est-ce que quelqu'un pourrait m'aider??
>
lundi 30 juin 2003 à 12:20:49 | Re : Tableau dynamique

jockos

Déclaration d'un tableau de String dynamique :
Dim tab() as String

Allocation mémoire en préservant les éléments du tableau :
Redim Preserve tab(2)

Affectations :
tab(0) = "toto"
tab(1) = "tata"
tab(2) = "tutu"

Ajout d'une nouvelle String au tableau :
Redim Preserve tab(3)
tab(3) = "tété"


J'ai pris l'exemple d'une tableau dynamique de STRING, mais tu peux très bien créer ton propre type et en faire une liste dynamique...

Private Type Personne
Nom as String
Prénom as String
Age as Byte
End Type

Dim listPersonne() as Personne
Dim nbPersonne as Long 'Nombre de personne stocké dans la liste

Après, tu te fais une fonction d'ajout d'une personne et une fontion pour enlever une personne...

Je pense qu'avec tous les exemples cités, tu doit pouvoir y arriver maintenant...

Bon courage



-------------------------------
Réponse au message :
-------------------------------

> En plus simple :
>
> Type TMonTableau
> Col1 as ...
> Col2 as ...
> Col3 as ...
> Col4 as ...
> end type
>
> dim montableau(0 to 10) as Tmontableau
>
> _________________________________________________
> La seule chose que non avons à faire ici-bas c'est
> choisir quoi faire du temps qui nous à été imparti !!!
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> > Private Type enr
> > num As Integer
> > nom As String * 25
> > End Type
> >
> >
> >
> >
> >
> > Public Function IsArrayEmpty(ByVal V As Variant) As Boolean
> >
> > On Error Resume Next
> >
> > Err.Clear
> > V = UBound(V)
> > IsArrayEmpty = (Err.Number = 9)
> > Err.Clear
> >
> > End Function
> >
> > Private Sub essai()
> >
> > Dim tbl() As enr
> >
> > 'MsgBox IsArrayEmpty(tbl)
> >
> > ReDim tbl(5)
> >
> > 'MsgBox IsArrayEmpty(tbl)
> > Dim enr1 As enr
> > enr1.nom = "Nicolas"
> > enr1.num = 10
> > tbl(0) = enr1
> >
> > MsgBox tbl(0).num
> > MsgBox tbl(0).nom
> > End Sub
> >
> >
> > un tableau dynamique de deux colonnes
> >
> > ensuite il faut jouer avec preserve et redim pour le rendre dynamique a souhait :-)
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > bonjour,
> > >
> > > J'aimerais faire créé un tableau dynamique avec 4 colonnes
> > >
> > > Est-ce que quelqu'un pourrait m'aider??
> >
>
mercredi 2 juillet 2003 à 14:53:48 | Re : Tableau dynamique

panpan

Merci beaucoup, ça fonctionne bien. Mais j'ai juste encore un petit probleme, J ai mis :


Type enr
Chemin As String
Artiste As String
Titre As String
Album As String
End Type

Public tbl() As enr



dans un module que j ai apeler Tableau, mais comme je rempli mon tableau, sur une feuille, et que je veux le lire sur une autre, je ne sais pas comment faire pour pouvoir accèder au donner que j ai placer dans mon tableau.

Est ce que je dois utiliser un call??

Merci d'avance

-------------------------------
Réponse au message :
-------------------------------

> Déclaration d'un tableau de String dynamique :
> Dim tab() as String
>
> Allocation mémoire en préservant les éléments du tableau :
> Redim Preserve tab(2)
>
> Affectations :
> tab(0) = "toto"
> tab(1) = "tata"
> tab(2) = "tutu"
>
> Ajout d'une nouvelle String au tableau :
> Redim Preserve tab(3)
> tab(3) = "tété"
>
>
> J'ai pris l'exemple d'une tableau dynamique de STRING, mais tu peux très bien créer ton propre type et en faire une liste dynamique...
>
> Private Type Personne
> Nom as String
> Prénom as String
> Age as Byte
> End Type
>
> Dim listPersonne() as Personne
> Dim nbPersonne as Long 'Nombre de personne stocké dans la liste
>
> Après, tu te fais une fonction d'ajout d'une personne et une fontion pour enlever une personne...
>
> Je pense qu'avec tous les exemples cités, tu doit pouvoir y arriver maintenant...
>
> Bon courage
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > En plus simple :
> >
> > Type TMonTableau
> > Col1 as ...
> > Col2 as ...
> > Col3 as ...
> > Col4 as ...
> > end type
> >
> > dim montableau(0 to 10) as Tmontableau
> >
> > _________________________________________________
> > La seule chose que non avons à faire ici-bas c'est
> > choisir quoi faire du temps qui nous à été imparti !!!
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > >
> > > Private Type enr
> > > num As Integer
> > > nom As String * 25
> > > End Type
> > >
> > >
> > >
> > >
> > >
> > > Public Function IsArrayEmpty(ByVal V As Variant) As Boolean
> > >
> > > On Error Resume Next
> > >
> > > Err.Clear
> > > V = UBound(V)
> > > IsArrayEmpty = (Err.Number = 9)
> > > Err.Clear
> > >
> > > End Function
> > >
> > > Private Sub essai()
> > >
> > > Dim tbl() As enr
> > >
> > > 'MsgBox IsArrayEmpty(tbl)
> > >
> > > ReDim tbl(5)
> > >
> > > 'MsgBox IsArrayEmpty(tbl)
> > > Dim enr1 As enr
> > > enr1.nom = "Nicolas"
> > > enr1.num = 10
> > > tbl(0) = enr1
> > >
> > > MsgBox tbl(0).num
> > > MsgBox tbl(0).nom
> > > End Sub
> > >
> > >
> > > un tableau dynamique de deux colonnes
> > >
> > > ensuite il faut jouer avec preserve et redim pour le rendre dynamique a souhait :-)
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > bonjour,
> > > >
> > > > J'aimerais faire créé un tableau dynamique avec 4 colonnes
> > > >
> > > > Est-ce que quelqu'un pourrait m'aider??
> > >
> >
>
mercredi 2 juillet 2003 à 15:06:49 | Re : Tableau dynamique

jockos

Tu as déclaré ta variable tbl Public dans ton Module Tableau.

Tu peux donc accéder à cette variable (qui contient une liste de chansons) depuis n'importe quel formulaire de ton projet ou depuis n'importe quel module.

Ta variable tbl est GLOABL...

Par contre, il faut que tu ajoutes une variables NbChanson qui te permettra de savoir combien tu as de chansons dans ton tableau tbl. (cependant, tu peux aussi faire avec UBound$(tbl), qui te retourne le nombre d'élement de ton tableau).


Ajoute ces 2 fonctions dans ton module Tableau :


'Cette fonction te permet d'ajouter une chanson à ton tableau
Public Sub AddSong(Chemin as String, Artiste as String, Album as String, Titre as String)

Redim Preserve tbl(NbChanson)
tbl(nbChanson).Chemin = Chemin
tbl(nbChanson).Artist = Artiste
.....
NbChanson = NbChanson + 1

End sub


'Cette fonction te permet d'enlever une chanson à ton tableau
Public Sub RemoveSong(Titre as String)

'1- Tu recherche en parcourant ton tableau le Titre correspondant au paramètre

'2- Tu appliques un algorithme qui va dpélacer les élément de ton tableau suivant

'3- Tu décrémente ton compteur NbChanson

(désolé, mais je n'ai pas le temps de te mettre ce code)

End sub


CONSEILS :
Utilise un identifiant UNIQUE pour caractériser une chanson
(Tu ajoutes une variable Id as Long dans ton TYPE)

Ajoute un champ Duree (qui correspond à la durée d'une chason)...

Fais toi une petite table Merise ou UML pour bien conceptualiser ton projet...

Bon courage...

-------------------------------
Réponse au message :
-------------------------------

> Merci beaucoup, ça fonctionne bien. Mais j'ai juste encore un petit probleme, J ai mis :
>
>

> Type enr
> Chemin As String
> Artiste As String
> Titre As String
> Album As String
> End Type
>
> Public tbl() As enr
>
>

>
> dans un module que j ai apeler Tableau, mais comme je rempli mon tableau, sur une feuille, et que je veux le lire sur une autre, je ne sais pas comment faire pour pouvoir accèder au donner que j ai placer dans mon tableau.
>
> Est ce que je dois utiliser un call??
>
> Merci d'avance
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Déclaration d'un tableau de String dynamique :
> > Dim tab() as String
> >
> > Allocation mémoire en préservant les éléments du tableau :
> > Redim Preserve tab(2)
> >
> > Affectations :
> > tab(0) = "toto"
> > tab(1) = "tata"
> > tab(2) = "tutu"
> >
> > Ajout d'une nouvelle String au tableau :
> > Redim Preserve tab(3)
> > tab(3) = "tété"
> >
> >
> > J'ai pris l'exemple d'une tableau dynamique de STRING, mais tu peux très bien créer ton propre type et en faire une liste dynamique...
> >
> > Private Type Personne
> > Nom as String
> > Prénom as String
> > Age as Byte
> > End Type
> >
> > Dim listPersonne() as Personne
> > Dim nbPersonne as Long 'Nombre de personne stocké dans la liste
> >
> > Après, tu te fais une fonction d'ajout d'une personne et une fontion pour enlever une personne...
> >
> > Je pense qu'avec tous les exemples cités, tu doit pouvoir y arriver maintenant...
> >
> > Bon courage
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > En plus simple :
> > >
> > > Type TMonTableau
> > > Col1 as ...
> > > Col2 as ...
> > > Col3 as ...
> > > Col4 as ...
> > > end type
> > >
> > > dim montableau(0 to 10) as Tmontableau
> > >
> > > _________________________________________________
> > > La seule chose que non avons à faire ici-bas c'est
> > > choisir quoi faire du temps qui nous à été imparti !!!
> > >
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > >
> > > > Private Type enr
> > > > num As Integer
> > > > nom As String * 25
> > > > End Type
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Public Function IsArrayEmpty(ByVal V As Variant) As Boolean
> > > >
> > > > On Error Resume Next
> > > >
> > > > Err.Clear
> > > > V = UBound(V)
> > > > IsArrayEmpty = (Err.Number = 9)
> > > > Err.Clear
> > > >
> > > > End Function
> > > >
> > > > Private Sub essai()
> > > >
> > > > Dim tbl() As enr
> > > >
> > > > 'MsgBox IsArrayEmpty(tbl)
> > > >
> > > > ReDim tbl(5)
> > > >
> > > > 'MsgBox IsArrayEmpty(tbl)
> > > > Dim enr1 As enr
> > > > enr1.nom = "Nicolas"
> > > > enr1.num = 10
> > > > tbl(0) = enr1
> > > >
> > > > MsgBox tbl(0).num
> > > > MsgBox tbl(0).nom
> > > > End Sub
> > > >
> > > >
> > > > un tableau dynamique de deux colonnes
> > > >
> > > > ensuite il faut jouer avec preserve et redim pour le rendre dynamique a souhait :-)
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > bonjour,
> > > > >
> > > > > J'aimerais faire créé un tableau dynamique avec 4 colonnes
> > > > >
> > > > > Est-ce que quelqu'un pourrait m'aider??
> > > >
> > >
> >
>
mercredi 2 juillet 2003 à 15:18:02 | Re : Tableau dynamique

panpan

Merci beaucoup, mais le gros prob c'est que sur mon autre feuille quand j'essaye de lire mon tableau, je n y arive pas.

J ai mis ça dans mon sub pr faire un test. Mais ca ne marche pas

Private Sub test_Click()

Dim tbl() As enr

MsgBox tbl(0).Chemin
MsgBox tbl(0).Artiste
MsgBox tbl(0).Titre
MsgBox tbl(0).Album

End Sub


-------------------------------
Réponse au message :
-------------------------------

> Tu as déclaré ta variable tbl Public dans ton Module Tableau.
>
> Tu peux donc accéder à cette variable (qui contient une liste de chansons) depuis n'importe quel formulaire de ton projet ou depuis n'importe quel module.
>
> Ta variable tbl est GLOABL...
>
> Par contre, il faut que tu ajoutes une variables NbChanson qui te permettra de savoir combien tu as de chansons dans ton tableau tbl. (cependant, tu peux aussi faire avec UBound$(tbl), qui te retourne le nombre d'élement de ton tableau).
>
>
> Ajoute ces 2 fonctions dans ton module Tableau :
>
>
> 'Cette fonction te permet d'ajouter une chanson à ton tableau
> Public Sub AddSong(Chemin as String, Artiste as String, Album as String, Titre as String)
>
> Redim Preserve tbl(NbChanson)
> tbl(nbChanson).Chemin = Chemin
> tbl(nbChanson).Artist = Artiste
> .....
> NbChanson = NbChanson + 1
>
> End sub
>
>
> 'Cette fonction te permet d'enlever une chanson à ton tableau
> Public Sub RemoveSong(Titre as String)
>
> '1- Tu recherche en parcourant ton tableau le Titre correspondant au paramètre
>
> '2- Tu appliques un algorithme qui va dpélacer les élément de ton tableau suivant
>
> '3- Tu décrémente ton compteur NbChanson
>
> (désolé, mais je n'ai pas le temps de te mettre ce code)
>
> End sub
>
>
> CONSEILS :
> Utilise un identifiant UNIQUE pour caractériser une chanson
> (Tu ajoutes une variable Id as Long dans ton TYPE)
>
> Ajoute un champ Duree (qui correspond à la durée d'une chason)...
>
> Fais toi une petite table Merise ou UML pour bien conceptualiser ton projet...
>
> Bon courage...
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Merci beaucoup, ça fonctionne bien. Mais j'ai juste encore un petit probleme, J ai mis :
> >
> >

> > Type enr
> > Chemin As String
> > Artiste As String
> > Titre As String
> > Album As String
> > End Type
> >
> > Public tbl() As enr
> >
> >

> >
> > dans un module que j ai apeler Tableau, mais comme je rempli mon tableau, sur une feuille, et que je veux le lire sur une autre, je ne sais pas comment faire pour pouvoir accèder au donner que j ai placer dans mon tableau.
> >
> > Est ce que je dois utiliser un call??
> >
> > Merci d'avance
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Déclaration d'un tableau de String dynamique :
> > > Dim tab() as String
> > >
> > > Allocation mémoire en préservant les éléments du tableau :
> > > Redim Preserve tab(2)
> > >
> > > Affectations :
> > > tab(0) = "toto"
> > > tab(1) = "tata"
> > > tab(2) = "tutu"
> > >
> > > Ajout d'une nouvelle String au tableau :
> > > Redim Preserve tab(3)
> > > tab(3) = "tété"
> > >
> > >
> > > J'ai pris l'exemple d'une tableau dynamique de STRING, mais tu peux très bien créer ton propre type et en faire une liste dynamique...
> > >
> > > Private Type Personne
> > > Nom as String
> > > Prénom as String
> > > Age as Byte
> > > End Type
> > >
> > > Dim listPersonne() as Personne
> > > Dim nbPersonne as Long 'Nombre de personne stocké dans la liste
> > >
> > > Après, tu te fais une fonction d'ajout d'une personne et une fontion pour enlever une personne...
> > >
> > > Je pense qu'avec tous les exemples cités, tu doit pouvoir y arriver maintenant...
> > >
> > > Bon courage
> > >
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > En plus simple :
> > > >
> > > > Type TMonTableau
> > > > Col1 as ...
> > > > Col2 as ...
> > > > Col3 as ...
> > > > Col4 as ...
> > > > end type
> > > >
> > > > dim montableau(0 to 10) as Tmontableau
> > > >
> > > > _________________________________________________
> > > > La seule chose que non avons à faire ici-bas c'est
> > > > choisir quoi faire du temps qui nous à été imparti !!!
> > > >
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > >
> > > > > Private Type enr
> > > > > num As Integer
> > > > > nom As String * 25
> > > > > End Type
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Public Function IsArrayEmpty(ByVal V As Variant) As Boolean
> > > > >
> > > > > On Error Resume Next
> > > > >
> > > > > Err.Clear
> > > > > V = UBound(V)
> > > > > IsArrayEmpty = (Err.Number = 9)
> > > > > Err.Clear
> > > > >
> > > > > End Function
> > > > >
> > > > > Private Sub essai()
> > > > >
> > > > > Dim tbl() As enr
> > > > >
> > > > > 'MsgBox IsArrayEmpty(tbl)
> > > > >
> > > > > ReDim tbl(5)
> > > > >
> > > > > 'MsgBox IsArrayEmpty(tbl)
> > > > > Dim enr1 As enr
> > > > > enr1.nom = "Nicolas"
> > > > > enr1.num = 10
> > > > > tbl(0) = enr1
> > > > >
> > > > > MsgBox tbl(0).num
> > > > > MsgBox tbl(0).nom
> > > > > End Sub
> > > > >
> > > > >
> > > > > un tableau dynamique de deux colonnes
> > > > >
> > > > > ensuite il faut jouer avec preserve et redim pour le rendre dynamique a souhait :-)
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > bonjour,
> > > > > >
> > > > > > J'aimerais faire créé un tableau dynamique avec 4 colonnes
> > > > > >
> > > > > > Est-ce que quelqu'un pourrait m'aider??
> > > > >
> > > >
> > >
> >
>
mercredi 2 juillet 2003 à 15:39:05 | Re : Tableau dynamique

jockos

C'est normal que ça ne marche pas...

Tu n'as pas bien compris le fonctionnement des variables, ni le fonctionnement des tableaux dynamiques...

Tout d'abord, pourquoi redéclares-tu ta variable tbl dans ta procédure (Sub) ?

tbl est GLOBAL, car tu l'as déclaré Public dans ton Module Tableau. Cela te permet de l'utiliser n'importe ou dans ton projet et SANS JAMAIS LA REDECLARER !

Ensuite, tu fais un MsgBox tbl(0).Chemin.
Cela ne peux pas marcher si tu n'as pas allouer de la mémoire pour la case 0 de ton tableau !

Quand tu déclare un tableau dynamique, c'est à toi de lui allouer de la mémoire grâce à l'instruction suivante :
Redim Preserve tbl(5)

J'ai mis 5 en exemple... Ceci permet d'allour en mémoire vive (dans la RAM de ton PC) 6 emplacements (donc 6 chasons dans ton tableau).

Après, il faut remplir tes cases...

Je te donne un exemple :

>

> Private Sub test_Click()
>
> Redim Preserve tbl(0)
>
> tbl(0).Chemin = "c:"
> tbl(0).Artiste = "Ben Harper"
> tbl(0).Titre = "Burn One Down"
> tbl(0).Album = "Fisht For your Mind"
>
> MsgBox tbl(0).Chemin
> MsgBox tbl(0).Artiste
> MsgBox tbl(0).Titre
> MsgBox tbl(0).Album
>
> End Sub
>


Est-ce que tu étudie ou a étudié la propgrammation ?
Tu débutes en VB ?

Ce site est super pour les débutants...
On est tous passer par là...

Bon courage...


-------------------------------
Réponse au message :
-------------------------------

> Merci beaucoup, mais le gros prob c'est que sur mon autre feuille quand j'essaye de lire mon tableau, je n y arive pas.
>
> J ai mis ça dans mon sub pr faire un test. Mais ca ne marche pas
>

> Private Sub test_Click()
>
> Dim tbl() As enr
>
> MsgBox tbl(0).Chemin
> MsgBox tbl(0).Artiste
> MsgBox tbl(0).Titre
> MsgBox tbl(0).Album
>
> End Sub
>

>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Tu as déclaré ta variable tbl Public dans ton Module Tableau.
> >
> > Tu peux donc accéder à cette variable (qui contient une liste de chansons) depuis n'importe quel formulaire de ton projet ou depuis n'importe quel module.
> >
> > Ta variable tbl est GLOABL...
> >
> > Par contre, il faut que tu ajoutes une variables NbChanson qui te permettra de savoir combien tu as de chansons dans ton tableau tbl. (cependant, tu peux aussi faire avec UBound$(tbl), qui te retourne le nombre d'élement de ton tableau).
> >
> >
> > Ajoute ces 2 fonctions dans ton module Tableau :
> >
> >
> > 'Cette fonction te permet d'ajouter une chanson à ton tableau
> > Public Sub AddSong(Chemin as String, Artiste as String, Album as String, Titre as String)
> >
> > Redim Preserve tbl(NbChanson)
> > tbl(nbChanson).Chemin = Chemin
> > tbl(nbChanson).Artist = Artiste
> > .....
> > NbChanson = NbChanson + 1
> >
> > End sub
> >
> >
> > 'Cette fonction te permet d'enlever une chanson à ton tableau
> > Public Sub RemoveSong(Titre as String)
> >
> > '1- Tu recherche en parcourant ton tableau le Titre correspondant au paramètre
> >
> > '2- Tu appliques un algorithme qui va dpélacer les élément de ton tableau suivant
> >
> > '3- Tu décrémente ton compteur NbChanson
> >
> > (désolé, mais je n'ai pas le temps de te mettre ce code)
> >
> > End sub
> >
> >
> > CONSEILS :
> > Utilise un identifiant UNIQUE pour caractériser une chanson
> > (Tu ajoutes une variable Id as Long dans ton TYPE)
> >
> > Ajoute un champ Duree (qui correspond à la durée d'une chason)...
> >
> > Fais toi une petite table Merise ou UML pour bien conceptualiser ton projet...
> >
> > Bon courage...
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Merci beaucoup, ça fonctionne bien. Mais j'ai juste encore un petit probleme, J ai mis :
> > >
> > >

> > > Type enr
> > > Chemin As String
> > > Artiste As String
> > > Titre As String
> > > Album As String
> > > End Type
> > >
> > > Public tbl() As enr
> > >
> > >

> > >
> > > dans un module que j ai apeler Tableau, mais comme je rempli mon tableau, sur une feuille, et que je veux le lire sur une autre, je ne sais pas comment faire pour pouvoir accèder au donner que j ai placer dans mon tableau.
> > >
> > > Est ce que je dois utiliser un call??
> > >
> > > Merci d'avance
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Déclaration d'un tableau de String dynamique :
> > > > Dim tab() as String
> > > >
> > > > Allocation mémoire en préservant les éléments du tableau :
> > > > Redim Preserve tab(2)
> > > >
> > > > Affectations :
> > > > tab(0) = "toto"
> > > > tab(1) = "tata"
> > > > tab(2) = "tutu"
> > > >
> > > > Ajout d'une nouvelle String au tableau :
> > > > Redim Preserve tab(3)
> > > > tab(3) = "tété"
> > > >
> > > >
> > > > J'ai pris l'exemple d'une tableau dynamique de STRING, mais tu peux très bien créer ton propre type et en faire une liste dynamique...
> > > >
> > > > Private Type Personne
> > > > Nom as String
> > > > Prénom as String
> > > > Age as Byte
> > > > End Type
> > > >
> > > > Dim listPersonne() as Personne
> > > > Dim nbPersonne as Long 'Nombre de personne stocké dans la liste
> > > >
> > > > Après, tu te fais une fonction d'ajout d'une personne et une fontion pour enlever une personne...
> > > >
> > > > Je pense qu'avec tous les exemples cités, tu doit pouvoir y arriver maintenant...
> > > >
> > > > Bon courage
> > > >
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > En plus simple :
> > > > >
> > > > > Type TMonTableau
> > > > > Col1 as ...
> > > > > Col2 as ...
> > > > > Col3 as ...
> > > > > Col4 as ...
> > > > > end type
> > > > >
> > > > > dim montableau(0 to 10) as Tmontableau
> > > > >
> > > > > _________________________________________________
> > > > > La seule chose que non avons à faire ici-bas c'est
> > > > > choisir quoi faire du temps qui nous à été imparti !!!
> > > > >
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > >
> > > > > > Private Type enr
> > > > > > num As Integer
> > > > > > nom As String * 25
> > > > > > End Type
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Public Function IsArrayEmpty(ByVal V As Variant) As Boolean
> > > > > >
> > > > > > On Error Resume Next
> > > > > >
> > > > > > Err.Clear
> > > > > > V = UBound(V)
> > > > > > IsArrayEmpty = (Err.Number = 9)
> > > > > > Err.Clear
> > > > > >
> > > > > > End Function
> > > > > >
> > > > > > Private Sub essai()
> > > > > >
> > > > > > Dim tbl() As enr
> > > > > >
> > > > > > 'MsgBox IsArrayEmpty(tbl)
> > > > > >
> > > > > > ReDim tbl(5)
> > > > > >
> > > > > > 'MsgBox IsArrayEmpty(tbl)
> > > > > > Dim enr1 As enr
> > > > > > enr1.nom = "Nicolas"
> > > > > > enr1.num = 10
> > > > > > tbl(0) = enr1
> > > > > >
> > > > > > MsgBox tbl(0).num
> > > > > > MsgBox tbl(0).nom
> > > > > > End Sub
> > > > > >
> > > > > >
> > > > > > un tableau dynamique de deux colonnes
> > > > > >
> > > > > > ensuite il faut jouer avec preserve et redim pour le rendre dynamique a souhait :-)
> > > > > >
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > bonjour,
> > > > > > >
> > > > > > > J'aimerais faire créé un tableau dynamique avec 4 colonnes
> > > > > > >
> > > > > > > Est-ce que quelqu'un pourrait m'aider??
> > > > > >
> > > > >
> > > >
> > >
> >
>
mardi 15 juillet 2003 à 19:21:54 | Re : Tableau dynamique

panpan

enfait je pense que le plus gros probleme est que j'ai du mal expliquer mon probleme...

ce que tu m a donner fonctionne très bien, mais enfait moi mon problème est que:

J ai une feuille qui s apel UserFormSelectionDeRepertoir.frm ou j ai mon code et a un endroit j ai ceci



Public Sub BtmCmdOk_Click()

Dim tbl() As enr
Dim Fichier As String
Dim Chemin As String

'recherche les information dans les tag id3 et les met dans les variables.

Dim enr1 As enr
enr1.Chemin = Chemin
enr1.Artiste = GetArtiste(Chemin & "\" & Fichier)
enr1.Titre = GetTitre(Chemin & "\" & Fichier)
enr1.Album = GetAlbum(Chemin & "\" & Fichier)
tbl(Ligne) = enr1

MsgBox tbl(0).Chemin
MsgBox tbl(0).Artiste
MsgBox tbl(0).Titre
MsgBox tbl(0).Album

End Sub

et la ça m afiche les valeur de la premiere ligne du tableau sur des msgbox

puis j'ai aussi un modul qui s appel Tableau et dedan j'ai:



Type enr
Chemin As String
Artiste As String
Titre As String
Album As String
End Type

Public tbl() As enr



et pour finir, j ai une deuxieme feuille qui s apel UserFormjukandsearch.frm et â un endroit dans cette feuille j ai ce code:


Private Sub test_Click()

MsgBox tbl(0).Chemin
MsgBox tbl(0).Artiste
MsgBox tbl(0).Titre
MsgBox tbl(0).Album

End Sub


alor ce que je ne comprend pas c'est que dans la premiere feuille ca affiche ce qu il y a dans la case 0 et dans la deuxième feuille ca ne marche pas.

Car enfait ce que je voudrais faire, c est que sur la premiere feuille je défini ce qui vas dans le tableau et que ces valeur sois enregistrer dans le le module pour que je puisse apeler ces valeur n'importe quand.
-------------------------------
Réponse au message :
-------------------------------

> C'est normal que ça ne marche pas...
>
> Tu n'as pas bien compris le fonctionnement des variables, ni le fonctionnement des tableaux dynamiques...
>
> Tout d'abord, pourquoi redéclares-tu ta variable tbl dans ta procédure (Sub) ?
>
> tbl est GLOBAL, car tu l'as déclaré Public dans ton Module Tableau. Cela te permet de l'utiliser n'importe ou dans ton projet et SANS JAMAIS LA REDECLARER !
>
> Ensuite, tu fais un MsgBox tbl(0).Chemin.
> Cela ne peux pas marcher si tu n'as pas allouer de la mémoire pour la case 0 de ton tableau !
>
> Quand tu déclare un tableau dynamique, c'est à toi de lui allouer de la mémoire grâce à l'instruction suivante :
> Redim Preserve tbl(5)
>
> J'ai mis 5 en exemple... Ceci permet d'allour en mémoire vive (dans la RAM de ton PC) 6 emplacements (donc 6 chasons dans ton tableau).
>
> Après, il faut remplir tes cases...
>
> Je te donne un exemple :
>
> >

> > Private Sub test_Click()
> >
> > Redim Preserve tbl(0)
> >
> > tbl(0).Chemin = "c:"
> > tbl(0).Artiste = "Ben Harper"
> > tbl(0).Titre = "Burn One Down"
> > tbl(0).Album = "Fisht For your Mind"
> >
> > MsgBox tbl(0).Chemin
> > MsgBox tbl(0).Artiste
> > MsgBox tbl(0).Titre
> > MsgBox tbl(0).Album
> >
> > End Sub
> >

>
> Est-ce que tu étudie ou a étudié la propgrammation ?
> Tu débutes en VB ?
>
> Ce site est super pour les débutants...
> On est tous passer par là...
>
> Bon courage...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Merci beaucoup, mais le gros prob c'est que sur mon autre feuille quand j'essaye de lire mon tableau, je n y arive pas.
> >
> > J ai mis ça dans mon sub pr faire un test. Mais ca ne marche pas
> >

> > Private Sub test_Click()
> >
> > Dim tbl() As enr
> >
> > MsgBox tbl(0).Chemin
> > MsgBox tbl(0).Artiste
> > MsgBox tbl(0).Titre
> > MsgBox tbl(0).Album
> >
> > End Sub
> >

> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Tu as déclaré ta variable tbl Public dans ton Module Tableau.
> > >
> > > Tu peux donc accéder à cette variable (qui contient une liste de chansons) depuis n'importe quel formulaire de ton projet ou depuis n'importe quel module.
> > >
> > > Ta variable tbl est GLOABL...
> > >
> > > Par contre, il faut que tu ajoutes une variables NbChanson qui te permettra de savoir combien tu as de chansons dans ton tableau tbl. (cependant, tu peux aussi faire avec UBound$(tbl), qui te retourne le nombre d'élement de ton tableau).
> > >
> > >
> > > Ajoute ces 2 fonctions dans ton module Tableau :
> > >
> > >
> > > 'Cette fonction te permet d'ajouter une chanson à ton tableau
> > > Public Sub AddSong(Chemin as String, Artiste as String, Album as String, Titre as String)
> > >
> > > Redim Preserve tbl(NbChanson)
> > > tbl(nbChanson).Chemin = Chemin
> > > tbl(nbChanson).Artist = Artiste
> > > .....
> > > NbChanson = NbChanson + 1
> > >
> > > End sub
> > >
> > >
> > > 'Cette fonction te permet d'enlever une chanson à ton tableau
> > > Public Sub RemoveSong(Titre as String)
> > >
> > > '1- Tu recherche en parcourant ton tableau le Titre correspondant au paramètre
> > >
> > > '2- Tu appliques un algorithme qui va dpélacer les élément de ton tableau suivant
> > >
> > > '3- Tu décrémente ton compteur NbChanson
> > >
> > > (désolé, mais je n'ai pas le temps de te mettre ce code)
> > >
> > > End sub
> > >
> > >
> > > CONSEILS :
> > > Utilise un identifiant UNIQUE pour caractériser une chanson
> > > (Tu ajoutes une variable Id as Long dans ton TYPE)
> > >
> > > Ajoute un champ Duree (qui correspond à la durée d'une chason)...
> > >
> > > Fais toi une petite table Merise ou UML pour bien conceptualiser ton projet...
> > >
> > > Bon courage...
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Merci beaucoup, ça fonctionne bien. Mais j'ai juste encore un petit probleme, J ai mis :
> > > >
> > > >

> > > > Type enr
> > > > Chemin As String
> > > > Artiste As String
> > > > Titre As String
> > > > Album As String
> > > > End Type
> > > >
> > > > Public tbl() As enr
> > > >
> > > >

> > > >
> > > > dans un module que j ai apeler Tableau, mais comme je rempli mon tableau, sur une feuille, et que je veux le lire sur une autre, je ne sais pas comment faire pour pouvoir accèder au donner que j ai placer dans mon tableau.
> > > >
> > > > Est ce que je dois utiliser un call??
> > > >
> > > > Merci d'avance
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Déclaration d'un tableau de String dynamique :
> > > > > Dim tab() as String
> > > > >
> > > > > Allocation mémoire en préservant les éléments du tableau :
> > > > > Redim Preserve tab(2)
> > > > >
> > > > > Affectations :
> > > > > tab(0) = "toto"
> > > > > tab(1) = "tata"
> > > > > tab(2) = "tutu"
> > > > >
> > > > > Ajout d'une nouvelle String au tableau :
> > > > > Redim Preserve tab(3)
> > > > > tab(3) = "tété"
> > > > >
> > > > >
> > > > > J'ai pris l'exemple d'une tableau dynamique de STRING, mais tu peux très bien créer ton propre type et en faire une liste dynamique...
> > > > >
> > > > > Private Type Personne
> > > > > Nom as String
> > > > > Prénom as String
> > > > > Age as Byte
> > > > > End Type
> > > > >
> > > > > Dim listPersonne() as Personne
> > > > > Dim nbPersonne as Long 'Nombre de personne stocké dans la liste
> > > > >
> > > > > Après, tu te fais une fonction d'ajout d'une personne et une fontion pour enlever une personne...
> > > > >
> > > > > Je pense qu'avec tous les exemples cités, tu doit pouvoir y arriver maintenant...
> > > > >
> > > > > Bon courage
> > > > >
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > En plus simple :
> > > > > >
> > > > > > Type TMonTableau
> > > > > > Col1 as ...
> > > > > > Col2 as ...
> > > > > > Col3 as ...
> > > > > > Col4 as ...
> > > > > > end type
> > > > > >
> > > > > > dim montableau(0 to 10) as Tmontableau
> > > > > >
> > > > > > _________________________________________________
> > > > > > La seule chose que non avons à faire ici-bas c'est
> > > > > > choisir quoi faire du temps qui nous à été imparti !!!
> > > > > >
> > > > > >
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > >
> > > > > > > Private Type enr
> > > > > > > num As Integer
> > > > > > > nom As String * 25
> > > > > > > End Type
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Public Function IsArrayEmpty(ByVal V As Variant) As Boolean
> > > > > > >
> > > > > > > On Error Resume Next
> > > > > > >
> > > > > > > Err.Clear
> > > > > > > V = UBound(V)
> > > > > > > IsArrayEmpty = (Err.Number = 9)
> > > > > > > Err.Clear
> > > > > > >
> > > > > > > End Function
> > > > > > >
> > > > > > > Private Sub essai()
> > > > > > >
> > > > > > > Dim tbl() As enr
> > > > > > >
> > > > > > > 'MsgBox IsArrayEmpty(tbl)
> > > > > > >
> > > > > > > ReDim tbl(5)
> > > > > > >
> > > > > > > 'MsgBox IsArrayEmpty(tbl)
> > > > > > > Dim enr1 As enr
> > > > > > > enr1.nom = "Nicolas"
> > > > > > > enr1.num = 10
> > > > > > > tbl(0) = enr1
> > > > > > >
> > > > > > > MsgBox tbl(0).num
> > > > > > > MsgBox tbl(0).nom
> > > > > > > End Sub
> > > > > > >
> > > > > > >
> > > > > > > un tableau dynamique de deux colonnes
> > > > > > >
> > > > > > > ensuite il faut jouer avec preserve et redim pour le rendre dynamique a souhait :-)
> > > > > > >
> > > > > > >
> > > > > > > -------------------------------
> > > > > > > Réponse au message :
> > > > > > > -------------------------------
> > > > > > >
> > > > > > > > bonjour,
> > > > > > > >
> > > > > > > > J'aimerais faire créé un tableau dynamique avec 4 colonnes
> > > > > > > >
> > > > > > > > Est-ce que quelqu'un pourrait m'aider??
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
mardi 15 juillet 2003 à 20:21:20 | Re : Tableau dynamique

jockos

Mec, ça peut pas marcher ton truc...

Tu t'y prend mal...

j'ai bien compris ton problème...

NE redéclare pas ta variable tbl() dans ta Sub BtnCmdOk de ton forumlaire UserFormSelectionDeRepertoir.
Car si tu l'as redéclare, ce sera la variable LOCAL de cette Sub a laquelle tu ajouteras les enregistrements sur la colonne 1.

Tu n'as pas bien compris le fonctionnement des variables GLOBALES / LOCALES.
Va sur des sites de programmation où cela sera expliqué, car c'est primordial que tu comprennes cela...

En plus, tu n'as pas non plus compris l'allocation mémoire avec un tableau dynamique...
Essai de rentrer des valeurs dans la case 5 de ton tableau dynamique, tu verras que ça ne marchera pas dans ton code.

Il faut ALLOUER la mémoire dans ton tableau, c'est à dire lui dire "combien de case il faut qu'il reserve en mémoire).
Si tu veux stocker 5 chansons, tu feras :

Redim Preserve tbl(5)

Après cette instruction, tu auras allouer 5 cases contenant chacune un enregistrement de type "enr". (tout cela, dans ta mémoire RAM bien sûr).

J'ai compris ton problème, mais tu n'as pas compris la solution que j'essai de t'apporter... c'est ça le problème man...

Bon courage...

-------------------------------
Réponse au message :
-------------------------------

> enfait je pense que le plus gros probleme est que j'ai du mal expliquer mon probleme...
>
> ce que tu m a donner fonctionne très bien, mais enfait moi mon problème est que:
>
> J ai une feuille qui s apel UserFormSelectionDeRepertoir.frm ou j ai mon code et a un endroit j ai ceci
>
>
>

> Public Sub BtmCmdOk_Click()
>
> Dim tbl() As enr
> Dim Fichier As String
> Dim Chemin As String
>
> 'recherche les information dans les tag id3 et les met dans les variables.
>
> Dim enr1 As enr
> enr1.Chemin = Chemin
> enr1.Artiste = GetArtiste(Chemin & "\" & Fichier)
> enr1.Titre = GetTitre(Chemin & "\" & Fichier)
> enr1.Album = GetAlbum(Chemin & "\" & Fichier)
> tbl(Ligne) = enr1
>
> MsgBox tbl(0).Chemin
> MsgBox tbl(0).Artiste
> MsgBox tbl(0).Titre
> MsgBox tbl(0).Album
>
> End Sub
>

> et la ça m afiche les valeur de la premiere ligne du tableau sur des msgbox
>
> puis j'ai aussi un modul qui s appel Tableau et dedan j'ai:
>
>
>

> Type enr
> Chemin As String
> Artiste As String
> Titre As String
> Album As String
> End Type
>
> Public tbl() As enr
>

>
>
> et pour finir, j ai une deuxieme feuille qui s apel UserFormjukandsearch.frm et â un endroit dans cette feuille j ai ce code:
>
>

> Private Sub test_Click()
>
> MsgBox tbl(0).Chemin
> MsgBox tbl(0).Artiste
> MsgBox tbl(0).Titre
> MsgBox tbl(0).Album
>
> End Sub
>

>
> alor ce que je ne comprend pas c'est que dans la premiere feuille ca affiche ce qu il y a dans la case 0 et dans la deuxième feuille ca ne marche pas.
>
> Car enfait ce que je voudrais faire, c est que sur la premiere feuille je défini ce qui vas dans le tableau et que ces valeur sois enregistrer dans le le module pour que je puisse apeler ces valeur n'importe quand.
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > C'est normal que ça ne marche pas...
> >
> > Tu n'as pas bien compris le fonctionnement des variables, ni le fonctionnement des tableaux dynamiques...
> >
> > Tout d'abord, pourquoi redéclares-tu ta variable tbl dans ta procédure (Sub) ?
> >
> > tbl est GLOBAL, car tu l'as déclaré Public dans ton Module Tableau. Cela te permet de l'utiliser n'importe ou dans ton projet et SANS JAMAIS LA REDECLARER !
> >
> > Ensuite, tu fais un MsgBox tbl(0).Chemin.
> > Cela ne peux pas marcher si tu n'as pas allouer de la mémoire pour la case 0 de ton tableau !
> >
> > Quand tu déclare un tableau dynamique, c'est à toi de lui allouer de la mémoire grâce à l'instruction suivante :
> > Redim Preserve tbl(5)
> >
> > J'ai mis 5 en exemple... Ceci permet d'allour en mémoire vive (dans la RAM de ton PC) 6 emplacements (donc 6 chasons dans ton tableau).
> >
> > Après, il faut remplir tes cases...
> >
> > Je te donne un exemple :
> >
> > >

> > > Private Sub test_Click()
> > >
> > > Redim Preserve tbl(0)
> > >
> > > tbl(0).Chemin = "c:"
> > > tbl(0).Artiste = "Ben Harper"
> > > tbl(0).Titre = "Burn One Down"
> > > tbl(0).Album = "Fisht For your Mind"
> > >
> > > MsgBox tbl(0).Chemin
> > > MsgBox tbl(0).Artiste
> > > MsgBox tbl(0).Titre
> > > MsgBox tbl(0).Album
> > >
> > > End Sub
> > >

> >
> > Est-ce que tu étudie ou a étudié la propgrammation ?
> > Tu débutes en VB ?
> >
> > Ce site est super pour les débutants...
> > On est tous passer par là...
> >
> > Bon courage...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Merci beaucoup, mais le gros prob c'est que sur mon autre feuille quand j'essaye de lire mon tableau, je n y arive pas.
> > >
> > > J ai mis ça dans mon sub pr faire un test. Mais ca ne marche pas
> > >

> > > Private Sub test_Click()
> > >
> > > Dim tbl() As enr
> > >
> > > MsgBox tbl(0).Chemin
> > > MsgBox tbl(0).Artiste
> > > MsgBox tbl(0).Titre
> > > MsgBox tbl(0).Album
> > >
> > > End Sub
> > >

> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Tu as déclaré ta variable tbl Public dans ton Module Tableau.
> > > >
> > > > Tu peux donc accéder à cette variable (qui contient une liste de chansons) depuis n'importe quel formulaire de ton projet ou depuis n'importe quel module.
> > > >
> > > > Ta variable tbl est GLOABL...
> > > >
> > > > Par contre, il faut que tu ajoutes une variables NbChanson qui te permettra de savoir combien tu as de chansons dans ton tableau tbl. (cependant, tu peux aussi faire avec UBound$(tbl), qui te retourne le nombre d'élement de ton tableau).
> > > >
> > > >
> > > > Ajoute ces 2 fonctions dans ton module Tableau :
> > > >
> > > >
> > > > 'Cette fonction te permet d'ajouter une chanson à ton tableau
> > > > Public Sub AddSong(Chemin as String, Artiste as String, Album as String, Titre as String)
> > > >
> > > > Redim Preserve tbl(NbChanson)
> > > > tbl(nbChanson).Chemin = Chemin
> > > > tbl(nbChanson).Artist = Artiste
> > > > .....
> > > > NbChanson = NbChanson + 1
> > > >
> > > > End sub
> > > >
> > > >
> > > > 'Cette fonction te permet d'enlever une chanson à ton tableau
> > > > Public Sub RemoveSong(Titre as String)
> > > >
> > > > '1- Tu recherche en parcourant ton tableau le Titre correspondant au paramètre
> > > >
> > > > '2- Tu appliques un algorithme qui va dpélacer les élément de ton tableau suivant
> > > >
> > > > '3- Tu décrémente ton compteur NbChanson
> > > >
> > > > (désolé, mais je n'ai pas le temps de te mettre ce code)
> > > >
> > > > End sub
> > > >
> > > >
> > > > CONSEILS :
> > > > Utilise un identifiant UNIQUE pour caractériser une chanson
> > > > (Tu ajoutes une variable Id as Long dans ton TYPE)
> > > >
> > > > Ajoute un champ Duree (qui correspond à la durée d'une chason)...
> > > >
> > > > Fais toi une petite table Merise ou UML pour bien conceptualiser ton projet...
> > > >
> > > > Bon courage...
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Merci beaucoup, ça fonctionne bien. Mais j'ai juste encore un petit probleme, J ai mis :
> > > > >
> > > > >

> > > > > Type enr
> > > > > Chemin As String
> > > > > Artiste As String
> > > > > Titre As String
> > > > > Album As String
> > > > > End Type
> > > > >
> > > > > Public tbl() As enr
> > > > >
> > > > >

> > > > >
> > > > > dans un module que j ai apeler Tableau, mais comme je rempli mon tableau, sur une feuille, et que je veux le lire sur une autre, je ne sais pas comment faire pour pouvoir accèder au donner que j ai placer dans mon tableau.
> > > > >
> > > > > Est ce que je dois utiliser un call??
> > > > >
> > > > > Merci d'avance
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Déclaration d'un tableau de String dynamique :
> > > > > > Dim tab() as String
> > > > > >
> > > > > > Allocation mémoire en préservant les éléments du tableau :
> > > > > > Redim Preserve tab(2)
> > > > > >
> > > > > > Affectations :
> > > > > > tab(0) = "toto"
> > > > > > tab(1) = "tata"
> > > > > > tab(2) = "tutu"
> > > > > >
> > > > > > Ajout d'une nouvelle String au tableau :
> > > > > > Redim Preserve tab(3)
> > > > > > tab(3) = "tété"
> > > > > >
> > > > > >
> > > > > > J'ai pris l'exemple d'une tableau dynamique de STRING, mais tu peux très bien créer ton propre type et en faire une liste dynamique...
> > > > > >
> > > > > > Private Type Personne
> > > > > > Nom as String
> > > > > > Prénom as String
> > > > > > Age as Byte
> > > > > > End Type
> > > > > >
> > > > > > Dim listPersonne() as Personne
> > > > > > Dim nbPersonne as Long 'Nombre de personne stocké dans la liste
> > > > > >
> > > > > > Après, tu te fais une fonction d'ajout d'une personne et une fontion pour enlever une personne...
> > > > > >
> > > > > > Je pense qu'avec tous les exemples cités, tu doit pouvoir y arriver maintenant...
> > > > > >
> > > > > > Bon courage
> > > > > >
> > > > > >
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > En plus simple :
> > > > > > >
> > > > > > > Type TMonTableau
> > > > > > > Col1 as ...
> > > > > > > Col2 as ...
> > > > > > > Col3 as ...
> > > > > > > Col4 as ...
> > > > > > > end type
> > > > > > >
> > > > > > > dim montableau(0 to 10) as Tmontableau
> > > > > > >
> > > > > > > _________________________________________________
> > > > > > > La seule chose que non avons à faire ici-bas c'est
> > > > > > > choisir quoi faire du temps qui nous à été imparti !!!
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > -------------------------------
> > > > > > > Réponse au message :
> > > > > > > -------------------------------
> > > > > > >
> > > > > > > >
> > > > > > > > Private Type enr
> > > > > > > > num As Integer
> > > > > > > > nom As String * 25
> > > > > > > > End Type
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Public Function IsArrayEmpty(ByVal V As Variant) As Boolean
> > > > > > > >
> > > > > > > > On Error Resume Next
> > > > > > > >
> > > > > > > > Err.Clear
> > > > > > > > V = UBound(V)
> > > > > > > > IsArrayEmpty = (Err.Number = 9)
> > > > > > > > Err.Clear
> > > > > > > >
> > > > > > > > End Function
> > > > > > > >
> > > > > > > > Private Sub essai()
> > > > > > > >
> > > > > > > > Dim tbl() As enr
> > > > > > > >
> > > > > > > > 'MsgBox IsArrayEmpty(tbl)
> > > > > > > >
> > > > > > > > ReDim tbl(5)
> > > > > > > >
> > > > > > > > 'MsgBox IsArrayEmpty(tbl)
> > > > > > > > Dim enr1 As enr
> > > > > > > > enr1.nom = "Nicolas"
> > > > > > > > enr1.num = 10
> > > > > > > > tbl(0) = enr1
> > > > > > > >
> > > > > > > > MsgBox tbl(0).num
> > > > > > > > MsgBox tbl(0).nom
> > > > > > > > End Sub
> > > > > > > >
> > > > > > > >
> > > > > > > > un tableau dynamique de deux colonnes
> > > > > > > >
> > > > > > > > ensuite il faut jouer avec preserve et redim pour le rendre dynamique a souhait :-)
> > > > > > > >
> > > > > > > >
> > > > > > > > -------------------------------
> > > > > > > > Réponse au message :
> > > > > > > > -------------------------------
> > > > > > > >
> > > > > > > > > bonjour,
> > > > > > > > >
> > > > > > > > > J'aimerais faire créé un tableau dynamique avec 4 colonnes
> > > > > > > > >
> > > > > > > > > Est-ce que quelqu'un pourrait m'aider??
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

1 2

Cette discussion est classée dans : dynamique, tableau


Répondre à ce message

Sujets en rapport avec ce message

graphique dynamique [ par tery ] salut a tous.j essaie de faire un genre de graphique dynamique mais je ne sais pas comment m y prendre.En gros, je pioche des valeurs contenu dans un Tableau dynamique privée de type object qui contient un tableau dynamique d'un autre type objet [ par Charlie ] Allo...C'est un peu compliquer mon affaire de tableau. Je travaille sur une classe gérant des images.Chaque image est composé d'objets. Une image a de Gestion dynamique de form [ par fieldy8 ] Bonjour,je desirerai faire une gestion dynamique de formj'ai une form et une sous-form ma sous-form est de type tableau mais je voudrai pouvoir choisi Problème à la con avec tableau dynamique [ par Misutsu ] Salut tout le monde !!!Voilà, j'ai jamais tester avant de tableau dynamique, mais là j'en ai un besoin vital, voici en gros ce que j'ai tapoté : dim t tableau dynamique [ par Hutch ] Je voudrais savoir comment ajouter par une boucle, 2 variables à 1 tableau à 2 colonnes.Lorsque le tableau est rempli, comment le visualiser sur une Tableau dynamique [ par Wag ] Slt,Je fais un Agenda avec API win32 et je souhaite intégrer des rendez vous dans un tableau de structure. Mais voil pour le moment cela se fait dans RECUPERER DES DONNEES DANS UN TABLEAU DYNAMIQUE [ par NickGen ] J'ai un petit problême , voila, je voudrais récuperer un certain nombre de données dans un tableau dynamique. Je m'explique: J'ai 34 blocs de données Tableau Dynamique (Fct Array) [ par EricLeGrand77 ] Bonjour,J'ai du mal a incrémenter un tableau (via la fonction array (il y peut-etre d'autres fonctions ??)) avec de nouvelle variable.Pour que cela so URGENT Tableau croisé dynamique en VB6 [ par Damdamdeo ] Salut,Je me prends la tête depuis un bon moment sur un tableau croisé dynamique que je fais à l'aide d'un MSFlexGrid et 16 ComboBox.Je n'ai pas de que Range pr Tableau croisé dynamique [ par philippe ] Bonjour à tousJ'ai une macro Excel qui me fait un tableau croisé dynamique.J'ai défini un range de cellules pour DataSource: ="'MaFeuille'!R1C1:R100C5


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales