Vbxl : programmation efficace d'excel en vba, vb6 et vb .net

Soyez le premier à donner votre avis sur cette source.

Vue 58 655 fois - Téléchargée 6 174 fois

Description

Pour programmer efficacement Excel dans une feuille Visual Basic, il faut... ne pas utiliser Excel ! mais plutôt le contrôle tableur Office Web Component (OWC) de type Spreadsheet : il est conçu pour être initialisé via un modèle html purement Excel (notamment pour le format de présentation des cellules). Il peut traiter les événements (essayez par exemple le double clic) dans le conteneur du contrôle tableur, c'est-à-dire une feuille VB ou autre (formulaire Access, page HTML, ...), et cela contrairement, à ma connaissance, aux autres solutions déjà vu sur le site VBFrance.com pour afficher une feuille Excel en VB. Par ailleurs, on peut charger le tableur avec les valeurs d'une requête instantanément (via ADODB) en une seule instruction : 1 000 enregistrements en moins d'une seconde ! Et il n'y a plus besoin de la base de données après : tous les enregistrements sont chargés en mémoire vive (c'est le principe du mode déconnecté). Cela reste un vrai tableur : les champs calculés sont mis à jour quand on édite une cellule.

Source / Exemple :


Cf. Zip

Conclusion :


Mots clés : OWC, Office Web components, VB6, VBA, VB .Net, DotNet, Tableur, Feuille de calcul, Excel, Web parts.

Prochainement : démo grapheur via OWC.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_EBArtSoft
Messages postés
4531
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
5 -
Tu peut créer le meme effet avec une flexgrid, msgrid ou bien
encore une simple listview !

de plus la rapidité est relative compte tenu du fait que les
1 000 enregistrements ne sont pas chargé en memoire
mais seulement les enregistrements visible a l'ecran sont
effectivement dans le cache. Le reste ne s'affiche que lorsque
l'on fait defiller les données...

Tu peut faire le test sur une db de 100 000 Rec ou bien de 5 Rec
le resultat sera le meme. Cela dit c'est un jolie exemple de combiné VB/Office !

Quand au voyage de Chihiro... c'est un pure chef d'oeuvre ;-)

@+
cs_EBArtSoft
Messages postés
4531
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
5 -
#ERRATUM#

Rectification ....

J'ai passé le code au peigne fin, et je doit dire que
c'est impressionnant ! malheureusement il n'y a aucun
moyen de sauvegarder le spreedsheat.

@+
Afyn
Messages postés
613
Date d'inscription
samedi 3 août 2002
Statut
Membre
Dernière intervention
22 décembre 2016
-
Normalement, tu peux acceder a chaques cellules du Spreadsheet, donc tu peux sauvegarder ...
Tu faire copier coller aussi dans exel !!! et sauvegarder.

Pour votre info on peut charger des Fichiers Csv trés rapidement avec Owc ...

A+

Afyn
KAKANOU
Messages postés
1
Date d'inscription
jeudi 8 mai 2003
Statut
Membre
Dernière intervention
2 décembre 2003
-
Ce code m'a débloqué de beaucoup de situations, mais la seule difficulté que j'ai en ce moment c'est comment imprimer etant sur VB l'affichage qui se presente?
cs_Patrice99
Messages postés
1222
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018
-
Je n'ai pas testé, mais pourquoi ne pas imprimer toute la feuille VB ? Il faut chercher comment imprimer une feuille contenant un controle ActiveX en général. Une chose est sûr : dans un état Access, la feuille s'imprimera certainement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.