Stocker dans un Dossier tous les Composants de ses Applis pour recherches ultérieures

YANN-56

XLDnaute Barbatruc
Bonjour à ceux qui passeront par là,

Voici le code de récupération dans une feuille d'un Classeur Fermé:
Code:
Private Sub CommandButton1_Click()
FICHIER = ThisWorkbook.Path & "\SOURCE.xls"
NOMFEUILLE = "CODE"
    
Set Cn = New ADODB.Connection
    
 With Cn
  .Provider = "Microsoft.Jet.OLEDB.4.0"
  .ConnectionString = "Data Source=" & FICHIER & ";Extended Properties=Excel 8.0;"
  .Open
 End With
    
texte_SQL = "SELECT * FROM [" & NOMFEUILLE & "$]"
    Set Rst = New ADODB.Recordset
    Set Rst = Cn.Execute(texte_SQL)
    Worksheets("RECUP").Range("A1").CopyFromRecordset Rst
    
Cn.Close
Set Cn = Nothing
End Sub
Je tente en vain, depuis un grand moment,
à transporter directement les données copiées dans le TextBox de l'USF, sans passer par la Feuille.
(Ce serait perdre une grande partie du temps gagné avec la méthode ADO)

L'arrière-pensée est de charger les "Tag" des Items d'une ListView de cette façon.
Je n'ai pas mis ce Control dans mon USF, car je sais qu'il pose soucis à certains.
Le Bouton 2 pourra servir de réceptacle pour les tests, car il en sera évidemment de même pour ses Items.

Merci, par avance, à qui saura m'aguiller........
Si ce n'est de me dire que ce que je cherche à faire est impossible!

Amicalement,

Yann
 

Pièces jointes

  • ASPIRATEUR.xls
    38.5 KB · Affichages: 122
  • SOURCE.xls
    20 KB · Affichages: 151
  • SOURCE.xls
    20 KB · Affichages: 156
  • SOURCE.xls
    20 KB · Affichages: 160
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : Copie Données dans une Feuille via "A.D.O" = Ok, mais dans un TextBox = Echec!

Bonjour Lone-wolf, et à ceux écoutant la discussion,

YANN, une idée peut-être farfelue.
...Je te répondrai en M.P. sur ce point.

Je suppose que les sous-dossiers vont contenir une multitude de codes.
Chez moi, c'est certain, car j'en ai marre de fouiller dans ma mémoire vieillissante et dans mon désordre.
D'autant que je me rappelle souvent plus du nom de mon essai ou de mon appli!:mad:

Et si tu installe les sous-dossiers sur un hébergeur? Celà permettrait d'éviter d'allourdir le disque dur. Bien entendu si celà est possible.
Possible: Je le pense.
Il ne serait certainement pas plus difficile à le faire via VBA, ainsi que l'on peut piloter "maps.google"
(Par exemple "Cjoint.fr", mais ce seul que je connaisse à un temps de conservation très limité!)

Utile: Je ne le pense absolument pas.
Alourdir le disque dur ne risque pas trop de déranger, d'autant que l'objectif est aussi de balancer
des applis devenues inutiles ou inutilisables dans un environnement autre que l'initial.

1) Mon Dossier "MES_CODES" est sur une partition autre que Système. (Par sécurité en cas de reformatage)
2) Compte tenu de la capacité des disques actuels, on ne risque pas d'avoir à pousser des coudes.
3) J'ajoute une copie sur deux clés USB pour garantie de sauvegarde, et facilité ultérieure de transport.

J'ai fait un test avec une autre possibilité basé sur l'exportation de la totalité des composants d'un Projet.
- Origine: Une appli de 4,71 Mo dont 23 USF. (Je n'étais pas économe à l'époque!)
- Stockage de la totalité, y compris des Object USF en plus de leur code.

Résultat: 98 Fichiers "FRM" et "FRX" pour seulement 997 Ko de plus dans le Dossier réceptacle.
Sans les "Objets" USF, et que leur code: 232 Ko..... Cela me semble totalement acceptable. N'est-il pas?:confused:

Je cesse ici mon bavardage, car je dois voir comment adapter A.D.O. pour un Fichier "FRM"

A noter que l'ajout des "Objets" USF est intéressant pour venir les copier,
ou pomper la mise en forme de certains contrôles. (Images notamment)

Intégration à "ASPIRATEUR" ou essai parallèle suit.

Amicalement,

Yann
 

YANN-56

XLDnaute Barbatruc
Re : Copie Données dans une Feuille via "A.D.O" = Ok, mais dans un TextBox = Echec!

