Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo
Sommaire > Tables et Champs > Champs
        Ajout d'un champ NuméroAuto à une table existante en SQL
        Comment avoir un champ de texte de plus de 255 caractères ?
        Comment changer le format d'un numéro auto ?
        Création d'un champ NuméroAuto en SQL
        Comment supprimer les trous des champs NuméroAuto ?
        Comment interdire les doublons sur la combinaison de plusieurs champs ?
        Comment modifier la légende d'un champ d'une table via VB
        Comment modifier le type d'un champ de ma table ?
        Comment connaitre le nombre de champs d'une table ?
        Comment ajouter un champ dans une table ?
        Comment renommer un champ avec ADO ?
        Comment renommer un champ avec DAO ?
        Comment renommer un champ en SQL ?
        Comment supprimer un champ avec ADO ?
        Quel type de champ choisir pour un code postal ?
        Comment vérifier l'existence d'un champ avec ADO ?
        Comment modifier les masque de saisie d'un champ ?
        Champs calculés dans une table Access
        Comment récupérer la liste des champs des tables et leurs descriptions ?
        Comment connaitre les noms des champs composant la clé primaire d'une table ?
        Comment faire pour afficher des 0 après la virgule ?
        Comment modifier la valeur par défaut d'un champ d'une table en SQL ?
        Comment créer une clé primaire composée en VBA avec ADO ?
        Comment créer une clé primaire composée en VBA avec DAO
        Comment obtenir une valeur aléatoire unique dans un champ ?
        Comment modifier la position d'une colonne dans une table en VBA ?
        Comment mettre une valeur par défaut dans un champ d'une table ?
        Comment créer un lien hypertexte en dynamique ?
        Comment créer un champ de type décimal ?
        Comment connaitre le nom du champ vide qui ne saurait être null ?
        Comment trier les champs par ordre alphabétique dans une table ?

precedent    sommaire    suivant   


Comment avoir un champ de texte de plus de 255 caractères ?
auteur : Team Access
Il faut utiliser un champ de type mémo, celui-ci accepte jusqu'à 65 535 caractères.


Comment changer le format d'un numéro auto ?
auteur : xp
Vous voulez un numéro automatique de format 00001 par exemple ?

Dans la structure de tables, il faut taper dans la propriété format du numéro auto : 00000.


Création d'un champ NuméroAuto en SQL
auteur : Maxence HUBICHE
CREATE TABLE MaTable ( MonChampID COUNTER, MonAutreChamp Text(10))
lien : Ajout d'un champ NuméroAuto à une table existante en SQL

Comment supprimer les trous des champs NuméroAuto ?
auteur : Maxence HUBICHE
Cette question est étrange en elle-même, car cela ne convient pas, dans une base de données.
Lorsqu'on crée une clé primaire en NuméroAuto, c'est pour éviter d'avoir à créer des identifiants.

  • Ces identifiants sont créés automatiquement ;
  • Ils ne sont pas "porteurs d'information" ;
  • Il ne s'agit pas d'un compteur.
"Combler les trous dans un numéroAuto" est tout simplement une aberration.

Pour exécuter ce code il faut activer la référence : Microsoft DAO 3.x Object Library

Maintenant, si vous avez un champ numérique, vous pouvez combler les trous dans la numérotation en récupérant le premier numéro libre grâce à la fonction suivante :
Function NextID(LeChamp As String, LaTable As String) As Long 
 '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 'Fonction renvoyant le prochain Identifiant, en fonction des valeurs existantes dans une table. 
 'Arguments : 
 '    LeChamp => Nom du champ Identifiant numérique Long concerné 
 '    LaTable => Nom de la table contenant cet identifiant 
 'Retour    : 
 '    1 s'il n'y a rien dans la table 
 '    Le Nombre maximum +1 s'il y a une suite ininterrompue de nombres 
 '    La valeur du nombre manquant en cas de trou. 
 '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Dim sSQL    As String 
    Dim rs      As DAO.Recordset 
    Dim n       As Long 
    
    'Chaîne SQL en fonction de LeChamp et de LaTable, retournant NULL ou le numéro du trou 
    sSQL = "Select Min([" & LECHAMP & "]-1) As NextID From " & LATABLE & " As T1 "
    sSQL = sSQL & "Where ((([" & LECHAMP & "]-1)>0) And (((Select [" & LECHAMP & "] "
    sSQL = sSQL & "From " & LATABLE & " T2 "
    sSQL = sSQL & "Where T2.[" & LECHAMP & "]=T1.[" & LECHAMP & "]-1)) Is Null));" 
    Set rs = CurrentDb.OpenRecordset(sSQL, dbOpenSnapshot) 
    'Nbre d'enregistrements dans laTable 
    n = DCount("[" & LeChamp & "]", "[" & LaTable & "]") 
    If n = 0 Then               'S'il n'y a pas d'enregistrements, mettre 1 
        NextID = 1 
    ElseIf IsNull(rs(0)) Then   'Si la requête ne renvoie rien, incrémenter de 1 le maximum 
        NextID = DMax("[" & LeChamp & "]", "[" & LaTable & "]") + 1 
    Else 
        NextID = rs(0)          'Sinon, il y a un trou. Renvoyer la valeur du trou 
    End If 
End Function
lien : faq Comment réinitialiser un champ de type numéro Auto ?
lien : fr Définition et manipulation de données avec DAO par Tofalu
lien : faq Comment déclarer une référence dans MS-Access ?

Comment interdire les doublons sur la combinaison de plusieurs champs ?
auteur : FRED.G
Il faut créer dans la table un index multichamp et définir sa propriété unique à "oui".
Pour créer l'index :
1) Afficher la table en mode création
2) Menu Affichage >> Index
3) Sélectionner dans la colonne "Nom du champ", tous les champs concernés en laissant vides les champs de la colonne "Nom de l'index", sauf le premier champ, celui où commence la liste car il faut y inscrire le nom de l'index multichamp.)


Comment modifier la légende d'un champ d'une table via VB
auteur : Drosera
Function ModifTable()
 'gestion d'erreur pour garantir la mise à jour de l'écran
On Error GoTo GestionErreur
 'empêche la mise à jour de l'écran
DoCmd.Echo False
 'ouvre la table en mode création
DoCmd.OpenTable "maTable", acViewDesign
 'change la propriété caption du champ 'colonne2'
CurrentDb.TableDefs("maTable")("colonne2").Properties("caption").Value = "nouvelle légende"
 'ferme la table en sauvegardant
DoCmd.Close acTable, "maTable", acSaveYes
Exit_function:
DoCmd.Echo True
Exit Function
GestionErreur:
MsgBox Err.Description
Resume Exit_function
End Function 

Comment modifier le type d'un champ de ma table ?
auteur : Team Access
Il vous faut utiliser ALTER en SQL.
Alter Table [TABLE] Alter Column [NOMCHAMP] [Type];

Comment connaitre le nombre de champs d'une table ?
auteur : Tofalu
En utilisant DAO.

Pour exécuter ce code il faut activer la référence : Microsoft DAO 3.x Object Library

Puis dans un module :
Function NbDeChamp(NomTable as string) As Integer
On error goto err
Dim Db As DAO.Database
Dim T As DAO.TableDef
Set Db=CurrentDb
Set T=Db.Tabledefs(NomTable)
NbDeChamp=T.fields.count
err:
End Function
Puis pour connaitre le nombre de champ de la table essaiyez :
MsgBox NbDeChamp("essai")
lien : fr Définition et manipulation de données avec DAO par Tofalu
lien : faq Comment déclarer une référence dans MS-Access ?

Comment ajouter un champ dans une table ?
auteur : Team Access
Méthode DAO

Pour exécuter ce code il faut activer la référence : Microsoft DAO 3.x Object Library
Sub addDefault () 
    Dim fldDate As Field
    Set fldDate = CurrentDb.TableDefs!Clients.CreateField("DateSignature",dbDate) 
    fldDate.DefaultValue= "Now()" 
    CurrentDb.TableDefs("Clients").Fields.Append fldDate 
End Sub
Méthode SQLPar exemple pour un champ booléen :
ALTER TABLE Clients ADD COLUMN chkSigne YESNO; 
lien : fr Définition et manipulation de données avec DAO par Tofalu
lien : faq Comment déclarer une référence dans MS-Access ?

Comment renommer un champ avec ADO ?
auteur : Tofalu
Tout d'abord ajouter les références suivantes dans votre projet : Microsot ADO Ext 2.X for dll and security Microsof ActiveX Data Object 2.X Library Puis dans un module, écrire le code suivant :
Function RenommerChamp(NomTable As String, Ancien As String, Nouveau As String) As Boolean
On Error GoTo err:
Dim MCat As New ADOX.Catalog
Dim MTable As ADOX.Table
Dim MField As ADOX.Column
Set MCat.ActiveConnection = CurrentProject.Connection
Set MTable = MCat.Tables(NomTable)
Set MField = MTable.Columns(Ancien)
MField.Name = Nouveau
RenommerChamp = True
err:
Set MCat = Nothing
Set MTable = Nothing
Set MField = Nothing
End Function
Utilisation :
MsgBox RenommerChamp("produit2", "stock", "Stock1")
Renomme le champ stock de la table produit en stock1 et affiche true si l'opération a réussie, false sinon.

lien : fr Tutoriel de JM Rabilloud sur ADOX

Comment renommer un champ avec DAO ?
auteur : Tofalu
Pour exécuter ce code il faut activer la référence : Microsoft DAO 3.x Object Library

Dans un module placer le code suivant :
Public sub RenommerChamp(PTable as string,POld as string ,PNew as String)
On error goto err:
Dim VTable as DAO.Tabledef
Dim VField as DAO.Field
set VTable=currentDb.TableDefs(PTable)
set VField=VTable.Fields(POld)
VField.Name=PNew
set VField=Nothing
set VTable=Nothing
exit sub
err:
msgbox "L\'action  renommer le champ a échouée"
End Sub
Voici comment renommer le champ test de la table MaTable en essai
RenommerChamp "MaTable","test","essai"
lien : Comment renommer un champ en SQL ?
lien : fr Définition et manipulation de données avec DAO par Tofalu
lien : faq Comment déclarer une référence dans MS-Access ?

Comment renommer un champ en SQL ?
auteur : Tofalu
C'est impossible en SQL sous Access. Il faut utiliser DAO ou ADO. (voir liens ce-dessous)

lien : faq Comment renommer un champ avec DAO ?
lien : fr Définition et manipulation de données avec DAO par Tofalu

Comment supprimer un champ avec ADO ?
auteur : Tofalu
Tout d'abord ajouter les références suivantes dans votre projet :
Microsot ADO Ext 2.X for dll and security
Microsof ActiveX Data Object 2.X Library
Puis dans un module, écrire le code suivant :
Function SupprimerChamp(NomTable As String, NomChamp) As String
On Error GoTo err
Dim MCat As New ADOX.Catalog
Set MCat.ActiveConnection = CurrentProject.Connection
MCat.Tables(NomTable).Columns.Delete (NomChamp)
SupprimerChamp = True
err:
Set MCat = Nothing
End Function
Utilisation :
MsgBox SupprimerChamp("Produit", "C1")
Ceci affiche true si le champ C1 a été corectement supprimé de la table Produit.

lien : fr Tutoriel de JM Rabilloud sur ADOX

Quel type de champ choisir pour un code postal ?
auteur : Lucifer
En règle générale on utilise du numérique lorsqu'on a des calculs à faire dessus (quantité, prix, compteur, ...), sinon on utilise du texte. Donc ici, le code postal se mettra au format texte.


Comment vérifier l'existence d'un champ avec ADO ?
auteur : Tofalu
Tout d'abord ajouter les références suivantes dans votre projet :

