begin process at 2012 02 09 14:51:30
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > AUTOMATION DE EXCEL ENTIEREMENT EN WIN32 ET SOUS FORME DE CLASSE

AUTOMATION DE EXCEL ENTIEREMENT EN WIN32 ET SOUS FORME DE CLASSE


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Classé sous :automation, excel, automatisation, controler, tableau Niveau :Initié Date de création :04/10/2007 Vu / téléchargé :9 906 / 893

Auteur : SnOOpss

Ecrire un message privé
Commentaire sur cette source (41)
Ajouter un commentaire et/ou une note

 Description

En fait il s'agit de la suite de http://www.cppfrance.com/codes/AUTOMATISER-EXCEL-S ANS-MFC-NI-IMPORT_30147.aspx
mais avec plus de fonctions et surtout plus de commentaires.
J'ai du controler excel pour mes besoins et je suis parti de cette source pour debuter puis petit a petit des fonctions se sont rajoutées dessus, avec de la logique et un bon moteur de recherche il est assez facile de continuer.
Pour les utilisateurs des MFCs c'est réinventer la roue mais perso meme si je le voulais, je ne pourrais pas les utiliser (non livrées avec vc 2005 express).
J'aurais pu utiliser une syntaxe plus logique (comme celle des MFCs) mais j'ai rajouté les fonctions au fur et a mesure de mes besoins.

Source

  • MyExcel Excel;
  • //lance une nouvelle instance de excel
  • Excel.NewExcel();
  • //le rend visible
  • Excel.SetVisible(true);
  • //ouvre un nouveau carnet
  • //Excel.AddWorkbook();
  • //charge un fichier existant
  • Excel.Open(TruePath("\\test.xls"));
  • //selectionne la premiere feuille
  • Excel.GetWorksheet(1);
  • //on rempli certaines cases
  • Excel.SetData("A2:B3","ABCD");
  • Excel.SetData("A1","Titre");
  • //on selectionne une zone
  • Excel.SelectRange("A1");
  • //on y applique des effets
  • Excel.SetFont("ARIAL",true,false,20);
  • Excel.SetColor(RGB(255,0,0),RGB(0,255,0));
  • //changement du nom de la feuille
  • Excel.SetWoksheetName("test");
  • //pour eviter le message de confirmation a la sortie
  • //Excel.SetSave(true);
  • //sauvegarde du nouveau fichier modifié
  • Excel.SaveAs("C:\\output.xls");
  • //et on quitte
  • Excel.Quit();
	MyExcel Excel;

	//lance une nouvelle instance de excel
	Excel.NewExcel();
	//le rend visible
	Excel.SetVisible(true);

	//ouvre un nouveau carnet
	//Excel.AddWorkbook();

	//charge un fichier existant
	Excel.Open(TruePath("\\test.xls"));

	//selectionne la premiere feuille
	Excel.GetWorksheet(1);

	//on rempli certaines cases
	Excel.SetData("A2:B3","ABCD");
	Excel.SetData("A1","Titre");

	//on selectionne une zone
	Excel.SelectRange("A1");
	//on y applique des effets
	Excel.SetFont("ARIAL",true,false,20);
	Excel.SetColor(RGB(255,0,0),RGB(0,255,0));

	//changement du nom de la feuille
	Excel.SetWoksheetName("test");

	//pour eviter le message de confirmation a la sortie
	//Excel.SetSave(true);

	//sauvegarde du nouveau fichier modifié
	Excel.SaveAs("C:\\output.xls");
	//et on quitte
	Excel.Quit();


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   control_Excel
    •   Debug
      • test.xlsTélécharger ce fichier [Réservé aux membres club]13 824 octets
    •   Release
      • test.xlsTélécharger ce fichier [Réservé aux membres club]13 824 octets
    •   source
    • Excel.vcprojTélécharger ce fichier [Réservé aux membres club]4 231 octets
    • test.xlsTélécharger ce fichier [Réservé aux membres club]13 824 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture CUSTOMISATION DE CONTROLES AUTOMATIQUE OU APPLICATION DE THE...
Source avec Zip Source avec une capture JEU DIRECTX EN MODE FENETRE + RESEAU
OBTENIT UN HBITMAP A PARTIR D UN JPEG GIF BMP SANS LES MFC

 Sources de la même categorie

Source avec Zip WIN32 TLS LENT par dguilmain
Source avec Zip VIDER ELEMENTS DE CORBEILLE WINDOWS7 (WIN64) par BruNews
Source avec Zip Source avec une capture FIND TEXT (WIN64) par BruNews
Source avec Zip DELETE DIRECTORY (WIN64) par BruNews
Source avec Zip ENUM DIRECTORY (WIN64) par BruNews

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture RÉSOLUTION SUDOKU (9X9) PAR BACKTRACKING RÉCURSIF INTELLIGEN... par Gallien69
Source avec Zip Source avec une capture ALGORITHME DE TRI D'UN TABLEAU PAR ORDRE CROISSANT OU DÉCROI... par Thuzhen
[C][RTF] EXEMPLE DE TABLEAU EN RTF (POUR RICHEDIT) par omnia
Source avec Zip Source avec une capture DIRECTORYSTRUCTURE2EXCEL: APPLICATION COPIANT LA STRUCTURE D... par bertrph
TRIANGLE DE PASCAL ET DEVELLOPEMENT DE POLYNOME par Individu

Commentaires et avis

Commentaire de TOLLAI le 10/10/2007 17:03:22

Bonjour SnOOpss,
Je suis tres interressé par tes lignes de codes.
J'ai voulu télécharger ton zip et voilà le message de mon serveur :(

L'objet de votre requête contient un virus :
Le fichier cppfrance_AUTOMATION-EXCEL-ENTIEREMENT-WIN32-SOUS-FORME-CLASSE___Page.zip contient le virus Compressed_Huge_File: ce fichier a été détruit.

Pourrais-tu nettoyer tes fichiers et remettre un zip?

a+

Commentaire de SnOOpss le 10/10/2007 17:33:50

J'ai reverifié aucun virus, ce ne sont que des fichiers textes et un fichiers excel sans aucune macro, un virus je veut bien mais ou, donne moi le nom du fichier infecté ?
"Compressed_Huge_File" ce n'est pas un nom de virus, je veut bien compresser mon archive differement mais j'aimerais etre sur que le probleme viens de chez moi.

Commentaire de TOLLAI le 11/10/2007 08:40:24

Merçi pour ton délai réponse !

Je suis sur un serveur entreprise, et cela viens peut être de ses paramètres que je ne connais pas. Je vais faire autrement pour télécharger le zip.

Commentaire de andrebernard le 20/05/2008 12:42:33

Bonjour

J'ai le meme probleme dans mon entreprise

Commentaire de davypillet le 21/10/2008 15:46:41

Super source, très utile

Commentaire de kacihadji2008 le 21/11/2008 16:12:54

Bonjour

Un bon  et intéressant code.
Merci beaucoup, tu ma sauvé, deux jours pour trouver ce code.

Je te remercie infiniment.

Commentaire de tomcoy75 le 02/12/2008 11:26:39

Très pratique ! Merci

Cas d'un enregistrement d'un fichier excel déja existant

J'ai essayé l'exemple. Je souhaitais compléter un fichier excel  existant. Il est écrit que pour avoir à éviter de confirmer l'enregistrement d'un fichier, il faut mettre "excel.SetSave(true)". Cela fonctionne très bien si le fichier excel n'existe pas.
Si on enregistre un fichier déja existant, une boite de dialogue apparait pour demander de confirmer l'écrasement du fichier RESUME.XLW. Ce problème est connu en Vb.
J'ai rajouté la méthode suivante dans la classe :
bool MyExcel::SetDisplayAlerts(bool fDisplay)
{
VariantClear(&lgVariant);
lgVariant.vt = VT_I4;
lgVariant.lVal = fDisplay;
HRESULT hr = AutoWrap(DISPATCH_PROPERTYPUT, NULL, xlApp.pdispVal, L"DisplayAlerts", 1, lgVariant);

return true;
}
et dans le code principal "excel.SetDisplayAlerts(false)" à la place de  de excel.SetSave(true)".
J'ai maintement le bon résultat.

Commentaire de SnOOpss le 02/12/2008 20:09:37

Merci pour la modif, plusieurs fois j'avais eu le probleme et j'avais du bricoler pour passer outre.

Commentaire de amouretsu le 11/02/2010 16:43:33

bonjour je veux un code pareille mais pour extraireet inserer des information dans un document word et pas excel aider moi pleaaaaaaaaaaase

Commentaire de slimIT le 11/04/2010 20:49:33

Salut,

quand je test ce code sur Visual C++ Express il marche parfaitement mais lorsque je le test dans mon projet Qt avec Qt Creator il ne marche pas.

voici les erreurs avec Qt Creator :

C:/Documents and Settings/Slim/Mes documents/Qt/Projects/CMMS/main.cpp:63: error: cannot convert 'char*' to 'WCHAR*' for argument '2' to 'DWORD GetModuleFileNameW(HINSTANCE__*, WCHAR*, DWORD)'

C:/Documents and Settings/Slim/Mes documents/Qt/Projects/CMMS/main.cpp:65: error: 'strcat_s' was not declared in this scope

Commentaire de benjamin_31 le 21/04/2010 21:42:01

Salut,

Le code est super, et très utile.
Il fonctionne super bien.
Mais quand je le met dans mon projet ça me fait une Erreur :
"AutoWrap()"
"IDispach::Invoke("Open"=00000783) failed w/err 0x800a03ec"

Quelqu'un peut m'aider ?

Commentaire de yodddd le 11/05/2010 18:52:14

Salut Benjamin_31,
j'ai rencontre le même problème que toi, et je ne sais pas quoi faire.
Je suis sur visual C++ express edition, au secour!!!

Commentaire de benjamin_31 le 11/05/2010 19:09:13

Bonjours,
Mon problème été causé par plusieurs points :
- L'adresse du fichier excel. Lorsque tu compile ton programme en debug (ou release) l'exécutable est mit dans un dossier Debug (ou Release) ça modifie donc le chemin absolu (Visual ne déplace pas ton fichier excel). Puis n'oublie pas que le "/" est un caractère spécial, il faut écrire "//".
- Le logiciel dans le quel j'ai intégrer  l'API été complexe et utiliser déjà un grand nombre d'interface diverse et varier. Donc le fait d'utiliser "CoInitialize(NULL);" et "CoUninitialize()" y a créer des interférence. Il ma suffis d'enlever les 2 ligne.
- Puis pour un raison que je n'ai toujours pas trouver, les VARIANT ne sont pas détruit et réinitialiser entre 2 création de l'objet. Pour résoudre cette gène j'ai rajouter "xlApp.pdispVal = 0;" au début du destructeur (Mais je trouve que ça fait pas du code propre)

Commentaire de yodddd le 12/05/2010 00:32:04

Merci pour l'aide , effectivement le .exe est soit dans le Debug ou le release après compilation, comment changer l'adresse du fichier excel?

Commentaire de benjamin_31 le 12/05/2010 01:25:16

tu peut marquer "C:\\Dossier1\\Dossier2\\Dossier3\\MonXLS.xls" ou "..\\MonXLS.xls"

Et zou au lit, il est tard ^^ (Mon j'ai une dérogation qui s'appel fuseau horaire)

Commentaire de yodddd le 12/05/2010 01:32:32

merci énormément, je vais vite faire cela, encore une fois merci, bon repos.

Commentaire de SnOOpss le 12/05/2010 20:39:48

Tu as ajouté "xlApp.pdispVal = 0;" au début du destructeur ?
Avant ou apres le "Release();" ? Car dans ce cas tu empeches tout le nettoyage des objets >> if (xlApp.pdispVal) xlApp.pdispVal->Release();
Normallement dans chacun de mes projets je ne crée l'objet MyExcel qu'une seule fois, ca cela ne sert a rien de le supprimer pour m'en resservir apres, mais ton bug m'intrigue meme si j'ai completement abandonné ce projet depuis des lustres.

Commentaire de benjamin_31 le 12/05/2010 21:15:25

Voila mon destructeur actuel :
MyExcel::~MyExcel() {

xlApp.pdispVal = 0;

//relesase
Release();

// Uninitialize COM for this thread...
//CoUninitialize();
}

