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

 C Discussion :

Copie d'un tableau de caractères dans un autre, tous les 2 indices


Sujet :

C

  1. #21
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2024
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2024
    Messages : 20
    Par défaut
    Eh bien je voudrais plutôt effectuer une comparaison de manière manuelle (donc sans fonction qui existe déjà) pour bien comprendre comment fonctionnent les tableaux. Dans mon cours, on aborde uniquement les tableaux 1D et un peu les 2D. Cependant, on n'a jamais fait d'exercices qui mélangent les tableaux 1D et 2D (de chaine de caractères). Et aussi j'aimerais comprendre comment parcourir un tableau 2D. J'ai aucun soucis pour parcourir un tableau 1D (je fais une fonction avec une boucle while et j'incrémente un pointeur que je mets en paramètre d'entrée de la fonction, jusqu'à rencontrer le caractère de fin de chaine) mais je suis perdu lorsqu'il s'agit de faire la même chose avec tableau 2D et l'utilisation des pointeurs me semble alors beaucoup plus compliquée.
    En fait, je peine à comparer une ligne bien spécifique du tableau 2D avec celle du tableau 1D et je ne vois pas non plus comment parcourir un tableau 2D suivant le même principe que pour un tableau 1D.

  2. #22
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par défaut
    Si tu as pris le temps de regarder le code que j'ai posté. Tu as du remarqué que j'ai parcouru le tableau copie pour afficher les trois chaîne de caractère qu'il contenait.
    Pour le parcourir plus en profondeur, je te propose de l'afficher caractère par caractère avec '%c' ou la fonction putchar qui permet d'afficher un seul caractère. Une ligne par chaîne de caractère. J'attend ton code ! Essais au moins de le faire.

    Tu devrais commencer par des tableaux d'entier (int) ça enlèverait le concept de chaînes de caractères qui ne fait que compliquer les choses.
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  3. #23
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2024
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2024
    Messages : 20
    Par défaut
    Je vous remercie vraiment de l'aide que vous m'apportez. C'est très gentil à vous. Actuellement je suis plutôt en train de réfléchir sur la comparaison.
    Je suis en train de chercher comment faire pour comparer successivement chaque ligne d'un tableau 2D de chaine de caractères avec la ligne d'un tableau 1D, et ceci sans fonction toute faite disponible dans une bibliothèque.

  4. #24
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par défaut
    Un indice, si tu souhaites faire une fonction de comparaison, Elle doit simplement comparer deux chaînes de caractère (1D comme tu dis).
    Tu pourras ensuite l'utiliser pour faire des comparaisons de chaînes, même si la chaîne de caractères est une chaîne d'un tableau de chaînes de caractères (2D comme tu dis). Faire autrement serait te compliquer la vie.
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  5. #25
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2024
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2024
    Messages : 20
    Par défaut
    C'est bon j'ai réussi, notamment grâce à votre dernier message. Il me reste encore une chose à voir (le parcours de tableau 2D) même si cette fonction de comparaison m'a aidé à mieux comprendre.
    Je vous remercie pour tous les messages, conseils et également pour le temps que vous y avez consacré, ça m'a vraiment aidé. Je passe cette discussion en résolu.
    J'en profite pour vous souhaiter la bonne année !

  6. #26
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par défaut
    Tu peux nous montrer ? C'est seulement pour te donner des conseils pour la suite.
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  7. #27
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 747
    Par défaut
    Personnellement je n'aime pas ce genre d'exercice (exercice de cours, test/ CodinGames pour 1 emploi, …)
    À l'énoncé, l'exercice semble ""séduisant"" : parcours de tableau, chaîne de caractères, manipulation de caractères.

    Mais au finalement c'est naze : boucle de 2, algo d'1 ligne, inutilité de la librairie standard (alors qu'en C et C++, il faut la maîtriser à la perfection), intérêt de l'algo (même si de temps en temps, nous sommes amenés à coder des ""trucs nazes"")
    Ensuite pour aller plus loin, c'est l'algo qui nécessite ""l'artillerie lourde"" (malloc, pointeurs, …) mais à quoi bon avec 1 boucle et le bon type (ici tableau prédéfini 2D [3][3]), cela se torche en 3 lignes.

    Citation Envoyé par labo1 Voir le message
    Il me reste encore une chose à voir (le parcours de tableau 2D) même si cette fonction de comparaison m'a aidé à mieux comprendre.
    1 tableau 2D n'existe pas en C : c'est 1 tableau 1D.
    D'ailleurs (1D) tab[i] équivaut à *(tab + i) et (2D) tab[i][j] équivaut à *(tab + (i * nb_columns) + j) (en C, le nom du tableau est 1 pointeur sur le premier élément)
    Voici 1 solution, mais
    1. ton tableau [3][3] (VLA ou pas, c'était ailleurs le débat) est "trop typé" : il faut caster. édit: @CGI me dit qu'on peut seulement passer l'adresse du tableau/ du premier élément
    2. memset sert à ne pas se prendre la tête sur les fins de sous-chaînes
    3. la variable count est moche mais comme c'est 1 tableau de 3 chaînes, c'est le moyen le + simple


    Aux coquilles près
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
     
    void fonction (char* from, char* dest);
     
    int main()
    {
        char Depart[7]="azerty";
        char Copie[3][3];
     
        char* tmp; size_t count;
     
        fonction(Depart, (char*) Copie /*or *Copie*/);
     
        for (tmp=(char*) Copie /*or tmp=*Copie*/, count=0; count < 3; ++count, tmp+=3) {
            printf("%s\n", tmp);
        }
     
     
        return EXIT_SUCCESS;
    }
     
     
    // dest should be either char[3][3] or char[9]
    void fonction (char* from, char* dest)
    {
        memset(dest, '\0', 9);
     
        while((*from) != '\0') {
            (*dest) = (*from); ++dest; ++from;
            if ((*from) != '\0') { (*dest) = (*from); dest += 2; ++from; }
        }
     
    //  or
    //  do {
    //      if ((*from) != '\0') { (*dest) = (*from); ++dest; ++from; }
    //      if ((*from) != '\0') { (*dest) = (*from); dest += 2; ++from; }
    //  } while((*from) != '\0');
    }

    @CGi ton code, c'est du C99 ou du C++ : on ne définit jamais les variables dans 1 boucle. Alors certes, C99 c'était il y a 23 ans, mais 1 certain MSVC n'est/ était pas entièrement compatible C99 et lorsqu'on code en C, c'est très très souvent avec des compilateurs ""exotiques"".

  8. #28
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par défaut
    Citation Envoyé par foetus Voir le message
    @CGi ton code, c'est du C99 ou du C++ : on ne définit jamais les variables dans 1 boucle. Alors certes, C99 c'était il y a 23 ans, mais 1 certain MSVC n'est/ était pas entièrement compatible C99 et lorsqu'on code en C, c'est très très souvent avec des compilateurs ""exotiques"".
    C'est une plaisanterie ? ! ?

    Pour moi, un débutant ne peut qu'apprendre qu'en faisant beaucoup d’exercices. (C'est en forgeant qu'on devient forgeron).
    Et j'ai bien peur, que tu lui parle en Chinois, Il faut tout de même penser à se mettre au niveau du PO.

    Citation Envoyé par foetus Voir le message
    ton tableau [3][3] (VLA ou pas, c'était ailleurs le débat)
    Non, ce n'était pas le débat. Personne n'a parlé de VLA et d'ailleurs je me demande ou tu vois un VLA ?

    Le traitement du tableau de tableaux comme un tableau linéaire ne va pas lui faciliter la tâche. C'est peut-être pour impressionner le PO.
    En passant, tu aurais pu remplacer tes cast en envoyant simplement l'adresse du premier élément :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        fonction(Depart, *Copie); //(char*)Copie
     
        for (tmp= *Copie, count=0;   count < 3;    ++count, tmp+=3)
        {
            printf("%s\n", tmp);
        }
    Et la boucle for aurait été certainement plus simple à comprendre pour le PO écrite de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        for (int i=0; i<3; i++)    {
            printf("%s\n", Copie[i]);
        }
    Certes c'est moins impressionnant.

    Citation Envoyé par foetus Voir le message
    on ne définit jamais les variables dans 1 boucle.
    Celle là, je ne l'avais jamais écoutée ?! En C89 on ne pouvait pas la définir dans la liste d'initialisation du for mais à partir de C99 c'est possible et même conseillé. Mettre toutes les déclarations en début de bloc comme dans ton code c'est du C89 encore plus vieux que le C99, Il y a bien longtemp que l'on ne fait plus ça.
    ect...

    Pour ce qui est de mon code qui n'est pas du vieux C comme tu le prétend, il n'est pas parfait, la raison est que j'ai modifié le code du PO sans changer les type et les nom de variable pour ne pas le dépayser.
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  9. #29
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 747
    Par défaut
    Citation Envoyé par CGi Voir le message
    C'est une plaisanterie ? ! ?
    Ici c'est 1 forum C et non C++ Je ne te critique pas, ni ton code (qui est bon) mais on peut faire 1 peu de ""pédagogie"".

    Le langage C (comme d'autres) sont définis par des normes. Pour le C: C89, C90, C95, C99, C11, C18.
    Et juste notifier au P.O. que la norme la + importante est C99 (peut-être C11 puisqu'elle ne rajoute pas grand chose il me semble).
    Mais attention, tous les compilateurs ne sont pas compatibles C99 (notamment MSVC, même si cela doit être 2-3 trucs peu utilisés) … surtout en développement embarqué.
    1 autre truc : les commentaires // ont été également ajoutés avec la norme C99.

    Mon code "parcours de tableau" est le code normal pour apprendre/ utiliser les pointeurs, avec l'arithmétique des pointeurs.
    Il se posait la question du parcours d'1 tableau 2D : c'est la même chose que n'importe quel autre tableau C … même 1 tableau de tableaux.
    Après c'est la même chose que pour la norme : juste notifier qu'en temps normal, les développeurs doivent utiliser très peu le type tableau (surtout les tableaux multi-dimensionnels) et qu'on fait tout avec des pointeurs, malloc, …
    D'ailleurs les passages de paramètres tableau sont très vite dégradés en pointeur.
    Ou alors 1 tableau 1D bien large pour faire 1 tampon/ buffer/ …

    Et tu parles de code compliqué mais tu n'as pas parlé de l'utilisation des paramètres de fonction parce que le passage en C est par copie.
    Je laisse au P.O. la surprise des différences lors du passage de paramètres (qui a pour conséquence l'utilisation de pointeur simple ou double).

    Citation Envoyé par CGi Voir le message
    Non, ce n'était pas le débat. Personne n'a parlé de VLA et d'ailleurs je me demande ou tu vois un VLA ?
    Regarde ici Trouver un caractère dans un tableau 2D, commentaire 14
    Au temps pour moi tu ne faisais pas partie de la discussion

    D'ailleurs les tableaux VLA ont été ajoutés avec C99, mais rendus obsolètes depuis C11

  10. #30
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 801
    Billets dans le blog
    1
    Par défaut
    Bonjour. Ca fait longtemps que je vois ce topic grossir alors je suis venu voir ce qui se disait...
    Citation Envoyé par foetus Voir le message
    Mon code "parcours de tableau" est le code normal pour apprendre/ utiliser les pointeurs, avec l'arithmétique des pointeurs.
    Pour moi c'est un raccourci dangereux. De mon point de vue, on apprend d'abord les tableaux, le parcours, les indices, etc. ; puis plus tard on apprend les pointeurs, les modifications de variables par des fonctions tierces, etc ; puis enfin, quand les pointeurs sont bien compris, là on peut montrer leur parenté avec les tableaux et les avantages (ainsi que les dangers) que cela amène. L'exercice du PO peut parfaitement se faire sans pointeur et rien n'indique que cet exercice soit demandé d'être résolu avec ceux-ci.

    Citation Envoyé par foetus Voir le message
    Et juste notifier au P.O. que la norme la + importante est C99
    Est-ce vraiment utile ? Ok un peu de culture ne fait jamais de mal mais de mon point de vue, le débutant il veut voir un code compiler sans erreur et faire le job. Lui dire "attention la norme impose ceci ou cela" il s'en bat un peu le steak. Peut-être lui parler de "bons usages" qui suggèrent un effet positif plutôt que de "norme" qui fait penser au sombre univers d'Oliver Twist...

    Citation Envoyé par foetus Voir le message
    on ne définit jamais les variables dans 1 boucle.
    Citation Envoyé par CGi Voir le message
    Celle là, je ne l'avais jamais écoutée ?!
    C'est vrai que là cette affirmation me paraît à moi aussi un peu... dubitative...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  11. #31
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par défaut
    Citation Envoyé par foetus Voir le message
    Ici c'est 1 forum C et non C++
    J’hallucine ? Mon code serait du C++ ? Faut pas aller dire ça à un dev C++. Il respecte les normes de C99 à C17. sinon, dit moi concrètement ce qui ne respecte pas la norme ? Ne pas confondre norme et "bonne" pratique. (Des vilains code peuvent respecter la norme).

    Citation Envoyé par foetus Voir le message
    mais tu n'as pas parlé de l'utilisation des paramètres de fonction parce que le passage en C est par copie.
    Je ne vois pas pourquoi, j'en aurait parlé, ce n'était pas le sujet. Mais rien t’empêche de donner un cours au PO sur ce sujet. (Peut-être en avait vous parlé dans l'autre sujet que tu sites, je ne l'ai pas lu).
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  12. #32
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 391
    Par défaut
    Bien qu'il faille reconnaître que Visual C++ a mis seize ans avant de supporter C99, ces seize ans (2015) c'était il y a huit ans désormais.
    Je confirme que sous un Visual C++ décemment récent, une variable déclarée dans le for n'empêche pas la compilation en C.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  13. #33
    Membre chevronné
    Homme Profil pro
    très occupé
    Inscrit en
    Juillet 2014
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : très occupé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 137
    Par défaut
    Bonjour à tous :-)

    Citation Envoyé par foetus Voir le message
    D'ailleurs les tableaux VLA ont été ajoutés avec C99, mais rendus obsolètes depuis C11
    Non, ils n'ont pas été rendus obsolètes, mais optionnels.

    Citation Envoyé par Médinoc Voir le message
    Bien qu'il faille reconnaître que Visual C++ a mis seize ans avant de supporter C99, ces seize ans (2015) c'était il y a huit ans désormais.
    (...)
    "Supporter" est un bien grand mot. Je pense qu'on peut dire que MSVC n'est pas conforme au standard C99.

    Ils ne supporte que des éléments de C99 qui n'ont pas été rendus optionnels par C11, les types VLA en particulier, qui sont une partie non optionnelle du langage dans sa version C99, ne sont pas supportés.

    https://learn.microsoft.com/en-us/cp...ary-features-1
    https://learn.microsoft.com/fr-fr/cp...?view=msvc-170

    Le compilateur ne prend pas en charge la plupart des fonctionnalités facultatives de l’ISO C11. Plusieurs de ces fonctionnalités facultatives de C11 étaient les fonctionnalités requises de C99 que MSVC n’a pas implémentées pour des raisons architecturales. Vous pouvez utiliser les macros de test de fonctionnalités telles que __STDC_NO_VLA__ pour détecter les niveaux de prise en charge du compilateur pour les fonctionnalités individuelles. (...)
    Un compilateur conforme au standard C99 (comme gcc ou clang) doit supporter les VLA.

  14. #34
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 145
    Billets dans le blog
    4
    Par défaut
    Faut pas oublier que msvc c'est un compilo C++ avant tout. Il ne supporte le C que par défaut, comme subset de C++. Les VLA et autres features pas présents en C++ ont un support anecdotique voire manquant.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  15. #35
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 492
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 492
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par foetus Voir le message
    En C, le nom du tableau est 1 pointeur sur le premier élément
    [Mode "entrons dans le détail pour la culture, même si on va perdre le PO" = ON]

    Cette formulation est abusive. Une formulation plus exacte serait : "dans la plupart des cas, le compilateur remplace le nom d'un tableau par un pointeur vers son premier élément". Il y a une unique règle à comprendre et à retenir, qu’on retrouve dans la norme C99 (document n1256) à la partie 6.3.2.1, paragraphe 3 :
    Except when it is the operand of the sizeof operator or the unary & operator, or is a string literal used to initialize an array, an expression that has type ‘‘array of type’’ is converted to an expression with type ‘‘pointer to type’’ that points to the initial element of the array object and is not an lvalue. If the array object has register storage class, the behavior is undefined.
    PS : il y a fort fort longtemps, j'avais écrit un article expliquant la différence entre un tableau et un pointeur, et tout part de cette règle justement.

    [Mode = OFF]

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Copier une table dans une autre tous les Lundi
    Par popovitch130 dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/09/2008, 15h41
  2. Réponses: 1
    Dernier message: 18/03/2008, 16h05
  3. Copie de feuilles d'un classeur dans l'autre
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/11/2007, 12h06
  4. [Spip] Tableau non affiché dans la partie "Articles les plus récents"
    Par Gigi95 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 27/09/2007, 12h27
  5. Pb: copie du contenu d'un repertoire dans un autre
    Par kam81 dans le forum Langage
    Réponses: 2
    Dernier message: 09/06/2007, 12h10

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