Microsot ADO Ext 2.X for dll and security Microsof ActiveX Data Object 2.X Library
Function ExisteChamp(NomTable As String, NomChamp As String) As Boolean
On Error GoTo err:
Dim MCat As New ADOX.Catalog
Dim MTable As ADOX.Table
Dim MField As ADOX.Column
Set MCat.ActiveConnection = CurrentProject.Connection
Set MTable = MCat.Tables(NomTable)
Set MField = MTable.Columns(NomChamp)
ExisteChamp = True
err:
Set MCat = Nothing
Set MTable = Nothing
Set MField = Nothing
End Function
Utilisation :
Debug.print ExisteChamp("Produit", "stock")
Affiche dans la fenêtre de debogage True si le champ existe dans la table Produit , false sinon.

lien : fr Tutoriel de JM Rabilloud sur ADOX

Comment modifier les masque de saisie d'un champ ?
auteur : Drosera
Il faut utiliser la propriété InputMask du champ, exemple :
Forms!MonFormulaire!Téléphone.InputMask = "##-##-##-##-##"

Champs calculés dans une table Access
auteur : Maxence HUBICHE
Vous ne pouvez pas mettre de champs calculé dans une table Access.
La maintenance de ces derniers n'est pas toujours efficace.
Vous devez donc faire une requête.
Dans cette requête, prenez tous les champs de la table et faites un champ calculé (ex : Select Champ1 + Champ2 From ...). Utilisez également la fonction vraifaux() si besoin est (afin de ne pas diviser par 0 par exemple).


Comment récupérer la liste des champs des tables et leurs descriptions ?
auteur : FRED.G
Pour exécuter ce code il faut activer la référence : Microsoft DAO 3.x Object Library

Dim db As DAO.Database, tdf As DAO.TableDef, fld As DAO.Field
Dim strDescription As String

Set db = CurrentDb

On Error GoTo GestionErreur

For Each tdf In db.TableDefs
  For Each fld In tdf.Fields
    strDescription = fld.Properties("Description")
    If MsgBox("Nom : " & fld.Name & vbCrLf & vbCrLf & _
              "Description : " & strDescription, _
              vbOKCancel, _
              "Champs de la table : " & tdf.Name) = vbCancel Then Exit Sub
  Next fld
Next tdf

Set fld = Nothing
Set tdf = Nothing
Set db = Nothing

Exit Sub

GestionErreur:
Select Case Err.Number
  Case 3270
    strDescription = ""
    Resume Next
  Case Else
    MsgBox "Erreur inconnue.", vbCritical
Set fld = Nothing
Set tdf = Nothing
Set db = Nothing
exit sub
End Select
lien : fr Définition et manipulation de données avec DAO par Tofalu
lien : faq Comment déclarer une référence dans MS-Access ?

Comment connaitre les noms des champs composant la clé primaire d'une table ?
auteur : Tofalu
Pour exécuter ce code il faut activer la référence : Microsoft DAO 3.x Object Library


Ben le soucis c'est que une clé primaire peut être composée.


Sinon, si tu souhaites connaitre le nom de la clé primaire, je doit bien avoir ça quelque part...


Puis dans un module :

Public Function NomClePrimaire(NomTable As String) As String
On Error GoTo err
Dim oInd As DAO.Index
Dim oDb As DAO.database
Dim oTbl As DAO.tabledef
Dim oFld As DAO.Field
Set oDb = CurrentDb
Set oTbl = oDb.TableDefs(NomTable)
'Parcours les index
For Each oInd In oTbl.Indexes
'S'il s'agit d'une clé primaire, alors traiter
If oInd.Primary Then
    For Each oFld In oInd.Fields
        NomClePrimaire = NomClePrimaire & oFld.Name & ","
    Next oFld
    Exit For
End If
Next oInd
'Enleve la dernière virgule
NomClePrimaire = Left(NomClePrimaire, Len(NomClePrimaire) - 1)
Exit Function
err:
End Function

Utilisation :

Msgbox NomClePrimaire("MaTable")

Dans le cas de clés primaires composées, cela retourne le nom des champs séparés par des virgules.

lien : fr Définition et manipulation de données avec DAO par Tofalu
lien : faq Comment déclarer une référence dans MS-Access ?

Comment faire pour afficher des 0 après la virgule ?
auteur : fdraven
Dans la table, quand vous sélectionnez le champ qui doit être numérique, vous devez avoir :

  • taille du champ : réel simple
  • Format : standard
  • Décimal : 3
Ainsi, si le nombre stocké est 16, il sera affiché : 16.000.


Comment modifier la valeur par défaut d'un champ d'une table en SQL ?
auteur : cakeke

ALTER TABLE <table1> ALTER COLUMN <champ1> <typeChamp1> DEFAULT <valeurParDéfaut>

Comment créer une clé primaire composée en VBA avec ADO ?
auteur : Tofalu
Il faut ajouter la référence Microsoft ADO Ext. For DDL and Security à votre projet puis travailler avec les objets ADOX.Key.

Exemple :

Sub PrimaryKeyADO()
Dim oCat As ADOX.Catalog
Dim oTbl As ADOX.Table
Dim oKey As ADOX.Key
'Instancie un nouvel objet ADOX.Catalog
Set oCat = New ADOX.Catalog
'Lie le catalogue à la base de données
Set oCat.ActiveConnection = CurrentProject.Connection
'Accède à la table
Set oTbl = oCat.Tables("MaTable")
'Crée une nouvelle clé primaire
Set oKey = New ADOX.Key
'Affecte les différentes propriétés
With oKey
    .Name = "PK_MaTable"
    .Type = adKeyPrimary
    'Ajoute les trois champs à la clé primaire
    With .Columns
        .Append "champ1"
        .Append "champ2"
        .Append "champ3"
    End With
End With
'Ajoute la clé primaire à la table
oTbl.Keys.Append oKey
End Sub

Comment créer une clé primaire composée en VBA avec DAO
auteur : Tofalu
Pour exécuter ce code il faut activer la référence : Microsoft DAO 3.x Object Library puis travailler avec les objets DAO.Index.


Exemple :

Sub PrimaryKey()
Dim oDb As DAO.Database
Dim oTbl As DAO.TableDef
Dim oIdx As DAO.Index
'Instancie un objet Database courant
Set oDb = CurrentDb
'Accède à la table
Set oTbl = oDb.TableDefs("MaTable")
'Crée la clé primaire sur les champs :
'champ1, champ2, champ3
Set oIdx = oTbl.CreateIndex("PK_MaTable")
With oIdx
    .Fields.Append .CreateField("Champ1")
    .Fields.Append .CreateField("Champ2")
    .Fields.Append .CreateField("Champ3")
    .Primary = True
    .Required = True
End With
oTbl.Indexes.Append oIdx
End Sub
lien : fr Définition et manipulation de données avec DAO par Tofalu
lien : faq Comment déclarer une référence dans MS-Access ?

Comment obtenir une valeur aléatoire unique dans un champ ?
auteur : Tofalu
Si votre champ est de type numérique entier long, vous pouvez utiliser une méthode peu documentée du moteur Jet : la fonction GenUniqueId
Créer votre champ, définissez son type et fixer sa valeur par défaut à :
=GenUniqueId()


Comment modifier la position d'une colonne dans une table en VBA ?
auteur : Tofalu

Sous DAO, il s'agit de la propriété OrdinalPosition de l'objet Field.

Pour exécuter ce code il faut activer la référence : Microsoft DAO 3.x Object Library
Dim db As DAO.Database
Dim fld As DAO.Field
Dim tbl As DAO.TableDef
Set db = CurrentDb
Set tbl = db.TableDefs("essai")
Set fld = tbl.Fields("c1")
fld.OrdinalPosition = 3
lien : fr Définition et manipulation de données avec DAO par Tofalu
lien : faq Comment déclarer une référence dans MS-Access ?

Comment mettre une valeur par défaut dans un champ d'une table ?
auteur : loufab
La propiété Valeur par défaut directement dans les propriétés du champ, dans la structure de la table.


Comment créer un lien hypertexte en dynamique ?
auteur : Cafeine
Il n'est pas possible de créer un champ de type hypertexte via un SQL ALTER, puisqu'à ma connaissance les possibilités sont "réduites" à cela :
Texte : VARCHAR (255 caractères), CHAR(n) ou TEXT(n) (n caractères), LONGTEXT (mémo, 32K max.) ;
Fichier binaire : LONGBINARY (Objet OLE) ;
Compteur : COUNTER (NuméroAuto).Booléen : BIT ;
Nombre entier : SHORT (entier), SMALLINT (entier), LONG (entier long), INTEGER (entier long), BYTE (octet) ;
Nombre réel : SINGLE (réel simple), DOUBLE (réel double), NUMERIC (réel double) ;
Monétaire : CURRENCY, MONEY ;
Date/Heure : DATE, TIME, DATETIME ;
Pour faire cela je vous renvoi vers le tuto DAO de Tofalu dans la partie 4 au paragraphe 4.4.2.

lien : fr Définition et manipulation de données avec DAO par Tofalu

Comment créer un champ de type décimal ?
auteur : Tofalu
c'est une des impossibilités avec DAO.
seul remède : ADO

Pour ce code il est nécéssaire de mettre les références => Microsot ADO Ext 2.X for dll and security et Microsoft ActiveX Data Object 2.X Library
CurrentProject.Connection.Execute "ALTER TABLE TABLE1 ADD COLUMN ESSAI3 DECIMAL(18,0)"

Comment connaitre le nom du champ vide qui ne saurait être null ?
auteur : Meduse
l'erreur 3314 nous indique qu'on essaie de remplir un enregistrement alors
qu'un des champs (voir plusieurs) de la table ne peut être null.

En VBA ça correspond à la propriété Required de l'objet Field :
si Required = True, le champ ne peut pas accepter de Null.
Sub NoNull()
Dim db As DAO.Database, tdf As DAO.TableDef, fld As DAO.Field
Dim strDescription As String
 
Set db = CurrentDb
Set tdf = db.TableDefs("maTABLE")
 
For Each fld In tdf.Fields
    
    If fld.Required = True Then
 
        If IsNull(Me.Controls(fld.Name)) Then MsgBox "REMPLISSEZ MOI LE CHAMP" & fld.Name
 
    End If
 
Next fld
 
Set fld = Nothing
Set tdf = Nothing
Set db = Nothing
 
Exit Sub

Comment trier les champs par ordre alphabétique dans une table ?
auteur : Tofalu
Quand vous disposez d'une grande table, il est parfois nécessaire de trier les champs par ordre alphabétique pour s'y retrouver facilement.

Cela peut être fait en VBA avec DAO en attribuant la même propriété OrdinalPosition à tous les champs.

Pour exécuter ce code il faut activer la référence : Microsoft DAO 3.x Object Library
Sub ranger()
Dim db As DAO.Database
Dim fld As DAO.Field
Dim tbl As DAO.TableDef
Set db = CurrentDb
Set tbl = db.TableDefs("essai")
For Each fld In tbl.Fields
fld.OrdinalPosition = 1
Next
End Sub
En utilisant plusieurs valeurs de OrdinalPosition, il est possible de créer des groupes. Exemple pour afficher les clés primaires en haut de la liste des champs :
Sub ranger()
Dim db As DAO.Database
Dim fld As DAO.Field
Dim tbl As DAO.TableDef
Set db = CurrentDb
Set tbl = db.TableDefs("essai")
For Each fld In tbl.Fields
If IsPrimary(fld, tbl) Then
fld.OrdinalPosition = 1
Else
fld.OrdinalPosition = 2
End If
Next
End Sub
Function IsPrimary(fld As DAO.Field, tbl As DAO.TableDef) As Boolean
On Error GoTo err
Dim ind As DAO.Index
Dim tfld As DAO.Field
For Each ind In tbl.Indexes
If ind.Primary Then
Set tfld = ind.Fields(fld.Name)
IsPrimary = True
End If
Next ind
err:
End Function
lien : fr Définition et manipulation de données avec DAO par Tofalu
lien : faq Comment déclarer une référence dans MS-Access ?

precedent    sommaire    suivant   

Consultez les autres F.A.Q's


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2004  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com