Vue que dans mon programme je n'utilise l'automatisation d'Excel que 5min pour environs 12h de fonctionnement il met inutile de garder en mémoire le fichier Excel, surtout que après il est utiliser par d'autre utilisateur. Donc quand j'ai finit de l'utiliser, la méthode qui l,utilise ce finie également et il est détruit a ce moment là.
Mais Si je réutiliser l'automation pour une autre méthode je tomber sur :

// if Excel is already running, return with current instance
if (xlApp.pdispVal != NULL)
return true;

Qui considérer donc que J'avais déjà un fichier Excel et qui me faisais sauter tous le code suivant. Donc gros bug lorsque je voulez manipulez un fichier qui exister pas.


Commentaire de yodddd le 20/05/2010 12:03:55

Bonjour tout le monde,
Comment faire pour recupéré la valeur d'une cellule depuis un fichier excel et l'écrire dans un fichier exemple.txt?
Merci d'avance

Commentaire de benjamin_31 le 20/05/2010 14:41:17

Tu devrais regarder le fichier excel.h qui ce trouve dans l'archive, il y a toutes les fonction possible et bien documenter.
Pour récupérer uns valeur utilise la fonction GetData(). Puis pour L'écrire dans un  fichier reporte toi à un tutoriel (http://www.siteduzero.com/tutoriel-3-36367-lecture-et-ecriture-dans-les-fichiers-en-c.html)

Commentaire de yodddd le 20/05/2010 16:01:47

Mon problème c'est plus au niveau de la valeur de la cellule; l'écriture pas de soucis. je ne vois trop ce que fait la fonction getdata

Commentaire de benjamin_31 le 20/05/2010 16:15:29

bool GetData(char* pPos, char* pData);//lit une valeur dans une cellule

Retourne Vrai si l'opération a réussit.

pPos : Valeur d'entrer. Position de la cellule que tu souhaite lire. (ex : "B5")
pData : Valeur de sorti. Après l'exécution de la fonction pData contiendra la valeur de la cellule. (ex : "Je suis la cellule B5")

Commentaire de yodddd le 20/05/2010 16:42:31

Dans le main
Excel.GetData("A12","essai");// je selectionne la cellule A12
Puis j'ouvre mon fichier.txt
ofstream fichier("tex.txt",ios::out | ios::trunc");
if(fichier)
        {fichier << "essai" << endl;}
         fichier.close();
        }
        else
                cerr << "Impossible d'ouvrir le fichier !" << endl;

Il me sort des erreures?


Commentaire de benjamin_31 le 20/05/2010 17:07:36

Normal, le 2emme paramètre est une sortie. Donc si tu y met un texte constant ("essai"), il ne pourra pas le modifier.

// declaration variable
char* cValeurCellule

// je selectionne la cellule A12
Excel.GetData("A12",cValeurCellule);

.....

Puis fait attantion à la mise en forme de ton code c'est important pour une bonne lisibiliter et voir les erreur de "{"
je me rappel plus trop comment ça ce manipule les fichier donc apar ton accolade qui ce ferme 2 fois je voie rien d'autre

ofstream fichier("tex.txt",ios::out | ios::trunc");
if(fichier)
{
fichier << "essai" << endl;
}
fichier.close();
}
else
cerr << "Impossible d'ouvrir le fichier !" << endl;

Commentaire de yodddd le 20/05/2010 17:36:54

j'ai fait les modifications, après execution ,il ouvre deux classeurs et me renvoit:
Unhandled exception at 0*7855b690 in Excel.exe: 0*c0000005: Access violation reading location 0*00000000.

Commentaire de SnOOpss le 20/05/2010 17:58:18

As tu definis la variable ou tu veux stocker ta donnée voddd ? Regarde mieux les warnings de ton compilateur, il doit surement te dire que la variable X est utilisée sans etre definie.
Sinon pour en revenir a ton probleme Benjamin_31 j'ai modifié mon code comme cela:

void MyExcel::Release(void) {

//Sinon excel reste bloqué en memoire, peut etre necessaire pour les autres aussi ?
if (xlApp.pdispVal) {
xlApp.pdispVal->Release();
xlApp.pdispVal == NULL;
}

Commentaire de yodddd le 20/05/2010 23:50:52

Bonsoir,
oui mais il me renvoit à la fonction BSTRtoASC (BSTR str, char * &strRet) , à la line:

length = WideCharToMultiByte (CP_ACP,0, str,SysStringLen(str), reinterpret_cast <char *>(strRet), length,NULL, NULL );

Commentaire de yodddd le 25/05/2010 11:41:55

Bonjour Benjamin_31 et Snoopss,
Je suis toujours au même point, j'ai bien declaré la variable où je veux stocker la valeur de la cellule, une aide de votre part serai la bienvenue.

Commentaire de benjamin_31 le 25/05/2010 17:23:05

Vive les long Week-end sans pc ^^

Désoler, je voit pas trop d'où peut venir ton problème. Mais je commence un nouveau projet avec la bibliothèque to day donc je vais regarder rapidement d'où ça pourrai venir.

Pourrait-tu aussi me montrer ton code sans modification ? si ça te dérange pas et que ça soit pas confidentiel.

Commentaire de yodddd le 25/05/2010 18:24:26

Bonjour Benjamin_31
Pour le code je n'ai pas le droit, c'est confidentiel;
En fait je dois récupéré des données d'un classeur donné(exemple.xls), puis les stocker dans un fichier.txt, pour cela j'ai fait un essai avec la fonction GetData sur une cellule existante:

char *valeur='\0';

Excel.Open(TruePath("//exemple.xls"));

Excel.GetWorksheet(1);
Excel.GetData("B10",valeur);
ofstream fichier("fichier.txt",ios::out | ios::trunc");
if(fich)
{
fich << valeur << endl;
}
fich.close();
else
cerr << "Impossible d'ouvrir le fichier !" << endl;

Commentaire de yodddd le 29/05/2010 16:34:48

Bonjour, alors Benjamin_31 et Snoopss,
Vous avez du nouveau concernant mon bug, je suis toujours au même point.

Commentaire de benjamin_31 le 29/05/2010 17:02:39

Désoler j'ai rien trouver pour corriger ton problème :(

Commentaire de yodddd le 29/05/2010 23:29:34

Bonsoir, ça y est! J'arrive à récupéré la valeur des cellules, vous aviez raison dès le départ, le problème n'était pas au niveau du code, plutôt de mon fichier. Je vous remercie énormément, je ferait gaffff prochainement à mes déclarations.

Commentaire de geochabi le 21/06/2010 10:54:42 8/10

Bonjour, YODDDD pourrais-tu m'aider, je n'arrive pas à stocker le résultat du Excel.GetData dans une variable.

Voici un extrait de mon code :

char *test = '\0';

//charge un fichier existant
Excel.Open(TruePath("\\test.xls"));

//selectionne la premiere feuille
Excel.GetWorksheet(1);

//on rempli certaines cases
Excel.SetData("A2:B3","ABCD");
Excel.SetData("A1","Titre");
Excel.GetData("A8", test);

Lorsque j'exécute le programme pas à pas, une fois arrivé sur le GetData je peux voir "Nom : test, Valeur : 0x00000000 <Ptr> incorrect". Et donc la fonction GetData me renvoie false, ce qui m'empêche de récupérer la valeur de la cellule.  

Commentaire de yodddd le 22/06/2010 17:00:44

Bonjour Geochabi,
en fait ton pointeur est juste mal initialisé, essai:
char *test=new char[2];
Excel.GetData("A8",test);
puis tu libère ta mémoire
delete [] test;
Bon travail...

Commentaire de geochabi le 23/06/2010 11:05:07

Merci de m'avoir repondu, grâce a toi j'ai vraiment pu avancer.

Commentaire de SnOOpss le 23/06/2010 18:54:47

Sinon
char *test=(char*)malloc(sizeof(test)); (moins bien que avec New)
ou plus simplement
char test[255];

Commentaire de geochabi le 06/07/2010 10:57:23

Bonjour, vos réponses m'ont bien aidé mais j'ai un autre problème, je veux par exemple ouvrir un fichier, récupérer certaines données pour ensuite les copier dans un autre fichier excel.
J'arrive à récupérer les données mais pas à les copier dans le deuxième fichier.

Voici un code simple pour montrer mon problème :

#include "windows.h"
#include "libexcel/excel.h"

void test1()
{
MyExcel Excel;
Excel.NewExcel();
Excel.SetVisible(true);
Excel.Open("C:\\Documents and Settings\\Administrateur\\Bureau\\test.xls");
Excel.Quit();
Excel.~MyExcel();
}

void test2()
{
MyExcel Excel;
Excel.NewExcel();
Excel.SetVisible(false);
Excel.Open("C:\\Documents and Settings\\Administrateur\\Bureau\\test.xls");
Excel.Quit();
Excel.~MyExcel();
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE x, PSTR y, int z)
{
test1();
test2();
return 0;
}

Impossible d'utiliser test1 puis test2 l'un après l'autre, pourtant ils fonctionnent très bien séparément.

Si quelqu'un a trouvé un solution je suis preneur.

Commentaire de gerunt le 19/11/2010 16:03:31

Bonjour,

Le programme fonctionne très bien chez moi. Cependant, si j'essaye de lire une valeur provenant d'une feuille excel "Protégée", le programme plante. J'imagine que des modifications apportées à la fonction Open de la classe MyExcel pourrait corriger le problème. Quelqu'un a-t-il une idée ? Merci de votre aide.

Commentaire de mcallan le 28/01/2011 15:39:44

Bonjour,

Une idée pour appeler une Macro excel depuis ce code ?


bool MyExcel::RunMacro(char* macro) {
return false;
}

bool RunMacro(char *);//ne marche pas

Tres bon exemple ;)

Commentaire de antoine2641 le 05/04/2011 10:23:15

Bonjour,

J'ai repris ce code qui est très utile et j'ai rajouté quelques fonctions, notamment pour formater les cellules.
Maintenant, j'aimerais pouvoir inserer une ligne dans un fichier mais je ne trouve pas la commande à fournir à la fonction Autowrap.
Si quelqu'un l'a déjà fait ou a une petite idée....

Merci d'avance !
A bientôt !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Tableau de type feuille Excel [ par pde ] Comment créer en C++ un tableau de type feuille Excel, comportant des lignes et des colonnes, dans un contrôle ou une vue ? Tableau genre excel dans un prog avec Borland C++ 5.0 [ par vinvay ] Je cherche à faire un tableau de type excel (datagrid, msflexgrid, ...) dans un prog win32 avec Borland c++ 5.0 mais je ne sais pas si c'est possible THREAD MFC Automation [ par atlas28 ] Bonjour,j'utilise automation pour piloter excel, cela fonctionne tres bien.Pourquoi lorsque que j'utilise un thread qui va lancer ma fonction pour pil pb de sauvegarde de donnees dans un tableau sous excel [ par nazca ] Le Zero de la programmationNazcaBonjour!j'aimerais savoir comment on fait pour sauvegarder des donnees sous excel dans un tableau.et surtout comment d ecrire des données et tableau dans un fichier excel par interface c++ [ par nazca ] Le Zero de la programmationNazcaVotre texte ICIj aimerais savoir comment on fait pour ecrire et sauvegarder des données dans un tableau(tableau deja c Ecrire ds un tableau excel ss VC++ : utiliser ADO??????? [ par kalf2000 ] bonjour,voila je voudrais savoir comment insérer des caractère (ou autre) dans un tableau excel. j'ai deja regardé en peu sur le forum et j'ai cru com VC++ - Automation Excel [ par clothilde ] Bonsoir,d&#233;sol&#233;e de reposter, mais je pense que premier post est un peu perdu dans la liste des posts et j'ai vraiment besoin de trouver la s Pb temps d'acces +trop long [ par Anormal13 ] Salut à tous v'la l'anormal et ses questions connes!! Bon voila je developpe actuellement une petite application(peu mporte le but) pour mon appli j'a encadrer une cellule d'un tableau excel [ par beaurepairejohann ] Bonjour,J'ai créé un programme qui automatise la création d'un tableau excel. Il ne me reste plus qu'a encadrer certaines cellules.J'ai trouvé la font Lecture d'un tableau excel [ par Icebibi ] Bonjour à tous. comme le titre l'indique je voudrais savoir si vous avez des pistes pour lire un tableau excel, ligne par ligne, en passant par chaque


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,288 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales