Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/08/2011, 15h21   #1
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
Par défaut Problème dans mon code

Bonjour,

je n'arrive pas à faire fonctionner mon code...

j'ai un formulaire avec champ1, champ2, bouton1 et une case à coché

je voudrais faire :

Quand le champ1 est null et champ2 est null mettre zéro à la case à coché
Quand le champ1 est null et champ2 est non null afficher un msgbox "erreur"
Quand le champ1 non null et champ2 null afficher un msgbox "erreur"
Quand le champ1 non null et champ2 non null mettre -1 à la case à coché

voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
 
If champ1 Is Null Xor champ2 Is Null Then
   msgbox "erreur", vbcritical
Else
   If champ1 Is Null And champ2 Is Null
       Case_à_coché=0
   Else
      Case_à_coché=-1
   End If
End If
Mon problème quand j'ouvre ce formulaire, mes champ1 et champ2 sont vide, donc quand je clique sur le bouton qui exécute mon code, je devrais obtenir ma case à coché = 0 hors il m'affiche le msgbox "erreur".... Alors que ma condition est fausse...
De plus une fois si je remplis mes champ1 et champ2, et que j'efface ce que j'ai écrit, la tout fonctionne parfaitement. Il prend bien la condition Null et Null mettre case à coché = 0
Je ne comprends pas mon problème

Merci pour vos réponse, Bonne après midi
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 15h29   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
Code :
If isnull(champ1) Xor isNull(champ2) Then
devrait résoudre ton problème.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 15h32   #3
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
Merci de votre réponse je vais essayer, j'ai rajouter deux phrases sur la fin, pq j'avais oublié de le préciser...
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 15h37   #4
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
ça n'a rien changé avec la modification
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 16h32   #5
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
OK je pense que c'est qu'à l'ouverture les champs ne sont pas Null il sont Empty.

esssaye avec

Code :
If (isnull(champ1) or champ1 is empty)  Xor (isNull(champ2)  or champ2 is empty) Then
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 16h55   #6
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
"erreur 424 Objet requis"

Empty qu'est ce que c'est exactement ? c'est une variable ?
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 18h54   #7
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
Code :
If (isnull(champ1) or isempty(champ1))  Xor (isNull(champ2)  or isempty(champ2))
OK ça devrait être bon cette fois.

Empty est une constante figurative comme Null.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 09h13   #8
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
bonjour,

j'ai tout essayé :

Code :
1
2
 
If (IsNull(champ1) Or IsEmpty(champ1)) Xor (IsNull(champ2) Or IsEmpty(champ2)) Then
Ça ne fonctionne tjrs pas quand mes champ1 et champ2 sont nulles, mais fonctionnent quand je remplie les champs et que j'efface juste derrière pour mettre les deux champs nulles...

Code :
1
2
 
If (IsEmpty(champ1)) Xor (IsEmpty(champ2)) Then
dans cette configuration aucune condition ne fonctionne
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 10h16   #9
Nouveau Membre du Club
 
Homme
Étudiant
Inscription : juin 2011
Messages : 75
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 75
Points : 27
Points : 27
et en essayant ? ça m'est déjà arrivé de me faire piéger comme ça
candrau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 10h57   #10
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
bonjour Candrau, oui c'est la 1ere chose que j'ai essayé de faire, mais ça ne marche pas non plus.
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 13h30   #11
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
Très étrange.

Bon alors mets un point d'arret sur la ligne qui fait le test puis dans la fenêtre d'éxécution immédiate (Pour l'afficher : [Ctrl][G]) tape :

? IsNull(Champ1) [enter]
? IsNull(Champ2) [enter]
? IsEmpty(Champ1) [enter]
? IsEmpty(Champ2) [enter]

Cela devrait répondre vrai (true) ou faux (false) selon la valeur contenu dans tes champs.

Ça devait nous indiquer ce que voit Access.

Après on pourra peut être remplacer le XOR par un test sur Champ1 et Non Champ2 ou Non Champ1 et Champ2 mais il faut d'abor savoir ce que Access a mis là.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 14h05   #12
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
je ne sais pas si j'ai bien fait (pq je ne l'ai jamais fait avant), j'ai mis un point dans le code (dans la marge à gauche)qui me surligne ma ligne qui fait mon test. je clique sur mon bouton qui m'exécute le code, donc j'ai une erreur pq il ne peut pas lire la ligne qui est en jaune maintenant et je tape ctrl + G :

? IsNull(Champ1)
Faux
? IsNull(Champ2)
Faux
? IsEmpty(Champ1)
Vrai
? IsEmpty(Champ2)
Vrai

voila, mes champs ont bien un problème d'après cette expérience pq les deux Isnull champ1 et empty champ1 n'affichent pas la même valeur.
Mais j'ai ré effectué le test en ayant mis des valeurs dans mes champs et j'ai les même réponses...
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 15h46   #13
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
Citation:
Isnull champ1 et empty champ1 n'affichent pas la même valeur
c'est normal car empty est différent de null donc tu ne peux pas avoir IsNull et IsEmpty vrai en même temps.

Essaye :

Code :
1
2
3
4
5
6
7
8
9
If (isnull(champ1) or isEmpty(Champ1)) Xor (isnull(champ2) or isEmpty(Champ2)) Then
   msgbox "erreur", vbcritical
Else
   If (isnull(champ1) or isEmpty(Champ1)) and (isnull(champ2) or isEmpty(Champ2)) Is Null
       Case_à_coché=false
   Else
      Case_à_coché=True
   End If
End If
  • Si l'un ou l'autre est rempli (mais pas les 2) tu as "Erreur"
  • Si les deux sont vides, la case à cocher n'est pas cochée
  • Si les deux sont rempli, la case à cocher est cochée

Note en passant : préfère les constantes figuratives aux valeurs numériques. Cela rend le code plus lisible. La convention pour vai et faux diffère d'un système à l'autre (par exemple en MS-SQL Server Vrai=1, Faux=0) tandis que True et False évite la confusion.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 16h31   #14
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
Code :
1
2
3
4
5
6
7
8
9
If (isnull(champ1) or isEmpty(Champ1)) Xor (isnull(champ2) or isEmpty(Champ2)) Then
   msgbox "erreur", vbcritical
Else
   If (isnull(champ1) or isEmpty(Champ1)) and (isnull(champ2) or isEmpty(Champ2)) Is Null Then
       Case_à_coché=false
   Else
      Case_à_coché=True
   End If
End If
il y a un oublie dans votre code, le Then. Sinon j'ai un message d'erreur :
le "Or" de la ligne 4 "erreur de compiliation : Incompatibilité de type". Je ne vois pas en quoi la modification que vous m'avez donné aurais résolut le problème des champs nulles ?
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 18h05   #15
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
Bon j'ai arrété de travaillé de tête et j'ai testé dans Access. Ça devrait être bon.

Comme je n'avais pas de case à cocher j'ai mis un booléen pour le test.

Code :
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
Private Sub Test()
    Call TestChamp(Null, Null) '-> case à cocher = faux
    Call TestChamp(Null, Empty) '-> case à cocher = faux
    Call TestChamp(Empty, Empty) '-> case à cocher = faux
    Call TestChamp("A", "B") '-> case à cocher = vrai
    Call TestChamp(Empty, "B") '-> Erreur
    Call TestChamp(Null, "B") '->Erreur
End Sub
 
Private Sub TestChamp(prmChamp1 As Variant, prmChamp2 As Variant)
 
    Dim Case_à_coché As Boolean
 
    If (IsNull(prmChamp1) Or IsEmpty(prmChamp1)) Xor (IsNull(prmChamp2) Or IsEmpty(prmChamp2)) Then
            MsgBox "erreur", vbCritical
        Else
            If (IsNull(prmChamp1) Or IsEmpty(prmChamp1)) And (IsNull(prmChamp2) Or IsEmpty(prmChamp2)) Then
                    Case_à_coché = False
                Else
                    Case_à_coché = True
            End If
    End If
 
    Debug.Print Case_à_coché
End Sub
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 10h20   #16
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
chez moi ça ne marche pas, je vais partager mon code :

Code :
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
 
Private Sub Commande79_Click()
 
    ' ##### Condition avec les ref four + code four #####
If (IsNull([Forms]![F_H_0_Creer_Coswin_av_Correspondance_Fournisseur]![Référence_Fournisseur_Usine]) Or IsEmpty([Forms]![F_H_0_Creer_Coswin_av_Correspondance_Fournisseur]![Référence_Fournisseur_Usine])) Xor (IsNull([Forms]![F_H_0_Creer_Coswin_av_Correspondance_Fournisseur]![Modifiable69]) Or IsEmpty([Forms]![F_H_0_Creer_Coswin_av_Correspondance_Fournisseur]![Modifiable69])) Then
    MsgBox "Erreur", vbCritical
    Exit Sub
Else
    If (IsNull([Forms]![F_H_0_Creer_Coswin_av_Correspondance_Fournisseur]![Référence_Fournisseur_Usine]) Or IsEmpty([Forms]![F_H_0_Creer_Coswin_av_Correspondance_Fournisseur]![Référence_Fournisseur_Usine])) And (IsNull([Forms]![F_H_0_Creer_Coswin_av_Correspondance_Fournisseur]![Modifiable69]) Or IsEmpty([Forms]![F_H_0_Creer_Coswin_av_Correspondance_Fournisseur]![Modifiable69])) Is Null Then
        Forms!F_H_0_Creer_Coswin_av_Correspondance_Fournisseur!Créer_New_Fournisseur_Usine = False
        DoCmd.Save acForm, "F_H_0_Creer_Coswin_av_Correspondance_Fournisseur"
        ' #### Mise à jour #####
        DoCmd.Close acForm, "F_H_0_Creer_Coswin_av_Correspondance_Fournisseur"
        DoCmd.OpenQuery "R_H_5_Mise_a_jour_Code_Fournisseur_TMP_Usine2", acViewNormal, acEdit
        DoCmd.OpenQuery "R_H_1_Update_TMP_Usine2_a_Usine", acViewNormal, acAdd
        DoCmd.OpenQuery "R_F_4_Mise_a_jour_Table_Lien_Code_Groupe", acViewNormal, acEdit
        DoCmd.OpenQuery "R_C_Mise_a_jour_ID_Groupe", acViewNormal, acEdit
        DoCmd.OpenQuery "R_C_Mise_a_jour_ID_Source", acViewNormal, acEdit
        DoCmd.OpenQuery "R_C_Mise_a_jour_Lien_-1", acViewNormal, acEdit
        DoCmd.OpenQuery "R_C_Mise_a_jour_Lien_Fait_-1", acViewNormal, acEdit
        DoCmd.OpenQuery "R_H_2_Mise_a_Jour_Famille_Groupe_a_Usine", acViewNormal, acEdit
        DoCmd.OpenQuery "R_H_3_Mise_a_jour_STK_a_Usine", acViewNormal, acEdit
        DoCmd.OpenQuery "R_H_4_Mise_a_jour_CMD_a_Usine", acViewNormal, acEdit
        DoCmd.OpenQuery "R_C_Mise_a_jour_Des_Fournisseur_TMP_Usine", acViewNormal, acEdit
        ' #### Fermeture des formulaires ####
        DoCmd.Close acForm, "F_G_1_SF_Fournisseur"
        DoCmd.Close acForm, "F_F_2_FS_Source"
        DoCmd.Close acForm, "F_E_0_Recherche_Groupe"
        DoCmd.Close acForm, "F_F_3_SF_Fournisseur"
        DoCmd.Close acForm, "F_G_0_Recherche_Fournisseur"
        Exit Sub
    Else
        Forms!F_H_0_Creer_Coswin_av_Correspondance_Fournisseur!Créer_New_Fournisseur_Usine = True
           DoCmd.Save acForm, "F_H_0_Creer_Coswin_av_Correspondance_Fournisseur"
        ' #### Mise à jour #####
        DoCmd.Close acForm, "F_H_0_Creer_Coswin_av_Correspondance_Fournisseur"
        DoCmd.OpenQuery "R_H_5_Mise_a_jour_Code_Fournisseur_TMP_Usine2", acViewNormal, acEdit
        DoCmd.OpenQuery "R_H_1_Update_TMP_Usine2_a_Usine", acViewNormal, acAdd
        DoCmd.OpenQuery "R_F_4_Mise_a_jour_Table_Lien_Code_Groupe", acViewNormal, acEdit
        DoCmd.OpenQuery "R_C_Mise_a_jour_ID_Groupe", acViewNormal, acEdit
        DoCmd.OpenQuery "R_C_Mise_a_jour_ID_Source", acViewNormal, acEdit
        DoCmd.OpenQuery "R_C_Mise_a_jour_Lien_-1", acViewNormal, acEdit
        DoCmd.OpenQuery "R_C_Mise_a_jour_Lien_Fait_-1", acViewNormal, acEdit
        DoCmd.OpenQuery "R_H_2_Mise_a_Jour_Famille_Groupe_a_Usine", acViewNormal, acEdit
        DoCmd.OpenQuery "R_H_3_Mise_a_jour_STK_a_Usine", acViewNormal, acEdit
        DoCmd.OpenQuery "R_H_4_Mise_a_jour_CMD_a_Usine", acViewNormal, acEdit
        DoCmd.OpenQuery "R_C_Mise_a_jour_Des_Fournisseur_TMP_Usine", acViewNormal, acEdit
        ' #### Fermeture des formulaires ####
        DoCmd.Close acForm, "F_G_1_SF_Fournisseur"
        DoCmd.Close acForm, "F_F_2_FS_Source"
        DoCmd.Close acForm, "F_E_0_Recherche_Groupe"
        DoCmd.Close acForm, "F_F_3_SF_Fournisseur"
        DoCmd.Close acForm, "F_G_0_Recherche_Fournisseur"
    End If
End If
End Sub
et ça ne fonctionne pas. Une foix ce formulaire ouvert, mes champs sont nulles, et quand je clique sur le bouton, il me dit "erreur" alors que mes champs sont nulles.
mais si je saisie des valeurs dans les champs et que je les efface, la ça marche...
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 13h49   #17
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
Bigre bigre c't'un tuff c'lui là :-).

As-tu esssayé mon code chez toi, directement sans l'adapter à ton problème ?

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 13h50   #18
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
Au fait sur la ligne 9 de ton code, il faut enlever le IS NULL à la fin.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 14h07   #19
Membre éclairé
 
Homme Michel
Développeur informatique
Inscription : février 2008
Messages : 261
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : février 2008
Messages : 261
Points : 304
Points : 304
Par défaut Voilà qqchose qui a l'air de fonctionner...

Code :
1
2
3
4
5
6
7
8
9
10
Function test()
    champ1 = Null
    champ2 = "xxxxx"
 
    If (Not IsNull(champ1) And IsNull(champ2)) Or (IsNull(champ1) And Not IsNull(champ2)) Then
        MsgBox "erreur", vbCritical
    Else
        Case_à_coché = Not IsNull(champ1) And Not IsNull(champ2)
    End If
End Function
Plaçant diverses valeurs dans Champ1 et Champ2 au début de ce code, ça a l'air de répondre à ta demande.

Michel
Orion34080 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 14h10   #20
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
je vais essayer sauf que je ne comprends pas tout,

Code :
1
2
 
call testchamp (null,null)
le call testchamp est 3ème champs (fictif ?) et entre parenthèse je mais mes champ1 is null , champ2 is null.

c'est ça ?
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h58.


 
 
 
 
Partenaires

Hébergement Web