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

Langage Pascal Discussion :

Tableau de constantes


Sujet :

Langage Pascal

  1. #1
    Membre régulier Avatar de kidpaddle2
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 95
    Points
    95
    Par défaut Tableau de constantes
    Bonjour,

    J'ai programmé pendant pas mal de temps en C et en C++, et aujourd'hui, je me frotte au Pascal. J'ai jeté un oeil à une annale de final où le prix d'un billet de train doit être calculé en fonction de la distance séparant 2 villes, et normalement, j'aurais créé une std::map de string vers unsigned int, que j'aurais remplie une seule fois au premier appel de la fonction grâce à un booléen statique. Cependant, je ne vois pas comment faire en Pascal, puisque les static n'existent pas... Comment procéderiez-vous ?

    Merci d'avance.

    Cordialement, kidpaddle2.
    Vive l'embarqué.

  2. #2
    Membre éprouvé
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 988
    Points
    988
    Par défaut
    Colle un exemple de code C++ pour voir...

  3. #3
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 939
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 939
    Points : 5 648
    Points
    5 648
    Par défaut
    Xoa,

    Il n'y a pas solution standard en Pascal.

    Peut-être existe-t-il des bibliothèques pour le faire, mais je n'en connais pas.

    Sinon, c'est bien sûr possible en Pascal, mais il te faudra tout implémenter.

    - Le type des données, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    const
      longMax = 27;
     
    type
      donnees = record
        nomVille : string[longMax];
        distance : LongWord;
      end;
    Et à partir de là, créer carrément une map ou une liste ayant les propriétés suffisantes pour ton programme...

    Du boulot, quoi, mais ça reste raisonnable quand même (une simple liste (doublement ?) chaînée avec les quelques procédures d'insertion, suppression, recherche, bref du code assez standard).

    Et sinon, en Pascal les static du C n'existent pas ... théoriquement.

    Car on peut faire, en reprenant ce qui est écrit plus haut:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    const
     
       donneeParis : donnees = (nomVille : 'Paris' ; distance : 0);
    Bien qu'on trouve le mot-clé const, donneeParis n'est une constante, mais une variable initialisée, qu'on peut donc utiliser comme toute autre variable.

    (C'est un assez gros problème d'avoir réutilisé le mot const pour faire ça, c'est assez perturbant pour les débutants ... et les autres, parfois).

    Mais ce n'est pas vraiment équivalent au static du C, car cette variable, si elle est locale à une fonction, ne gardera pas les valeurs affectées dans la fonction lors d'un prochain appel.
    Pour des raisons d'implémentation du langage, on tombe donc dans un des rares cas où une variable globale peut se justifier.
    Si les cons volaient, il ferait nuit à midi.

  4. #4
    Membre régulier Avatar de kidpaddle2
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par droggo Voir le message
    Et sinon, en Pascal les static du C n'existent pas ... théoriquement.

    Car on peut faire, en reprenant ce qui est écrit plus haut:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    const
     
       donneeParis : donnees = (nomVille : 'Paris' ; distance : 0);
    Bien qu'on trouve le mot-clé const, donneeParis n'est une constante, mais une variable initialisée, qu'on peut donc utiliser comme toute autre variable.

    (C'est un assez gros problème d'avoir réutilisé le mot const pour faire ça, c'est assez perturbant pour les débutants ... et les autres, parfois).

    Mais ce n'est pas vraiment équivalent au static du C, car cette variable, si elle est locale à une fonction, ne gardera pas les valeurs affectées dans la fonction lors d'un prochain appel.
    Pour des raisons d'implémentation du langage, on tombe donc dans un des rares cas où une variable globale peut se justifier.
    Je ne savais pas qu'il était possible de faire pareille chose en Pascal, et c'est justement ce qui me révoltait. Je me doute bien qu'avec cette syntaxe les modifications effectuées à la variable dans le corps de la fonction ne seront pas répercutées sur un appel ultérieur, mais on est d'accord sur le fait que l'initialisation persiste, n'est-ce pas ?

    Un exemple de code :

    Avant :
    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
    function CHOIX_GARE : string;
    var
    	gares_desservies : set of string;
     
    	initialise : boolean;
    begin
    	if not initialise
    	then begin
    		gares_desservies := ['Paris','Chantilly','Creil','Phyont-Sainte-Maxence','Compiegne'];
    		initialise := true
    		end;
     
    	repeat
    		write('Gare d''arrivee ? ');
    		readln(CHOIX_GARE);
    	until CHOIX_GARE in gares_desservies
    end;
    Après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function CHOIX_GARE : string;
    const
    	gares_desservies : set of string = ['Paris','Chantilly','Creil','Phyont-Sainte-Maxence','Compiegne'];
    begin
    	repeat
    		write('Gare d''arrivee ? ');
    		readln(CHOIX_GARE);
    	until CHOIX_GARE in gares_desservies
    end;
    Je me trompe ?

    Merci à vous.

    P.S: Donc les variables const que l'on connaît en C n'existent pas en Pascal ?
    Vive l'embarqué.

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 939
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 939
    Points : 5 648
    Points
    5 648
    Par défaut
    Jai,

    set of string est impossible à faire en Pascal.

    En Pascal standard, on ne peut utiliser set of qu'avec des valeurs scalaires <= 255, et avec avec 256 valeurs maximum dans l'ensemble (beau pléonasme ).

    Et non, les initialisations ne persistent pas comme tu le supposes, le programme les refera à chaque appel de la fonction. C'est également pourquoi on se trouve dans un cas où une variable globale peut se justifier, si ces initialisations sont trop lourdes.

    Et non, les constantes identiques au C (c'est à dire dont on précise le type) n'existent pas en Pascal, car ça devient des variables initialisées.

    Pour les vraies constantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    const
      joursParSemaine = 7;
    c'est le compilateur qui décide du type utilisé pour la représentation interne.
    Si les cons volaient, il ferait nuit à midi.

  6. #6
    Membre régulier Avatar de kidpaddle2
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 95
    Points
    95
    Par défaut
    Je commence à regretter mon cher C...

    J'ai une autre alternative en tête : est-ce que les iterators existent en Pascal (j'aimerais récupérer chacun des index) ? En fait j'ai un array[string] of word et j'aimerais avoir un opérateur/une fonction, dans le genre in pour les sets, mais à appliquer aux index du tableau (en C++, pour une map j'aurais utilisé une boucle sur les iterator->first).

    Merci à vous.
    Vive l'embarqué.

  7. #7
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 939
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 939
    Points : 5 648
    Points
    5 648
    Par défaut
    Jao,

    Array [string]... est impossible en Pascal (comme en C, d'ailleurs ).

    Quant aux iterators, dejà, comme tu le dis, on est déjà en C++, plus en C comme tu le demandais au début, et ça ne marche que pour les listes (au sens large), pas pour les purs tableaux, genre
    pour lesquels tu n'as d'autre choix qu'une variable servant d'indice.

    Il en est de même en Pascal.

    Je crois qu'il est temps que tu prennes un cours/tuto/bouquin correct sur le Pascal, sinon tu n'en finiras jamais.
    Si les cons volaient, il ferait nuit à midi.

  8. #8
    Membre régulier Avatar de kidpaddle2
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 95
    Points
    95
    Par défaut
    Je pensais que les strings étaient un index correct en Pascal. Moi qui pensait qu'ils avaient implémenté directement dans le langage le concept des std::maps du C++ (pour lesquelles on fournit un iterator), je commence à souhaiter la fin du semestre...

    J'ai un polycopié pour le langage, mais ce que je souhaiterais plus, ce serait une documentation sur les bibliothèques standard si il y a, ou sur les fonctions "du langage en lui-même". Cela me permettrait par exemple de savoir comment transtyper énumération en integer, il semblerait que cela ne soit pas natif en Pascal...

    Edit: Exemple, j'ai entendu parler de IndexOf()...
    Vive l'embarqué.

  9. #9
    Membre régulier Avatar de kidpaddle2
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 95
    Points
    95
    Par défaut
    Je sais ce que c'est que d'aider sans code, donc, comment procéderiez-vous dans la situation suivante ?

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    program distributeur_billets;
     
    function PRIX (gare_arrivee : string) : byte;
    var
    	distance_de_paris : array [string] of word;
    	initialise : boolean;
    begin
    	if not initialise
    		then begin
    			distance_de_paris['Paris'] := 0;
    			distance_de_paris['Chantilly'] := 41;
    			distance_de_paris['Creil'] := 49;
    			distance_de_paris['Phyont-Sainte-Maxence'] := 60;
    			distance_de_paris['Compiegne'] := 76;
     
    			initialise := true;
    			end;
     
    	if distance_de_paris[gare_arrivee] < 70
    		then PRIX := 3 + 0.1 * distance_de_paris[gare_arrivee]
    	else PRIX := 6 + 0.08 * distance_de_paris[gare_arrivee];
    end;
     
    function PAIEMENT (prix : byte) : float;
    var
    	pieces_acceptees : set of float;
    	initialise : boolean;
    begin
    	if not initalise 
    	then begin
    		pieces_acceptees := [0.1,0.2,0.5,1,2];
    		initalise := false
    		end;
     
    	repeat
    		repeat
    			write('Pieces acceptees : ', pieces_acceptees, ' ');
    			readln(piece);
    		until piece in pieces_acceptees;
     
    		prix := prix - piece;
     
    	until prix <= 0;
     
    	PAIEMENT := prix
    end;
     
    function CHOIX_GARE : string;
    var
    	gares_desservies : set of string;
     
    	initialise : boolean;
    begin
    	if not initialise
    	then begin
    		gares_desservies := ['Paris','Chantilly','Creil','Phyont-Sainte-Maxence','Compiegne'];
    		initialise := true
    		end;
     
    	repeat
    		write('Gare d''arrivee ? ');
    		readln(CHOIX_GARE);
    	until CHOIX_GARE in gares_desservies
    end;
     
    function SHUT_DOWN : boolean;
    var
    	c : char;
    begin
    	write('Termine (''o'' pour oui) ? ');
    	readln(c);
     
    	SHUT_DOWN := c = 'o'
    end;
     
    begin
    	repeat
    		write('Rendu : ', PAIEMENT(PRIX(CHOIX_GARE)));
    	until SHUT_DOWN
    end.
    Merci de votre aide.
    Vive l'embarqué.

  10. #10
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 939
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 939
    Points : 5 648
    Points
    5 648
    Par défaut
    Xeo,

    Je t'ai déjà dit que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	distance_de_paris : array [string] of word;
    n'existe pas en Pascal.

    Fais quand même un effort.

    D'autre part, dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function PRIX (gare_arrivee : string) : byte;
    var
    	distance_de_paris : array [string] of word;
    	initialise : boolean;
    begin
    	if not initialise
    		then begin
    Tu es conscient que distance_de_paris et initialise sont des variables locales à PRIX.

    En C, te serait-il venu à l'idée d'utiliser une variable locale à une fonction sans l'initialiser ?

    Normalement, ta réponse doit être NON (sinon, bonjour les dégâts).

    Donc, pourquoi ce test de initialise, comme ça, dès l'entrée de la fonction, sans la moindre initialisation ?

    Et je suis donc amené à me répéter : prends un cours/tuto/bouquin digne de ce nom, et arrête d'écrire plus ou moins au hasard.
    Si les cons volaient, il ferait nuit à midi.

  11. #11
    Membre régulier Avatar de kidpaddle2
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 95
    Points
    95
    Par défaut
    Sauf ton respect, je sais tout cela (je le répète déjà assez aux débutants en C)... Il y a méprise, il s'agit tout bonnement de la première esquisse de code que j'avais conçue avant de me heurter au problème d'initialisation de la variable initialisé. Puisqu'il est de toute façon irréalisable d'après tes dires (l'array d'index string étant son pilier), je voulais savoir ce que tu/vous auriez fait à ma place, même si cela est très différent...

    Merci.

    P.S: Si vous connaissiez l'adresse de tutoriaux exhaustifs au possible (j'ai remarqué celui de developpez.com, mais qui sait, peut-être que le net en recense d'autres de la même trempe voire supérieur ?), ou encore de banques d'astuces en Pascal (comme l'inclusion d'un fichier texte recensant des items dans une énumération en C, etc.), je vous en serais reconnaissant.
    Vive l'embarqué.

  12. #12
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 231
    Points : 2 325
    Points
    2 325
    Par défaut
    Et si tu remplaçais ton array[string] of... par un array[enum]of où enum est un énuméré) ?

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    type villes=(Compiègne,Creil,Pont-Sainte-Maxence,Chantilly,Paris)
         tableau:array[Compiegne..Paris] of word
     
    begin
        for i:=compiegne to paris do
        begin
            tableau[i]:=valeur;
        end
    end.
    Là, tu peux en plus utiliser les fonctions pred & succ pour parcourir ton tableau à partir d'une valeur donnée : retourne compiègne & retourne Pont-Sainte-Maxence.
    Attention : write(compiegne) est impossible.
    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

  13. #13
    Membre régulier Avatar de kidpaddle2
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 95
    Points
    95
    Par défaut
    J'y ai pensé aussi, parce que c'est ce que j'aurais fait en C... Seul problème, contrairement à ce qu'on pourrait faire en C, les casts integer -> enum sont impossibles en Pascal, ce qui rend quelque peu impossible le choix de la gare (par un read), si on ne daigne pas faire des conditions à foison (ce qui est fort laid)....
    Vive l'embarqué.

  14. #14
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 231
    Points : 2 325
    Points
    2 325
    Par défaut
    En Pascal, le transtypage est plus douloureux qu'en C, car le typage est lui-même plus strict. Mais pour les énumérés tu disposes de la fonction ORD qui te retourne le numéro d'ordre de ton élément. Et il me semble que la réciproque (VAL) permet de retrouver l'élément à partir de son numéro d'ordre.
    Ceci dit, je ne vois pas trop à quoi ça pourrait te servir, en l'occurrence.
    Car la distance entre deux villes ne pourra être entreposée de façon pratique que dans un tableau à deux dimensions.
    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

  15. #15
    Membre éprouvé
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 988
    Points
    988
    Par défaut
    Le transtypage Integer -> Enum se fait par simple transtypage direct, il me semble ? Ou ça dépend des compilos ?

    Le Pascal ne permet pas toutes les bidouilles que permet le C, et c'est tant mieux, car c'est justement ce qui fait sa rigueur. Essaie d'oublier un peu ce que tu sais en C, et profite de ton trimestre pour profiter un peu de la rigueur syntaxique du Pascal : c'est une façon de réviser certains de ses propres concepts, et d'appréhender de nouvelles démarches dans la recherche d'une solution, ce qui est profitable même dans les autres langages.

    Pour en revenir au sujet par exemple, parlons un peu maintenant de ce que le Pascal sait faire : il n'y a pas besoin ici de tableaux de chaînes ni de transtypages dans tous les sens, puisque comme déjà dit plus haut, un tableau peut directement être indexé par un type énuméré, et qu'on peut définir des constantes de type tableau !

    Voici un début équivalent à celui d'ALT, et qui devrait t'ouvrir quelques perspectives.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    type TEnumVilles = (villeParis,villeChantilly,villeCreil,villePhyontSainteMaxence,villeCompiegne);
     
    const Distances : array[TEnumVilles] of Word   = (0,41,69,60,76);
          StrVilles : array[TEnumVilles] of string = ('Paris','Chantilly','Creil','Phyont-Sainte-Maxence','Compiegne');
    Une dernière chose : pour parcourir une boucle sur un type énuméré, on peut aussi utiliser une variable du type en question, et les fonctions Low et High, ce qui évite d'avoir à réviser toutes les boucles si on ajoute des éléments à l'énumération.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var V : TEnumVille;
    ...
    for V := Low(TEnumVille) to High(TEnumVille) do
     begin
      ...
     end;
    PS : il y a peut-être deux ou trois erreurs, je n'ai pas TP sous la main. Je ne veux pas enfoncer le clou, c'est droggo qui s'accroche au marteau (), mais tout cela est extrêmement basique et fait partie des fondements mêmes du langage...

  16. #16
    Membre régulier Avatar de kidpaddle2
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 95
    Points
    95
    Par défaut
    Peut-être, mais les basics du langage en question n'étaient ni présents sur les tutoriaux que j'ai parcourus car mon polycopié était très maternelle, ni sur ce même polycopié.

    Vous ne connaîtriez pas, par hasard, un endroit où je pourrais les acquérir ? Ces macros ou équivalent du langage n'ont quand même pas un mode de transmission aussi restrictif !?

    Merci de votre aide en tout cas, mis à part ma volonté de maîtrise, le problème est résolu
    Vive l'embarqué.

  17. #17
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 939
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 939
    Points : 5 648
    Points
    5 648
    Par défaut
    Gae,
    Citation Envoyé par kidpaddle2 Voir le message
    Peut-être, mais les basics du langage en question n'étaient ni présents sur les tutoriaux que j'ai parcourus car mon polycopié était très maternelle, ni sur ce même polycopié.

    Vous ne connaîtriez pas, par hasard, un endroit où je pourrais les acquérir ? Ces macros ou équivalent du langage n'ont quand même pas un mode de transmission aussi restrictif !?

    Merci de votre aide en tout cas, mis à part ma volonté de maîtrise, le problème est résolu
    Pas de macros en Pascal standard.

    Et oui, c'est très restrictif, ce qui est en fait un énorme avantage pour la cohésion du code (combien de bugs et autres plantages dus à la permissivité du C ?), et en fait, on trouve toujours une solution, ne serait-ce qu'en implémentant ce qui manque (ou en trouvant une bibliothèque le faisant ).
    Si les cons volaient, il ferait nuit à midi.

Discussions similaires

  1. tableau de constantes (ou tableau constant ?)
    Par le petit nicolas dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/06/2007, 23h24
  2. Tableau de constantes dans une classe statique
    Par Nico_stras dans le forum C#
    Réponses: 4
    Dernier message: 05/03/2007, 21h18
  3. [Tableaux] nom en tableau ou constante
    Par Yoshio dans le forum Langage
    Réponses: 4
    Dernier message: 13/09/2006, 11h42
  4. [Tableaux] tableau de constantes
    Par ctrl+z dans le forum Langage
    Réponses: 2
    Dernier message: 10/08/2006, 12h49
  5. [VBA-E] un tableau de constantes
    Par tinmarbusir dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/07/2006, 16h24

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