A l'attention de BrunoM45 et fhoest, vous seuls qui daignez me suivre,:):):)

Pardon pour mon retard quant aux fonctions possibles à ajouter à ma bidouille.

J'ai changé mon fusil d'épaule pour ce qui est du stockage des codes,
et les procédures d'ajouts et de recherche en sont toutes bouleversées!

Puisque vous avez eu la politesse de participer, j'ai celle de vous dire où j'en suis.

La rapidité et l'ergonomie me semble améliorées, mais il me faudra un peu de temps pour appliquer les modifs.

J'ai en premier lieu agit pour offrir la possibilité de venir copier un USF mis dans la Bibliothèque,
ou seulement la tronche des contrôles le composant. (Le pompage des code restant toujours présent)

Mon Post précédent à l'attention de Lone-wolf en parle un peu.

Amicalement et à plus tard, avec, comme je l'espère le plaisir de partager un peu plus.

Yann,

P.S. Au regard du silence des "Barba-Machins" je me dis qu'avec ma grande bouche,
je suis devenu "Persona non grata" sur XLD!!!
 
C

Compte Supprimé 979

Guest
Re : Copie Données dans une Feuille via "A.D.O" = Ok, mais dans un TextBox = Echec!

Salut Yann ;)

A l'attention de BrunoM45 et fhoest, vous seuls qui daignez me suivre
Avec 989 vues de ton fil je ne pense pas que nous soyons les seuls ;)
Peut-être faudrait-il changer le titre de ce fil en modifiant ton premier post

J'ai changé mon fusil d'épaule pour ce qui est du stockage des codes,
et les procédures d'ajouts et de recherche en sont toutes bouleversées!
Wouhaouu ... pas simple de changer comme ça, bon courage ;)

La rapidité et l'ergonomie me semble améliorées, mais il me faudra un peu de temps pour appliquer les modifs.
si tu as besoin d'aide, n'hésite pas

J'ai en premier lieu agit pour offrir la possibilité de venir copier un USF mis dans la Bibliothèque,
ou seulement la tronche des contrôles le composant. (Le pompage des code restant toujours présent)
Ca m'a l'air franchement pas mal :D

P.S. Au regard du silence des "Barba-Machins" je me dis qu'avec ma grande bouche,
je suis devenu "Persona non grata" sur XLD!!!
Je pense là, que tu te m'éprends, ce n'est pas la façon de faire ici. Regarde la pièce jointe 851022

Je pense surtout que le but de ton appli n'a pas été compris ...

Enfin ce que j'en dis :p

A+ mon cher Yann ;)
 

Pièces jointes

  • jackbauer2.gif
    jackbauer2.gif
    257 bytes · Affichages: 221

fhoest

XLDnaute Accro
Re : Copie Données dans une Feuille via "A.D.O" = Ok, mais dans un TextBox = Echec!

Bonsoir,

@yann56. j'ai du mal a suivre je ne sais pas ce que tu cherches à faire en ce moment pour ton fichier, que cherches tu exactement à améliorer,peux tu éclairer ma lanterne car il fait un peu sombre.
A bientôt.
 

YANN-56

XLDnaute Barbatruc
Re : Copie Données dans une Feuille via "A.D.O" = Ok, mais dans un TextBox = Echec!

Bonjour ou Bonsoir BrunoM45, fhoest, et à ceux qui passeront pas là,

Bruno:
Les modifications, et j'espère améliorations sont en cours.
Compte tenu du peu d'écriture, si l'on passe outre les mises en forme, ce n'est pas compliqué.
Comme tu m'as proposé de m'aider, je te donne l'adresse d'une question que j'ai posée ici:

http://www.excel-downloads.com/forum/184509-probleme-de-temporisation-lors-de-limport-dun-usf-via-vba.html

Elle est liée à l'évolution de mon projet.
Quant à changer l'intitulé de la présente discussion, je dois avouer que l'imagination me manque.

