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++Builder Discussion :

sauvgarder la table dans une feuille excel


Sujet :

C++Builder

  1. #1
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 335
    Points : 93
    Points
    93
    Par défaut sauvgarder la table dans une feuille excel
    Bonjour
    j'ai un probleme dans mon projet, je veut chaque fin du mois sauvgarder ma table de la BDD dans une nouvelle feuille dans le meme classeur d'excel,j'ai utilisée ce code mais il marche pas correctement

    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
    Variant vMSExcel,vXLWorkbooks,vSheetName,vworksheet, vXLWorkbook,vWorksheet ;
    int i,j;
     
     
    // demarrer excel
     
    vMSExcel = Variant::CreateObject("Excel.Application");
     
    vMSExcel.OlePropertySet("Visible",true);
    //creer un nouveau fichier xls
     
     
    vSheetName="Feuil1";
    vWorksheet=vXLWorkbook.OlePropertyGet("Worksheets",vSheetName);
    vXLWorkbook.OlePropertyGet("Worksheets").OleFunction("Add");
     
    //ecrire les titres des champs
    for (int i=0;i<Form2->Table3->FieldCount-1;i++)
    vworksheet.OlePropertyGet->cells[1,i+1]->value=Form2->Table3->Fields[i]->FieldName;
     
    //ecrire les données
    Form2->Table3->First();
    for (j= 1;j<Form2->Table3->RecordCount;j++)
    {
    for (i=0;i<Form2->Table3->FieldCount-1;j++)
    {
    vworksheet.OlePropertyGet->cells[j+1,i+1]->value=Form2->Table3->Fields[i]->AsString;
    }
    Form2->Table3->Next();
     
     
    }
    est-ce que il ya quelqu'un qui peut peut m'aider
    merci d'avance.

  2. #2
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 307
    Points
    1 307
    Par défaut
    A quel niveau ca ne marche pas exactement? Compilation? Execution? Sur quelle ligne?

    Ou alors ca fonctionne sans erreur, mais le résultat obtenu n'est pas celui que tu souhaite?

  3. #3
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 335
    Points : 93
    Points
    93
    Par défaut
    merci sat83
    j'ai pas obtenu le resultat encore parce que j'ai des erreurs au niveau de ces deux codes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vworksheet.OlePropertyGet->cells[1,i+1]->value=Form2->Table3->Fields[i]->FieldName;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vworksheet.OlePropertyGet->cells[j+1,i+1]->value=Form2->Table3->Fields[i]->AsString;
    erreur:"pointeur sur structure nécessaire du coté gauche de-> ou ->*"

    voici le code en delphi je veut le transformer en c++

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vworksheet.cells.item[j+1,i+1].value:=table1.Fields[i].AsString;

  4. #4
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 307
    Points
    1 307
    Par défaut
    Je n'ai pas C++ Builder sous la main, mais ca devrait marcher avec un truc dans ce style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Variant Cell, Value ;
    Cell = vworksheet.OlePropertyGet("Cells", j+1, i+1);
    Valeur = Form2->Table3->Fields[i]->AsString;
    Cell.OlePropertySet("Value", Valeur);

  5. #5
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 335
    Points : 93
    Points
    93
    Par défaut
    merci sat83
    maintenant j'ai un probleme dans execution

  6. #6
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 307
    Points
    1 307
    Par défaut
    Sur quelle ligne as-tu une erreur?
    Quelle est cette erreur?

  7. #7
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 335
    Points : 93
    Points
    93
    Par défaut
    apres l'execution de l'application quand je clique sur le boutton qui contient le code une page d'erreur s'affiche indique que "le projet a provoqué une classe d'exception EolesysError avec le message type de variable incorrect" et la feuille ajouté dans le classeur vide
    merci d'avance pour votre aide.

  8. #8
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 307
    Points
    1 307
    Par défaut
    Et en essayant avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Valeur = StringToOleStr( Form2->Table3->Fields[i]->AsString );
    à la place de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Valeur = Form2->Table3->Fields[i]->AsString;
    Pour savoir de quelle ligne provient l'erreur, place un point d'arrêt sur la premier ligne de ta fonction (double-clic dans la marge), et exécute ton programme en pas-à-pas (F8). Ainsi, tu pourra identifier exactement à quel endroit se produit l'erreur.

  9. #9
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 335
    Points : 93
    Points
    93
    Par défaut
    la feuil d'excel reste toujour vide, et une notification d'une exception du debogueur s'affiche quand je clique sur la page excel
    j'ai suivi les etapes pour savoir de quelle ligne provient l'erreur
    DANS PROJECT.CPP une fleche verte devant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

  10. #10
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 307
    Points
    1 307
    Par défaut
    si tu te trouve sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
    c'est que tu as juste appuyer sur F8 pour lancer le programme, mais ton application n'a pas encore commencer à s'exécuter.

    En faite, pour debugger (= identifier d'où vient le problème) ton programme il faut que:
    - tu place un point d'arrêt sur la première ligne de la fonction de ton bouton
    - puis tu lance ton programme normalement (F9)
    - ensuite tu clique sur ton bouton.

    Là tu verra que l'exécution de ton programme s'arrête sur la ligne sur laquelle tu aura mis un point d'arrêt.
    Ensuite tu exécute ligne par ligne (avec F8) pour voir sur quelle ligne tu as une erreur.

    C'est le B-A-BA du debugging. Pour apprendre à debugger tes programmes, tu peut aller faire un tour sur cet article de pottiez, et plus particuliairement sur la partie concernant le mode pas-à-pas.

  11. #11
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Salut faniette
    Quelque chose comme ceci ne serait pas plus simple
    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
     
    //---------------------------------------------------------------------------
    #include <vcl.h>
    #pragma hdrstop
    #include <utilcls.h>
    // #include <ComObj.hpp> // a ajouter dans certains cas
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    // les Variants doivent etre declares dans le .h
    // ils ne sont place la que par commodite pour le test
    Variant vMSExcel, vXLWorkbook, vXLWorkbooks, vWorksheet;
    Variant vDestination, vConnection;
    Variant vActiveWorkbook, vActiveSheet;
    //Variant vFileName;
    String filename, NomFichier;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    // acquisition de chemin de la base
    if(OpenDialog1->Execute())
    {
    filename = OpenDialog1->FileName; // on ouvre la base
    }
    vMSExcel = Variant::CreateObject("Excel.Application");
    vMSExcel.OlePropertySet("Visible", true);
    vXLWorkbooks = vMSExcel.OlePropertyGet("Workbooks");
    vXLWorkbook = vXLWorkbooks.OleFunction("Add");
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets", 1);
    // on selectionne la Feuil1
    vWorksheet.OleProcedure("Select");
    vActiveWorkbook = vMSExcel.OlePropertyGet("ActiveWorkbook");
    vActiveSheet = vActiveWorkbook.OlePropertyGet("ActiveSheet");
    // chaine de connection a la base Access
    String provider = "ODBC;DSN=MS Access Database;"
    //       "DBQ=C:\maBddessai.mdb;"
           "DBQ=" + WideString(filename) + ";" // " + WideString(filename) + "
           "DefaultDir=C:;DriverId=25;FIL=MS Access;"
           "MaxBufferSize=2048;PageTimeout=5;";
    vDestination = vActiveSheet.OlePropertyGet("Range", "A1"); // on selectioone la premiere cellule en haut a gauche
    // la table est triee par prenom, nom, id, option
    String requette = "SELECT Etudiant.id, Etudiant.nom, Etudiant.prenom, Etudiant.option "
               "FROM " + WideString(filename) + ".Etudiant Etudiant "
               "ORDER BY "
               "Etudiant.prenom, Etudiant.nom, Etudiant.id, Etudiant.option";
    // on affiche le contenu de la table
    vConnection = vActiveSheet.OlePropertyGet("QueryTables").OleFunction("Add", WideString(provider), vDestination, WideString(requette));
    vConnection.OlePropertySet("Name", "Lancer la requête à partir de MS Access Database");
    vConnection.OlePropertySet("FieldNames", true);
    vConnection.OlePropertySet("RowNumbers", false);
    vConnection.OlePropertySet("FillAdjacentFormulas", false);
    vConnection.OlePropertySet("PreserveFormatting", true);
    vConnection.OlePropertySet("RefreshOnFileOpen", false);
    vConnection.OlePropertySet("BackgroundQuery", true);
    vConnection.OlePropertySet("RefreshStyle", 1); // xlInsertDeleteCells = 1 constante Excel
    vConnection.OlePropertySet("SavePassword", false);
    vConnection.OlePropertySet("SaveData", true);
    vConnection.OlePropertySet("AdjustColumnWidth", true);
    vConnection.OlePropertySet("RefreshPeriod", 0);
    vConnection.OlePropertySet("PreserveColumnInfo", true);
    vConnection.OleFunction("Refresh");
    }
    //---------------------------------------------------------------------------

  12. #12
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 335
    Points : 93
    Points
    93
    Par défaut
    Bonjour
    j'ai utilisé votre code blondelle j'ai eu un fichier excel vide.
    merci d'avance pour votre aide

  13. #13
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 335
    Points : 93
    Points
    93
    Par défaut
    salut
    puisque j'ai pas reussi a resolu ce probleme j'ai changer l'idée, je sauvgarde les données dans excel a partir un StringGrid qui contient les meme données de ma table pour ce la j'ai utilisé ce code

    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
    Variant vMSExcel,vCell,vFont,vSheetName,vValue;
    //Ouvrir une nouvelle instance
    
    vMSExcel = Variant::CreateObject("Excel.Application");
    
    vMSExcel.OlePropertySet("Visible",true);
    
    vMSExcel.OlePropertySet("DisplayAlerts", false);
    
    
    //Ouvrir un classeur
    vFileName="D:\\Private\\of EPF2009\\Dossier\\Etat4.xls";
    vXLWorkbooks=vMSExcel.OlePropertyGet("Workbooks");
    vXLWorkbook=vXLWorkbooks.OleFunction("Open",vFileName);
    //Accéder à une feuille de calcul
    vSheetName="Feuil1";
    vWorksheet=vXLWorkbook.OlePropertyGet("Worksheets",vSheetName);
    vXLWorkbook.OlePropertyGet("Worksheets").OleFunction("Add");
    
    vWorksheet.OlePropertyGet("Range","E7").OlePropertyGet("Font").OlePropertySet("Size",20);
    vCell = vMSExcel.OleFunction("Evaluate", "E7");
    vValue="TITRE";
    vCell.OlePropertySet("Formula", vValue);
    
    Variant vLn,vCl;
    int i,j;
    for(j=1;j<14;j++)
    {
    vLn=j+9;
    vLn=vLn.operator double();
    for(i=1;i<14;i++)
    {
    vCl =i+1;
    vCl =vCl.operator double();
    vCell = vWorksheet.OlePropertyGet("Cells",vLn,vCl);
    vValue = Form2->StringGrid3->Cells[i][j];
    vValue=vValue.operator double ();
    vCell.OlePropertySet("Value", vValue);
    vCell.OleFunction("BorderAround",1,-4138);
    
    vCell.OlePropertySet("RowHeight",22);
    vCell.OlePropertySet("ShrinkToFit", true);
    
    }
    }
    Variant vFileName;
    vFileName = "D:\\Private\\of EPF2009\\Dossier\\Etat4.xls";
    vXLWorkbook.OleProcedure("Saveas", vFileName);
    ce code marche bien a part dans la parti rouge ne sauvgarde pas dans la nouvelle feuil, elle sauvgarde dans la fauil1

    merci d'avance

  14. #14
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Chez moi le contenu de la base s'insere a partir de la cellule " A1 ", c'est Excel qui gere tout, poste le code que tu a ecrit

  15. #15
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 335
    Points : 93
    Points
    93
    Par défaut
    Bonjour
    merci blondelle de me repondre, j'ai fait copier coller de ton code j'ai fait modification que au niveau de ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // la table est triee par Ville1,Ville2,Ville3
    String requette = "SELECT Stocks.Designation, Stocks.Ville1, Stocks.Ville2, Stocks.Ville3"
               "FROM " + WideString(filename) + ".Stocks Stocks "
               "ORDER BY "
               "Stocks.Designation, Stocks.Ville1, Stocks.Ville2, Stocks.Ville3";
    je vois pas ou est le probleme
    merci d'avance

  16. #16
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Il faut modifier ici " filename ", qui est le chemin de la base, par exemple " C:\maBddessai.mdb "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // chaine de connection a la base Access
    String provider = "ODBC;DSN=MS Access Database;"
    //       "DBQ=C:\maBddessai.mdb;"
    "DBQ=" + WideString(filename) + ";"// " + WideString(filename) + "
    "DefaultDir=C:;DriverId=25;FIL=MS Access;"
    "MaxBufferSize=2048;PageTimeout=5;";
    ici aussi il faut que " filename " donne le chemin de la base
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // la table est triee par Ville1,Ville2,Ville3
    String requette = "SELECT Stocks.Designation, Stocks.Ville1, Stocks.Ville2, Stocks.Ville3"
    "FROM " + WideString(filename) + ".Stocks Stocks "
    "ORDER BY "
    "Stocks.Designation, Stocks.Ville1, Stocks.Ville2, Stocks.Ville3";

  17. #17
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 335
    Points : 93
    Points
    93
    Par défaut
    salut
    merci blondelle de ta reponse, j'ai le meme probleme la feuil excel vide
    pourtant j'ai suivi bien les etapes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // chaine de connection a la base Access
    String provider = "ODBC;DSN=MS Access Database;"
           "DBQ=C:\ofEPF2009\Dossier\Produits.mdb;"
           "DBQ=" + WideString(filename) + ";" // " + WideString(filename) + "
           "DefaultDir=D:;DriverId=25;FIL=MS Access;"
           "MaxBufferSize=2048;PageTimeout=5;";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // la table est triee par Ville1,Ville2,Ville3
    String requette = "SELECT Stocks.Designation, Stocks.Ville1, Stocks.Ville2, Stocks.Ville3"
    "FROM " + WideString(filename) + ".Stocks Stocks "
    "ORDER BY "
    "Stocks.Designation, Stocks.Ville1, Stocks.Ville2, Stocks.Ville3";
    une exception du debogueur qui s'affiche a cause de ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vConnection.OleFunction("Refresh");
    alors je lé supprimer


    je vois pas le probleme, merci d'avance

  18. #18
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Si tu a une exception c'est probablement que vConnection est mal defini
    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
    Variant vConnection;
     
    // on affiche le contenu de la table
    vConnection = vActiveSheet.OlePropertyGet("QueryTables").OleFunction("Add", WideString(provider), vDestination, WideString(requette));
    vConnection.OlePropertySet("Name", "Lancer la requête à partir de MS Access Database");
    vConnection.OlePropertySet("FieldNames", true);
    vConnection.OlePropertySet("RowNumbers", false);
    vConnection.OlePropertySet("FillAdjacentFormulas", false);
    vConnection.OlePropertySet("PreserveFormatting", true);
    vConnection.OlePropertySet("RefreshOnFileOpen", false);
    vConnection.OlePropertySet("BackgroundQuery", true);
    vConnection.OlePropertySet("RefreshStyle", 1); // xlInsertDeleteCells = 1 constante Excel
    vConnection.OlePropertySet("SavePassword", false);
    vConnection.OlePropertySet("SaveData", true);
    vConnection.OlePropertySet("AdjustColumnWidth", true);
    vConnection.OlePropertySet("RefreshPeriod", 0);
    vConnection.OlePropertySet("PreserveColumnInfo", true);
    vConnection.OleFunction("Refresh");

Discussions similaires

  1. [MySQL] Export de données de plusieurs tables dans une feuille excel
    Par arkhang dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/03/2014, 16h29
  2. Réponses: 0
    Dernier message: 12/03/2014, 09h48
  3. [AC-2003] Copier une image d'une table Access dans une feuille Excel
    Par Kloun dans le forum VBA Access
    Réponses: 4
    Dernier message: 22/02/2011, 10h30
  4. [AC-2007] Exporter plusieurs tables dans UNE feuille Excel
    Par Bristow47 dans le forum VBA Access
    Réponses: 8
    Dernier message: 06/07/2010, 08h00
  5. Timer dans une feuille excel
    Par bbkenny dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 28/01/2005, 10h43

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