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!

Re
Je garde toujours l'espoir qu'un adepte de la méthode ADO
sache me proposer une solution plus rationnelle.

En l'instant, j'ai détourné le problème avec ce que je voulais éviter.

Qu'importe! Nous n'en sommes qu'à des millisecondes.
Si cela peut servir à quelqu'un, je joins le nouveau Classeur dont le code modifié ainsi:
Code:
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)
Application.ScreenUpdating = False
   Worksheets("RECUP").Range("A1").CopyFromRecordset Rst
     With ActiveSheet
       .Range(Cells(1, 1), Cells(.Cells(65536, 1).End(xlUp).Row, 1)).Copy
             With Me.TextBox1: .Text = "": .Paste: .SetFocus: .SelStart = 0: End With
          .Cells(1, 2).Copy ' Equivalent à vider le Presse-papiers, car vide!
          .Columns("A:A").ClearContents
     End With
  Cn.Close
  Set Cn = Nothing
Application.ScreenUpdating = True
End Su
b

Le monologue vous pousse aussi à chercher! N'est-il pas?

Amicalement,

Yann
 

Pièces jointes

  • ASPIRATEUR_1.xls
    36.5 KB · Affichages: 119

BOISGONTIER

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

Bonsoir,

On peut accéder aux lignes d'un recordset avec

Code:
 Do While Not rs.EOF
    x= rs!Nom
    y= rs!ville
    rs.MoveNext
  Loop

ou

 Do While Not rs.EOF
    x= rs.Field(0)
    y= rs.Field(1)
    rs.MoveNext
  Loop

JB
 

YANN-56

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

Merci JB d'avoir regardé et de m'avoir répondu, :):):)

Je dois avouer que mes petites connaissances ne me permettent pas de tout comprendre,
et encore moins de savoir adapter ce que tu me dis à mon Classeur joint ci-dessus.

Code:
Do While Not rs.EOF
    x= rs.Field(0)
    y= rs.Field(1)
    rs.MoveNext
  Loop

me serait sans doute plus accessible, mais EOF correspond à quoi?

Peut-être pourrais-je avancer avec des commentaires. Si tu repasses par là, et si tu en trouve le temps.

En toutes les façons, je te dis Merci.

Amicalement,

Yann

P.S.
Oserais-je abuser en te demandant d'incorporer ta suggestion à mon Classeur?
 

YANN-56

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

Merci Michel :eek: pour cette précision bien utile à un néophyte comme moi,

Je vais tenter le coup pas à pas, et ne manquerai pas d'en donner les résultats.

A plus tard, si tu repasses par là

Amicalement,

Yann
 

YANN-56

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

Re à BOIGONTIER, Michel, et à ceux passant dans cette discussion,

En dessous de ma signature en Bleu; j'ai mis:
"Il en vaut de même des Classeurs exemples que des croquis qui valent mieux qu'un long discours!"

Je le demande aux questionneurs, et je m'y efforce par mes exemples quand je tente d'aider.

En cet instant, je dois abandonner car je constate que je ne suis pas de taille à adapter vos aides!

Merci cependant pour me les avoir si aimablement proposées.:)

Amicalement, et au plaisir de vous croiser sur autre sujet.

Yann
 

ChTi160

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

Bonsoir Yann
Bonsoir le Fil
Bonsoir Le Forum

Arrff je n'ai pas encore regardé Le fichier exemple Lol

Mais voici ce que j'ai pense faire , pour Importer les données ainsi récupérées par (ADO) dans une listView
ceci n'est qu'une Idée non testée

Code:
Dim LstVItem As ListItem

With Me.ListView1
Do While Not rs.EOF
     Set LstVItem = .ListItems.Add(, , " & rs.Field(0) &")
       Do While Not rs.EOF
  With LstVItem
          For y = 1 To 4
                 .ListSubItems.Add , , rs.Field(y) 'voir s'il faut isolée la variable rs.Field("& y &")" par exemple
          Next y
                    rs.MoveNext
  End With
     Loop
End With
s'il on veut ajouter des Tag aux ListItems de la listView une boucle sur les lignes de la ListView ,peut peut être suffire
Bonne fin de Soirée
Amicalement
Jean Marie
 
Dernière édition:

YANN-56

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

Crévindiou, Jean Marie....... Que je suis heureux de t'entendre!!!!!! :):):)

Notre ami "Habitude" m'avait aiguillé sur cette méthode de remplissage
ultra rapide d'une ListView, cependant je me trouvais limité aux Items apparents de cette dernière.

Ce que tu me montres est, de mémoire, bien plus simple, et ne semble pas avoir ce genre de limite.

Je vais voir s'il est possible de charger mon TextBox ainsi, mais je ne suis pas coutumier de cette bébête!

Quelque chose me dit que la vérité n'est pas loin!

L'amitié est, en tous les cas; là....
Grand Merci à toi,

Yann, qui n'a pas fini de bosser sur ce sujet.
 

fhoest

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

Bonjour à tous
@ yann56
Code:
'Worksheets("RECUP").Range("A1").CopyFromRecordset rst
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++Ici: C'est l'Echec!!!!
Do While Not rst.EOF
Me.TextBox1.Text = Me.TextBox1.Text & vbCrLf & rst.Fields(0)
rst.MoveNext
Loop
   'UserForm1.TextBox1=.CopyFromRecordset Rst ' Rien ne fonctionne!
      '    Me.TextBox1.text=.CopyFromRecordset Rst
' +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Voilà pour toi
Au plaisir.
 

YANN-56

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

Bonsoir à ceux qui passeront par là, ou Bonjour suivant l'heure,

Merci BOISGONTIER, Michel, Jean Marie, Fred, et aux XLDNautes qui m'ont tant appris.:):):):):)

Voici, ci-joint, la mise en application de vos aides, dont celle de Fred en a été l'aboutissement.

Comme je l'avais dit dans ma question; le but final était de récupérer le contenu d'une page,
et le mettre dans le tag des Items d'une ListView.

La seule contrainte est cependant:
Avoir toujours le même nom de feuille (CODE) dans les Classeurs contenus dans la base de données.
(Quant au répertoire cible, chacun verra à sa façon)

Cela fonctionne à merveille chez moi, et la rapidité est plus que satisfaisante!

Moralité: "Sans l'entraide XLD; on n'aurait pas fini de remonter les boulevards de VBA"

Plein de bonnes choses à vous et courage pour la reprise, avec les jambes lourdes par suite du défilé!:rolleyes:

Amicalement,

Yann
 

Pièces jointes

  • MES_CODES.zip
    25.5 KB · Affichages: 107
  • MES_CODES.zip
    25.5 KB · Affichages: 102
  • ASPIRATEUR_2.xls
    58 KB · Affichages: 126
  • MES_CODES.zip
    25.5 KB · Affichages: 110

YANN-56

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

Bonsoir Fred:), et à ceux qui passeront par ici,

Effectivement, j'ai entamé cette bidouille par suite du Fil de Lone-wolf.
(Qui n'a pas su, daigné lire ou répondre aux M.P. que je lui ai adressés à ce sujet :confused:)

J'ai été mis "Hors-course" par l'enthousiasme des participants au regard de ses adaptations!
(Je n'ai pas dit "Dédain" quant aux essais que j'y ai posté...... Bien que!..... Et d'où ma petite fâcherie :p)

Dans l'ensemble que je suis en train de construire; il y a deux étapes:
1) Récupération des Codes que l'on aura pu écrire dans telle ou telle application. (Ce truc est fait et convient)
2) Visualisation de ceux-ci mis dans une Bibliothèque personnelle. (Itou, sauf une sélection par Mot trouvé)

Ces deux fonctions ne sont pas encore réunies dans mon chantier!

Actuellement, je tente de faire un "InStrRev(RECUP.Fields(0)" pour faire une recherche par "MOT" choisi.

Le résultat n'est pas concluant, sinon erroné.......... Je vais voir du coté "Find"

En tous les cas, je remercierai Lone-wolf de m'avoir inspiré cette idée.

Comme à ceux, comme toi, qui me permettent d'avancer.

Amicalement, et à suivre....

Yann

P.S.
Je joins mon chantier en l'état pour qui aura envie de s'y amuser.
Attention! Mon "GetDetailsOf" n'est valable que pour "XP"!
Je n'ai pas encore fait l'adaptation pour "SEVEN"
 

fhoest

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

Re,
personnellement je préfère le like avec une option compare text pour trouver les mots que je recherche dans mes applications
on peut y insérer des "*" devant le mot chercher et "*" derrière
je ne connais pas plus que ça le langage sql très puissant,mais j'avoue que toutes les appli pro du boulot tourne a partir de base sql et de ce code
un jour peut etre je serait me débrouillé avec ce langage en attendant j'ai appris quelques chose de plus grâce a ton fil
je suis de prêt comme toujours et si toute fois comme d'habitude j'ai une idée je n'hésiterai pas
A bientôt et au plaisir.
Fred.
 

YANN-56

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

Re Fred,

Tu es toujours aussi sympa et motivant :)....... Merci.

Je viens de m'apercevoir que j'ai omis de joindre mes Fichiers dans le précédent Post.

Je rectifie donc ici.

Amicalement,

Yann
 

Pièces jointes

  • MES_CODES.zip
    25.9 KB · Affichages: 107
  • ASPIRATEUR_3.xls
    73 KB · Affichages: 144
  • MES_CODES.zip
    25.9 KB · Affichages: 111
  • MES_CODES.zip
    25.9 KB · Affichages: 111

Discussions similaires

Statistiques des forums

Discussions
312 166
Messages
2 085 886
Membres
103 018
dernier inscrit
mohcen23