Fred:
Ta remarque est pertinente.
Mais je suis tellement dans mon idée que j'en oublie de préciser les buts.
1) Stocker dans un même Dossier tous les codes que l'on aura pu glaner ou construire.
2) Pouvoir venir y faire une recherche afin d'en faire une copie et les utiliser lors d'une autre construction.
3) Venir aussi pomper des USF d'autres Applis totalement ou simplement certains de leurs contrôles.
(Exemple l'arrière plan des boutons dans l'USF d'accueil qui m'a demandé un certain boulot
que je n'ai pas envie de recommencer...... Il est plus rapide de copier)

Finalité: Je suis hors de chez moi sur un autre PC. vide de mes propres archives.
J'ai mon stockage sur ma clé USB........... Tu imagineras le confort!

Amicalement, et encore Merci à vous deux,

Yann
 

YANN-56

XLDnaute Barbatruc
Re : Copie Données dans une Feuille via "A.D.O" = Ok, mais dans un TextBox = Echec!

Bonjour à ceux qui passeront par là,

Avec l'aide de Bruno,.
http://www.excel-downloads.com/forum/184445-impression-et-apercu-avant-impression-dune-userform.html#post1140137
et celle de Patrick Morange
http://www.excel-downloads.com/forum/184509-probleme-de-temporisation-lors-de-limport-dun-usf-via-vba.html
j'ai bien avancé.

Je peux désormais venir pomper un USF dans ma collection. (Ici il n'y en a qu'un pour l'exemple)
La copie des ses contrôles intéressants n'est plus qu'une manipulation traditionnelle.

Cependant, ne visualisant que les noms des Fichiers ".frm" et ".frx" relatifs aux USF stockés dans la Bibliothèque, ce n'est pas facile de s'y retrouver.

Il serait bien de pourvoir stocké leur tronche dans un Dossier sous forme d'image.

Je patine grave! Je n'y arrive pas.:eek:
(L'exemple propose de passer par la feuille, mais cela est-il indispensable?)

Merci d'avance si quelqu'un peut m'aider.

Amicalement,

Yann
 

Pièces jointes

  • IMPORT_USF_pmo.zip
    15.2 KB · Affichages: 87
C

Compte Supprimé 979

Guest
Re : Copie Données dans une Feuille via "A.D.O" = Ok, mais dans un TextBox = Echec!

Salut Yann,

Pour exporter une copie d'écran il faut utiliser le système du graphique
Je l'ai un peu adapté,
l'enregistrement de l'image ce fait dans C:\Temp (attention sous seven)

Code:
Private Sub CommandButton1_Click()  Dim vWidth, vHeight
  USF_ALERTE.Show vbModeless  ' Cas d'étude avec seulement celui-ci.
  ' Copie d'écran de la forme active
  keybd_event vbKeySnapshot, 1, 0&, 0&
  DoEvents
  ' 1) coller l'image pour prendre ses dimensions
  With ActiveSheet
    .Paste
    With .Shapes(2)
      vWidth = .Width
      vHeight = .Height
      .Delete  ' Supprimer l'image
    End With
  End With
  ' 2) créer un graphique pour pouvoir l'exporter
  With ActiveSheet.ChartObjects.Add(0, 0, vWidth, vHeight).Chart
    .Paste
    .Export "C:\Temp\Test.gif", "GIF"
  End With
  ActiveSheet.ChartObjects.Delete
End Sub

A+
 

fhoest

XLDnaute Accro
Re : Copie Données dans une Feuille via "A.D.O" = Ok, mais dans un TextBox = Echec!

Bonsoir,
effectivement j'étais pas prêt non plus d'y arriver,j'étais parti sur un shell "mspaint" etc... avec un sendkeys mais je n'étais pas encore au bout de la solution d’où le changement d'application au passage de l'appel de mspaint.

encore une méthode d'export que je ne connaissais pas,

@yann56, Génial le fichier il prend forme c'est une source très intéressante.

A bientôt ps j'espère pouvoir t'aider encore mais je serais un peu moins présent car travaux oblige à la maison...AAHH si seulement on pouvait faire une macro pour les travaux...
A+
 

YANN-56

XLDnaute Barbatruc
Re : Copie Données dans une Feuille via "A.D.O" = Ok, mais dans un TextBox = Echec!

Bonsoir Bruno et Fred. :):)

Je suis toujours sur l'élaboration de mon projet de stockage de tous les Modules ou Userforms
créés par soi ou récoltés de-ci de-là.

Pour ce qui est des composants d'une (x) application; le chantier est terminé.

L'enregistrement de la tronche de ses USF l'est aussi.
(Sur ce dernier point, j'ai eu beaucoup à chercher et apprendre quand à la gestion des VBComponents)

J'ai fait, comme d'hab., en passant par la porte de derrière..... (Un classeur commandant un autre)
Cette bidouille est efficace mais pas présentable, et je vais donc m'abstenir de la joindre.

Mon présent boulot est de réunir toutes ces approches dans l'appli.

Par respect pour votre regard et vos aides, je tenais à vous dire où j'en étais.

Je suis tellement enthousiasmé par certains résultats, que je me vois empressé de les partager avec vous.

Amicalement, et à suivre si cela vous, ou autre silencieux:confused:, tente,

Yann
 
Dernière édition:

PMO2

XLDnaute Accro
Re : Copie Données dans une Feuille via "A.D.O" = Ok, mais dans un TextBox = Echec!

Bonjour à tous,

Mon message s'adresse à YANN-56

A partir d'un dossier contenant plusieurs .frm et .frx leur étant associés, j'ai fait un programme qui les monte dans Excel en tant que UserForms pour obtenir leur image dans le dossier.
Ce programme est très compliqué.

Si c'est bien de cela qu'il s'agit dans votre demande et si cela vous intéresse, je peux le faire paraître. J'attends la réponse.
 

YANN-56

XLDnaute Barbatruc
Re : Copie Données dans une Feuille via "A.D.O" = Ok, mais dans un TextBox = Echec!

Bonjour Patrick, Bruno, Fred, et à ceux qui passeront par là,

Patrick, en premier lieu, je constate que tu me vouvoies.
Est-ce du à ton habitude ou à mon âge?:):):) .... Si tu préfères le vouvoiement, je saurai m'y tenir.

J'apprécie ton intervention, et ta proposition d'un programme de ton cru.

Je n'ai aucune doute quant à son efficacité, mais il y une précision qui me fait un peu peur:
Ce programme est très compliqué.
Je n'ai pas fini de mettre au point ma bidouille, et suis toujours avec ces deux Classeurs.
(Ce choix initial m'a permis de faire mes tests sans trop faire gaffe aux variables)

Maintenant je vais regrouper le tout dans le but final;
de l'incorporer au Classeur "ASPIRATEUR" ci-dessus.

Je joins malgré tout, pour information, ce stade actuel qui me semble assez simple.

Je serai attentif à tes remarques, comme à toutes.

Il n'est pas certain que je sache lire ton programme.
Mais peut-être serait-il bien que tu nous le transmettes car beaucoup d'autres que moi
sauront y trouver enseignements ainsi que tu as su m'en apporter.

Amicalement,

Yann

P.S. Important: N'ouvrir que le Classeur "MOTEUR", l'autre n'est qu'un esclave.
 

Pièces jointes

  • IMPORT_23_05.zip
    448.4 KB · Affichages: 89

PMO2

XLDnaute Accro
Re : Copie Données dans une Feuille via "A.D.O" = Ok, mais dans un TextBox = Echec!

Bonjour,

Voilà mon programme compliqué (voir pièce jointe)

Actions
1) Ouvre une boîte de dialogue pour sélectionner le dossier contenant les .frm et .frx
2) Fait une copie du dossier pour préserver l'intégrité du dossier source
3) Applique des traitements
3-1 Enumère tous les fichiers .frm
3-2 Lit les .frm et ne garde que les spécificités du UserForm (propriétés et attributs). Le code du UserForm est donc supprimé
3-3 Importation des UserForms dans le VBE d'Excel
4) Monte et ouvre les UserForms dans Excel et trouve leur Handle
5) Copie l'image des UserForms dans le Presse-papiers. Appelle les routines de Stephen Bullen pour créer les fichiers images
6) Supprime les UserForms du VBE d'Excel
7) Supprime la copie du dossier
8) Affiche une demande de visualition du dossier source dans lequel les images ont été créées

Je n'ai pas fait de traitement d'erreurs. Si un .frx manque en association d'un .frm, le programme plante.
 

YANN-56

XLDnaute Barbatruc
Re : Copie Données dans une Feuille via "A.D.O" = Ok, mais dans un TextBox = Echec!

Re Patrick, et à ceux qui passeront par ici,

On va se lancer dans une sympathique, constructive, et amicale confrontation des méthodes.:p

De la compétition nait la performance!....... N'est-il pas?

Je l'ai bouclé, pour l'instant, sur la boucle des Composants d'une appli,
car je n'ai pas encore osé intégrer la copie de leur Image par suite d'un "Clic" sur le bouton
"AJOUTER UN ENREGISTREMENT" de l'exemple "ASPIRATEUR_11_05" qui le fait.

C'est là où je rame par manque de bien savoir manipuler VBA, et par prudence pour ne pas tout casser!

J'y vais progressivement, et maintenant avec un chalenge de plus: :)
Te damer le pion en divisant par au moins 10 le nombre de lignes,
et en multipliant par autant l'accessibilité pour les néophytes comme moi.

Le partage sur XLD prend ici son vrai sens, et je m'en réjouis!

Merci sincère pour ce performant fichier que tu nous as joins.

A plus tard, je l'espère.

Amicalement,

Yann
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG