Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3002 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Des classes dynamiques (!) en vba Excel

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Des classes dynamiques (!) en vba Excel

n°1794153
M@nu
Posté le 01-10-2008 à 00:22:51  profilanswer
 

Bonjour,
Je cherche à faire qq chose qui me rendrait énormément service pour des développements de petites applications Excel.
J'ai un certain nombre de tables dans des onglets Excel. Je dois faire pas mal de manipulations avec, et elles sont susceptibles d'évoluer souvent.
 
Prenons pour l'exemple :
 
Onglet personnes

Id    Nom      Prenom  
 
1     Marc     Legrand
2     Pierre   Boulard


Je souhaiterais pouvoir générer automatiquement un objet vba (type utilisateur ou classe) avec cette hiérarchie, et accéder aux différents éléments de cette façon : personne(1).id, personne(1).nom, personne(1).prenom, etc.
 
L'idée étant bien la suivante: la structure de l'objet est définie dans la feuille Excel, et je ne veux surtout pas devoir redéfinir chaque champ (nom, prenom, etc.) dans le code vba.
 
Comment peut-on faire ce genre de type ou classe "dynamique" ? Y a t'il moyen de bricoler qq chose en utilisant des collections ?
On pourrait bien sur utiliser un tableau tout simple, mais ce ne serait pas très ergonomique pour coder ensuite... (je peux arriver à une 20aine de colonnes...)
 
Merci bien pour toute suggestion...


Message édité par M@nu le 01-10-2008 à 00:23:50
mood
Publicité
Posté le 01-10-2008 à 00:22:51  profilanswer
 

n°1794498
tegu
Posté le 01-10-2008 à 16:46:56  profilanswer
 

Avec la bibliothèque VBE (VB extensibility je crois) il est possible de créer des modules de code (donc de classe éventuellement je suppose).
Mais c'est lourd et demande une bonne expérience de prog en VBA.
Je n'ai pas assez de recul pour te certifier que tu arriveras à faire ce que tu veux, mais je pense que c'est possible.
 

n°1794642
Idoine
Posté le 02-10-2008 à 02:10:07  profilanswer
 

Est-ce que ta structure est figée ou pas ? C'est-à dire est-ce que tu sais quelles colonnes tu auras ? (je ne parle pas de leur ordre, mais de leur nom)
Si oui tu pourrais utiliser un type utilisateur.
Sinon je ne vois pas comment tu pourrais te passer d'un tableau, dont la 1ère ligne contiendrait le nom des colonnes. Pour ce qui est du nb de colonnes, c'est un faux problème, si tu utilises des boucles de traitement.

n°1795225
M@nu
Posté le 03-10-2008 à 14:18:15  profilanswer
 

Idoine a écrit :

Est-ce que ta structure est figée ou pas ? C'est-à dire est-ce que tu sais quelles colonnes tu auras ? (je ne parle pas de leur ordre, mais de leur nom)
Si oui tu pourrais utiliser un type utilisateur.
Sinon je ne vois pas comment tu pourrais te passer d'un tableau, dont la 1ère ligne contiendrait le nom des colonnes. Pour ce qui est du nb de colonnes, c'est un faux problème, si tu utilises des boucles de traitement.


 
 
Si je reformule ma question de cette façon:
Je stocke effectivement le nom de chaque colonne dans un tableau : tableau(1), tableau(2), etc.
Est ce que je peux créer un type utilisateur dont les noms des variables seraient les valeurs de tableau(1), tableau(2), etc.
 
Merci bien!

n°1795413
Idoine
Posté le 03-10-2008 à 17:55:46  profilanswer
 

Fais un tableau à 2 dimensions.  
 
tableau(1 to 35000, 1 to 20) par ex correspond à un tableau de 35000 lignes et 20 colonnes
 
Ensuite : tableau(1,1)="NomColonne1"
tableau(1,2)="NomColonne2"
...
tableau(1,20)="NomColonne20"
 
et à partir de la ligne 2 du tableau les données (deux boucles For et roule ma poule !)


Message édité par Idoine le 03-10-2008 à 17:56:08

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Des classes dynamiques (!) en vba Excel

 

Sujets relatifs
Est-il possible de sélectionner un onglet Excel bien précis avec PHP ?Requêtes SQL dans Excel et variable dans la feuille
Export colonne ExcelFormule excel
[VBA] Fermer Excel et enregistrer[ASPX] [C#] Chercher et afficher une ligne dans un fichier Excel
[EXCEL] Connaitre la position de la cellule couranteCreer un PDF depuis Excel et envoi directement en pièce jointe d'un ma
[Excel] Afficher une cellule comportant une valeur calculéeCopier des donnees entre 2 balises vers Excel
Plus de sujets relatifs à : Des classes dynamiques (!) en vba Excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR