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

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

Access Discussion :

Combinaison des fonctions IF ELSE and OR - Comment faire? [AC-2013]


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2018
    Messages : 29
    Points : 29
    Points
    29
    Par défaut Combinaison des fonctions IF ELSE and OR - Comment faire?
    Bonjour tout le monde,

    L'informatique est, et restera, toujours un mystère pour moi.

    Pour vous expliquer le contexte avant mon [nouveau] problème, je vous copie ci-dessous le message que j'avais publié dans un post antérieur:

    ***DEBUT MESSAGE***

    CONTEXTE:


    Actuellement en stage dans une entreprise, il m'est demandé de créer une base de données comprenant les "exigences client" d'un projet et, par la suite, de créer un outil de "reporting" qui permettra le suivi et la gestion de ces exigences.

    Pour ce faire, j'utilise les logiciels Access 2013 (pour la partie BD et exploitation/synthétisation des données) et Power B.I. Desktop (pour la partie affichage graphique des données).

    1ERE ÉTAPE:

    Pour commencer, j'ai créé une base de données structurée tel que suite (je vous donne une version [très] simplifiée):

    ORIGINE IDENTIFIANT SYSTEME SOUS-SYSTEME N-1 FONCTION TRANSVERSALE 1
    ABC 001 1 1 X
    ABC 002 1 1 X
    ABC 003 1 1 Y
    ABC 004 1 2 X
    ABC 005 1 2 Y
    ABC 006 2 1 X
    ABC 007 2 1 X

    Sachant que le(s) critère(s):

    Fonction Transversale 1 peut avoir comme solution un des choix suivant: X ou Y ou Z (choix à effectuer dans une liste déroulante);
    Système & Sous-Système N-1 composent l’arborescence de l'exigence.




    2EME ÉTAPE:

    Ensuite, j'utilise une requête (Tableau croisé dynamique - utilisation de l'Assistant Requête) afin de comptabiliser le nombre de X, Y ou Z en fonction de l'arborescence.
    Et ce dans le but d'avoir une synthétisation des données tel que suit:

    SYSTEME SOUS-SYSTEME N-1 NBR DE X NBR DE Y
    1 1 2 1
    1 2 1 1
    2 1 2 0


    Jusque-là, pas de problème.

    3EME ÉTAPE:

    J'ai créé une seconde requête "Création de table" qui va chercher les données se trouvant dans la feuille de données de la 1ère requête (expliquée précédemment) afin de les faire figurer dans une nouvelle table.

    Le pourquoi de la chose? Car à partir de Power B.I. Desktop, il est uniquement possible de charger les données se trouvant dans un format table dans Access. Sinon, cela aurait été trop facile.

    PROBLÉMATIQUE:

    Comme expliqué plus haut, le critère Fonction Transversale 1 a plusieurs choix possibles (X, Y ou Z).

    Hors, à ce stade du projet, nous n'avons pas encore la nécessité de rentrer le choix Z.

    Du coup, si dans ma deuxième requête, je l'utilise comme champ de référence, le message d'erreur suivant s'affiche:

    "Le moteur de la base de données Microsoft ne reconnait pas "...." en tant que nom de champ ou expression correcte."
    .

    Je sais que cela est normal car la 1ère requête n'a identifié aucun Z dans la base de données.

    Ma question est donc la suivante:

    Existe-t-il une solution [ou une autre - je ne suis pas jaloux] afin de remonter, pour Z, la valeur 0 dans le tableau de synthétisation?

    ET CE AFIN D'AVOIR LE TABLEAU SUIVANT:

    SYSTEME SOUS-SYSTEME N-1 NBR DE X NBR DE Y NBR DE Z
    1 1 2 1 0
    1 2 1 1 0
    2 1 2 0 0

    Si oui, cela se fait-il dès la 1ère requête?

    Le but de cette manœuvre serait d'éviter de venir changer les paramètres de mes différentes requêtes dans le futur lorsque le choix Z sera enfin rentré dans la base de données.
    Car, comme expliqué plus haut, chaque exigence a d'autres critères que celui de Fonction Transversale 1, et le même problème aura lieu pour plusieurs d'entre eux.

    ***FIN MESSAGE***

    Suite à ce message, une solution avait été trouvée: celle-ci consistait à créer un module avec le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub ResumeCreate()
        Dim strSQL As String
        If Nz(DCount("[Fonction Transversale 1]", "Database_Exigences", "[Fonction Transversale 1]='Z'"), 0) = 0 Then
            strSQL = "SELECT Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1], Requete_FonctTransv_Exigences.X, " & _
              "Requete_FonctTransv_Exigences.Y INTO Table_Resume_FonctTransv " & _
              "FROM Requete_FonctTransv_Exigences " & _
              "ORDER BY Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1];"
     
         Else
            strSQL = "SELECT Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1], Requete_FonctTransv_Exigences.X, " & _
              "Requete_FonctTransv_Exigences.Y, nz([Requete_FonctTransv_Exigences].[Z],0) AS Z INTO Table_Resume_FonctTransv " & _
              "FROM Requete_FonctTransv_Exigences " & _
              "ORDER BY Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1];"
        End If
        DoCmd.SetWarnings False
        DoCmd.RunSQL (strSQL)
        DoCmd.SetWarnings True
    End Sub
    Cela marche très bien (voir fichier test en copie).

    MON PROBLEME, maintenant, est le suivant:

    => je souhaiterai, à partir du même module, effectuer la même chose mais avec tous les critères soit X, Y et Z.

    Je pense bien qu'il faut ajouter la fonction OU dans la première partie du code.

    Mais je dois me mélanger les pinceaux ou mal structurer car je n'y arrive pas.

    A défaut d'être un expert en VBA, j'essaie au moins de bien structurer mon message afin d'être compréhensible.

    En vous remerciant pour tout aide que vous m'apporterez.

    Sebastien
    Fichiers attachés Fichiers attachés

  2. #2
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 328
    Points : 477
    Points
    477
    Par défaut
    Salut
    au pied levé...
    dans ton IF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     If Nz(DCount("[Fonction Transversale 1]", "Database_Exigences", "[Fonction Transversale 1]='x' Or [Fonction Transversale 1]='y' Or [Fonction Transversale 1]='Z'"), 0) = 0 Then
    apres le Else

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    sql = "SELECT Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1], "
    sql =sql & "Nz([Requete_FonctTransv_Exigences].[x],0) AS X, Nz([Requete_FonctTransv_Exigences].[y],0) AS Y, "
    sql = sql & "Nz([Requete_FonctTransv_Exigences].[Z],0) AS Z INTO Table_Resume_FonctTransv
    sql = sql & "FROM Requete_FonctTransv_Exigences "
    sql = sql & "ORDER BY Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1];"
    A voir , je ne sais pas trop si ca correspond a tes attentes..
    ++

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2018
    Messages : 29
    Points : 29
    Points
    29
    Par défaut :arf:
    Salut,

    Merci pour ton message.

    Finalement pour le début de mon code, je suis parti comme cela en utilisant la fonction Elseif:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Sub ResumeCreate()
        Dim strSQL As String
     
        'Declaration Z
     
        If nz(DCount("[Fonction Transversale 1]", "Database_Exigences", "[Fonction Transversale 1]='Z'"), 0) = 0 Then
            strSQL = "SELECT Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1], Requete_FonctTransv_Exigences.X, " & _
              "Requete_FonctTransv_Exigences.Y INTO Table_Resume_FonctTransv " & _
              "FROM Requete_FonctTransv_Exigences " & _
              "ORDER BY Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1];"
     
         'Declaration X
     
        ElseIf nz(DCount("[Fonction Transversale 1]", "Database_Exigences", "[Fonction Transversale 1]='X'"), 0) = 0 Then
             strSQL = "SELECT Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1], Requete_FonctTransv_Exigences.Z, " & _
              "Requete_FonctTransv_Exigences.Y INTO Table_Resume_FonctTransv " & _
              "FROM Requete_FonctTransv_Exigences " & _
              "ORDER BY Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1];"
     
          'Declaration Y
     
        ElseIf nz(DCount("[Fonction Transversale 1]", "Database_Exigences", "[Fonction Transversale 1]='Y'"), 0) = 0 Then
             strSQL = "SELECT Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1], Requete_FonctTransv_Exigences.Z, " & _
              "Requete_FonctTransv_Exigences.X INTO Table_Resume_FonctTransv " & _
              "FROM Requete_FonctTransv_Exigences " & _
              "ORDER BY Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1];"
    Et pour la fin, on est parti sur la même base:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Else
            strSQL = "SELECT Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1], " & _
              "nz([Requete_FonctTransv_Exigences].[X],0) AS X " & _
              "nz([Requete_FonctTransv_Exigences].[Y],0) AS Y " & _
              "nz([Requete_FonctTransv_Exigences].[Z],0) AS Z " & _
              "INTO Table_Resume_FonctTransv " & _
              "FROM Requete_FonctTransv_Exigences " & _
              "ORDER BY Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1];"
    Mais (car il y a toujours un mais dans ce genre d'histoire), deux erreurs subsistent:

    1ère ERREUR:

    Si les 3 valeurs sur 3 (X, Y et Z) existent dans ma base de données, lorsque je lance la macro j'ai le message d'erreur suivant qui s'affiche:

    Nom : Erreur 3141.PNG
Affichages : 150
Taille : 6,1 Ko

    2ème ERREUR:

    Si 2 valeurs sur 3 n'existent pas (X et Y, X et Z ou Y et Z) dans la base de données, lorsque je lance la macro j'ai, alors, le message d'erreur suivant:

    Nom : Erreur 3070.PNG
Affichages : 153
Taille : 7,2 Ko

    Alors que lorsque deux des valeurs sont existantes, il n'y a aucun problème....

    Du coup, je ne comprends pas grand chose là.

  4. #4
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 328
    Points : 477
    Points
    477
    Par défaut
    apres ton dernier ELSE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                strSQL = "SELECT Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1]," & _
                            "Nz([Requete_FonctTransv_Exigences].[x],0) AS X, " & _
                            "Nz([Requete_FonctTransv_Exigences].[y],0) AS Y, " & _
                            "Nz([Requete_FonctTransv_Exigences].[Z], 0) As Z " & _
                            "INTO Table_Resume_FonctTransv " & _
                            "FROM Requete_FonctTransv_Exigences " & _
                            "ORDER BY Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1];"

  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 328
    Points : 477
    Points
    477
    Par défaut
    2 eme erreur :
    somme toute logique...
    vu que le champ pas as été généré...
    je n'ai plus trop le temps temps ajd... de retour demain.
    cependant je pense que tu es en train de faire une usine a gaz pour pas grand chose.
    ++

  6. #6
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 328
    Points : 477
    Points
    477
    Par défaut
    si tu fais une analyse croisée le resultat ne te suffit pas... ???
    tu crée une nouvelle requete , tu passes en mode SQL et tu colles ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    TRANSFORM Nz(Count([]),0) AS fofo
    SELECT Database_Exigences.[Système], Database_Exigences.[Sous-Système N-1]
    FROM Database_Exigences
    GROUP BY Database_Exigences.[Système], Database_Exigences.[Sous-Système N-1]
    PIVOT Database_Exigences.[Fonction Transversale 1];
    tu enregistres la requête avec le nom que tu veux et tu peux la lancer qd tu le désires..
    Apres si il te faut absolument une table tu fais une requete creation de table depuis cette analyse croisée.
    Le tout etant bien sur transposable en VBA.
    Qu'en pense tu ?
    A+

  7. #7
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    puisque c'est une création de table, le plus simple serait de prendre ... tout ce qu'il y a avec "*", quelque soit le nombre de colonnes ...:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub ResumeCreate()
        Dim strSQL As String
     
            strSQL = "SELECT * INTO Table_Resume_FonctTransv FROM Requete_FonctTransv_Exigences " _
                     & "ORDER BY Système, [Sous-Système N-1];"
     
        DoCmd.SetWarnings False
        DoCmd.RunSQL (strSQL)
        DoCmd.SetWarnings True
    End Sub
    Du coup, plus besoin de savoir quel colonne est manquante, non ?
    Le champ [Total de N°] serait donc à enlever de la requête analyse croisée.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2018
    Messages : 29
    Points : 29
    Points
    29
    Par défaut reliqua errorem
    Merci beaucoup.

    Comme tu l'as deviné, ne me reste plus que la deuxième erreur mentionnée dans mon message précédent.

    Usine à gaz peut être (même surement ).

    Mais comme dit dans mon premier message, je débute et utilise donc les fonctions les plus simples à mes yeux qui me permettent de comprendre un minimum.
    Tout en gardant en tête qu'il sera fort possible de l'optimiser dans le futur.
    Après, heureusement que je suis limité en nombre de valeurs différentes.

    Concernant ton commentaire sur la suffisance, ou non, d'une requête tableau dynamique puis création de table?: je suis dans le regret de dire que non celle-ci ne suffit pas (et crois moi que cela m'aura bien satisfait si c'était le cas).
    Pourquoi? Car les données d'une requête ne sont pas exportable vers le logiciel Power BI => en effet, à partir de Power B.I., tu n'as accès qu'aux données présentes dans les différentes tables (cela explique pourquoi je veux retransmettre les valeurs de ma requête tableau croisé dynamique vers une nouvelle table).

    Le pourquoi de cette usine à gaz: c'est que, dans ma DB, j'ai plusieurs colonnes avec différentes valeurs.
    A certain moment du projet, certaines valeurs ne seront pas renseignées. Ce qui me laisse deux cas dans le cas d'une requête "Création de table":

    • 1er cas: si je mets comme valeur de champs, des données non renseignées pour le moment => j'aurai le message d'erreur suivant: "Le moteur de la base de données Microsoft ne reconnait pas "...." en tant que nom de champ ou expression correcte."
    • 2ème cas: je ne renseigne pas ces champs. Je n'aurai pas de message d'erreur. Mais le jour où une nouvelle valeur apparaitra, alors il me faudra modifier les champs de ma requête "Création de table".


    Je vais tenter ta nouvelle suggestion et reviendrai dire c'est ok.

    En tout cas, merci encore de ton aide.

    En te souhaitant une bonne fin de journée.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2018
    Messages : 29
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    bonsoir,
    puisque c'est une création de table, le plus simple serait de prendre ... tout ce qu'il y a avec "*", quelque soit le nombre de colonnes ...:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub ResumeCreate()
        Dim strSQL As String
     
            strSQL = "SELECT * INTO Table_Resume_FonctTransv FROM Requete_FonctTransv_Exigences " _
                     & "ORDER BY Système, [Sous-Système N-1];"
     
        DoCmd.SetWarnings False
        DoCmd.RunSQL (strSQL)
        DoCmd.SetWarnings True
    End Sub
    Du coup, plus besoin de savoir quel colonne est manquante, non ?
    Le champ [Total de N°] serait donc à enlever de la requête analyse croisée.
    Ok! Je déménage et quitte la Terre.
    J'ai presque envie de dire que c'est trop facile pour que j'accepte cette solution

    Au moins, j'aurai eu le plaisir d'utiliser pour la première fois la fonction Elseif.

    Merci beaucoup.

    Bonne soirée

  10. #10
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 328
    Points : 477
    Points
    477
    Par défaut
    Citation Envoyé par james68 Voir le message
    si tu fais une analyse croisée le resultat ne te suffit pas... ???
    tu crée une nouvelle requete , tu passes en mode SQL et tu colles ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    TRANSFORM Nz(Count([]),0) AS fofo
    SELECT Database_Exigences.[Système], Database_Exigences.[Sous-Système N-1]
    FROM Database_Exigences
    GROUP BY Database_Exigences.[Système], Database_Exigences.[Sous-Système N-1]
    PIVOT Database_Exigences.[Fonction Transversale 1];
    tu enregistres la requête avec le nom que tu veux et tu peux la lancer qd tu le désires..
    Apres si il te faut absolument une table tu fais une requete creation de table depuis cette analyse croisée.
    Le tout etant bien sur transposable en VBA.
    Qu'en pense tu ?
    A+
    Et avec ce code SQL pour palier au probleme de champ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    TRANSFORM Nz(Count([]),0) AS fofo
    SELECT Database_Exigences.Système, Database_Exigences.[Sous-Système N-1]
    FROM Database_Exigences
    GROUP BY Database_Exigences.Système, Database_Exigences.[Sous-Système N-1]
    PIVOT Database_Exigences.[Fonction Transversale 1] In ("X","Y","Z","AutresChamp");
    apres tu peux toujours faire une requete Creation de table basée sur cette analyse croisée...
    le seul bémol c'est qu'il faut connaitre le nombre de champ maximum a générer dans l'instruction sql
    ++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/08/2012, 17h49
  2. Réponses: 0
    Dernier message: 16/03/2012, 10h03
  3. [XL-2007] combinaison des fonctions si ou et sommeprod
    Par Iichham dans le forum Excel
    Réponses: 4
    Dernier message: 03/08/2011, 12h18
  4. GCC AND XLC comment faire
    Par eljuventino dans le forum Linux
    Réponses: 11
    Dernier message: 01/07/2009, 12h33
  5. [MySQL] PHP : if else (3 conditions) comment faire ?
    Par alizea77 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/12/2007, 16h42

Partager

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