[Résolu] Formulaire présentant les divers macros vba excel

Lone-wolf

XLDnaute Barbatruc
Bonsoir le Forum,

tout d'abord je tiens à remercier les auteurs de ces macros.

Pierrot93, Roger2327, JNP, Hulk, carcharodon-carcharias, Philippe68, Jacques Boisgontier, Dranreb, phlaurent55,CISCO, MJ13, BrunoJeune, tototiti2008, Job75, Efgé, JCGL, paritec, rondebruin, Habitude, James007, Staple1600, fhoest, Michel Vergriete, BrunoM45, YANN-56, dj-joss; et oui il y en a du monde qui ma aidé :D et j'épère en avoir pas oublié. :rolleyes: :eek:

Voilà, j'ai crée deux formulaires; le premier avec les différentes rubriques, le deuxième affiche le code vba.
Bien entendu, il y en a qu'une partie, mais si le coeur vous en dit, vous pouver le faire grandir en y insérant d'autres codes. Attention, ces codes ne doivent pas être très long, vu la hauteur maximale d'une cellule est de 490px et j'ai du en supprimer quelques-uns qui ne s'affichaient pas complètement dans la textbox.

Attention: modifier le chemin de l'icône que j'ai rajouté.

Mode d'emploi(Facile): faites votre choix dans la liste déroulante, cliquez sur Afficher; laissez le 2ème formulaire ouvert et continuez.





A+ :cool:
 

Pièces jointes

  • Nouveau dossier.zip
    62.8 KB · Affichages: 244
  • Nouveau dossier.zip
    62.8 KB · Affichages: 248
  • Nouveau dossier.zip
    62.8 KB · Affichages: 249
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : Formulaire présentant les divers macros vba excel

Merci Amilo pour ce retour,

Je ne suis pas à la veille de me mettre sur 2010, et encore moins en 64 Bits!!! :eek:

Avec tout ce que j'ai pu lire à ce sujet; je vais attendre que le bateau cesse de tanguer!

Bon courage pour le boulot,

Amicalement,

Yann
 

Lone-wolf

XLDnaute Barbatruc
Re : Formulaire présentant les divers macros vba excel

Yann, la combo affiche seulement Rubrique.

Edit: Une solution concernant la copie sans Ctrl+C

Dans un module:
Code:
Sub Copie()
With UserForm1.TextBox1
    .SetFocus
    .SelStart = 0
    .SelLength = Len(UserForm1.TextBox1.Value)
    .Copy
End With
End Sub

Image1> Call Copie

A+ :cool:
 
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : Formulaire présentant les divers macros vba excel

Bonsoir Lone-wolf, ou Bonjour suivant l'heure,

Bien vu pour le ".Copy". J'ai assuré avec un vieux truc sans réfléchir! :p

Pour le reste:
Je pense que l'emplacement du Dossier "CODES_VBA" et du Classeur "MES_CODES", n'est pas bon!

Tu les mets sur le bureau (Séparément), et tu testes.

Amicalement, et à demain si tu le veux,

Yann
 

Lone-wolf

XLDnaute Barbatruc
Re : Formulaire présentant les divers macros vba excel

RE YANN,


Voici le code de mon UserForm au complet testé et fonctionnel, mise à part l'impression pour les macros qui contiennent le mot (suite).

Code:
Option Explicit
 
Private Declare Function FindWindowA& Lib "User32" _
    (ByVal lpClassName$, ByVal lpWindowName$)
Private Declare Function EnableWindow& Lib "User32" _
    (ByVal hWnd&, ByVal bEnable&)
Private Declare Function GetWindowLongA& Lib "User32" _
    (ByVal hWnd&, ByVal nIndex&)
Private Declare Function SetWindowLongA& Lib "User32" _
    (ByVal hWnd&, ByVal nIndex&, ByVal dwNewLong&)

Private Sub UserForm_Initialize()
  Dim i, Cpt
  Sheets("Data").Activate

'Evite de comptabiliser les macros qui contiennent le mot (suite), sinon 109 au lieu de 100 est affiché
Cpt = Application.CountA(Range("A2:A65536")) - Application.CountIf(Range("A2:A65536"), "*suite*")
  


   With Me.ListView1
      For i = 2 To Worksheets("Data").Cells(65536, 1).End(xlUp).Row
        .ListItems.Add , , Worksheets("Data").Cells(i, 1).Value
        .ListItems(.ListItems.Count).Tag = i  'Le numréro de la ligne
        .HideColumnHeaders = True
        .ColumnHeaders.Add , , , 185, lvwColumnLeft
      Next i
      Me.Nbr.Caption = Cpt & " Codes VBA-Excel"
 End With
 
  Dim hWnd As Long
    
    hWnd = FindWindowA(vbNullString, Me.Caption)
    SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) Or &H20000
 
 
  Dim Fichier As String
    Dim x As Long
    
    Fichier = ThisWorkbook.Path & "\vba.ico"
    x = Len(Dir(Fichier))
    If x = 0 Then Exit Sub
    
    x = ExtractIconA(0, Fichier, 0)
    SendMessageA FindWindow(vbNullString, Me.Caption), &H80, False, x
End Sub

Private Sub UserForm_Activate()

  Dim hWnd As Long
    
    hWnd = FindWindowA("XLMAIN", Application.Caption)
    EnableWindow hWnd, 1
End Sub

Private Sub ListView1_AfterUpdate()
Call tri
End Sub


Private Sub ListView1_Click()
Application.ScreenUpdating = False
Me.Label1.Caption = Me.ListView1.SelectedItem.Text
Me.TextBox1.Value = Worksheets("Data").Cells(Me.ListView1.SelectedItem.Tag, 2).Text
Me.TextBox1.SetFocus
Application.ScreenUpdating = True
End Sub

Private Sub Copier_Click()
Dim i
With Me.TextBox1
    .SetFocus
    .SelStart = 0
    .SelLength = Len(Me.TextBox1.Value)
    .Copy
End With
End Sub

Private Sub Imprimer_Click()
  Dim DWord As Object, Fichier$, c
  Fichier = ThisWorkbook.Path & "\Codes-Docs\" & Me.Label1.Caption & ".doc"
  Set DWord = New Word.Application
  For c = 1 To 1
  DWord.Documents.Add
  DWord.Selection.TypeText Me.TextBox1.Text
  DWord.ActiveDocument.SaveAs Fichier
  DWord.ActiveDocument.Close
  Set DWord = Nothing
  Next c
End Sub

Private Sub Fermer_Click()
Unload Me
End Sub

Sub tri()
Sheets("Data").Activate
Range("A1:B65536").Select 
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom 
Range("A1").Select
End Sub


Bonne nuit mon cher :cool:


Amicalement
Lone-wolf
 

MJ13

XLDnaute Barbatruc
Re : Formulaire présentant les divers macros vba excel

Bonjour à tous

Bon j'ai repris le dernier fichier de Yann et j'ai ajouté ce que je pense qui ferait sympa. Avec une zone de recherche de mot clé dans la liste et une zone en dessous pour rajouter des codes, voire modifier un code à partir de ceux qu'on peut afficher au dessus.

Vous voyez si vous avez le temps de vous en inspirer, on n'est pas pressé :eek:.

Merci et bon courage :).
 

Pièces jointes

  • MES_CODESV2.xls
    80.5 KB · Affichages: 103

13GIBE59

XLDnaute Accro
Re : Formulaire présentant les divers macros vba excel

Bonjour le forum,

Félicitations à tous les contributeurs de cette discussion. J'ai enregistré le fichier, tellement il est beau et utile...

Cela dit, pourquoi ne pas utiliser Mz Tools, pour la même finalité ? (Voir pièce jointe)

Merci encore à tous.
 

Pièces jointes

  • Mz Tools.jpg
    Mz Tools.jpg
    152.7 KB · Affichages: 118

YANN-56

XLDnaute Barbatruc
Re : Formulaire présentant les divers macros vba excel

Bonjour Lone-wolf, MJ13, et à ceux qui passeront par là,

Lone-wolf:
- Il aurait été plus compréhensible d'avoir ton nouveau Fichier.
- Tu restes dans l'idée d'avoir ta base dans le Classeur maître.
- Tu masques l'entête de la ListView qui pourrait être utile pour en inverser le tri en cliquent dessus.
- J'ai mis l'imprimante car je n'avais pas autre image immédiatement sous la main.
Mon idée n'était que la mise en mémoire et non l'impression dont je ne vois pas l'utilité.
- De venir faire un tri Alpha dans la feuille me semble inutile, car la ListView le fait d'elle-même.

Le reste est à ta convenance, et il est souvent bien de persévérer dans ses idées.
Si j'ai pu t'aider sur l'un ou l'autre des points, j'en suis ravi.

MJ13:
Ta suggestion de recherches par "Mot-clé" est effectivement à suivre.
On peut aller très loin dans ce sens:
1) Dans les Intitulés des Macros (Ceux contenus dans la ListView)
2) Dans toutes les Macros répertoriées mises en mémoire dans le tableau virtuel "SELECTION_1" et autres
pouvant être ajoutés si l'on a subdivisé la collection de codes dans différents Sous-dossiers.

Je vais regarder dans ce sens avec un "Find" dans le tableau virtuel.

Amicalement, et à plus tard,

Yann

P.S. à 13GIBE59
Je viens de voir ton Post
Voici deux fois que l'on me parle de "Mz Tools" je ne sais pas trop de quoi il en retourne. Je vais fouiner.
" J'ai enregistré le fichier, tellement il est beau et utile..." soit à mon attention ou celle de Lone-wolf...... Merci.
 

YANN-56

XLDnaute Barbatruc
Re : Formulaire présentant les divers macros vba excel

Clin d'œil à 13GIBE59 relatif à " La modestie est la housse du talent (V. HUGO) "

Ado; j'aimais écrire mes pensées sur un carnet à spirale.
En y fouillant un grand nombre d'années après, j'ai bien aimé celle-ci:
"Je n'ai pas les moyens d'être modeste"
A méditer si l'on veut. Mais pour moi c'est le comble de la modestie.:)

Victor Hugo aurait aussi sévi avec ceci:
L’expérience est une lanterne que l’on porte sur le dos et qui n’éclaire jamais que le chemin parcouru.
Proverbe chinois attribué à Confucius et plagié, s'il est vrai, par Victor Hugo.

J'ai de tout temps mis cette lanterne sur mon torse, car elle m'aidait à avancer. (Yann dixit)

Amicalement et pour le sourire.

Yann
 

Lone-wolf

XLDnaute Barbatruc
Re : Formulaire présentant les divers macros vba excel

Re YANN,

le tri alpha je l'ai laissé par-ce que avant je n'avais pas de ListView; et je ne savais pas que celle-ci triait automatiquement. Avoir l'entête juste pour le tri-inverser, n'est pas vraiment utile dans ce cas. L'idée d'afficher les macros par thèmes ça oui.

Et comme je suis nul en VBA, faire un travail qui nous appartient est beaucoup plus gratifiant que si il venait de quelqu'un dautre; ou je me trompe. Là j'ai à l'idée d'y ajouter, soit une barre de menu personnalisée oubien une serie de boutons, mis les uns sur les autres à côté de la textbox, comme on le vois sur certais sites.


A+ :cool:


Amicalement
Lone-wolf
 

13GIBE59

XLDnaute Accro
Re : Formulaire présentant les divers macros vba excel

Pour Yann :

P.S. à 13GIBE59
Je viens de voir ton Post
Voici deux fois que l'on me parle de "Mz Tools" je ne sais pas trop de quoi il en retourne. Je vais fouiner.
" J'ai enregistré le fichier, tellement il est beau et utile..." soit à mon attention ou celle de Lone-wolf...... Merci.

Mz Tools est un petit utilitaire -gratuit, donc je n'ai aucune action...- qui s'installe directement dans l'éditeur vba en créant une deuxième barre d'outils (voir PJ).

C'est bourré de petites choses utiles (en vba) que je te laisse découvrir...
 

Pièces jointes

  • Barre Mz Tools.jpg
    Barre Mz Tools.jpg
    85.8 KB · Affichages: 90

YANN-56

XLDnaute Barbatruc
Re : Formulaire présentant les divers macros vba excel

Re,
d'afficher les macros par thèmes ça oui.
D'où ma proposition initiale d'avoir une subdivision dans le Dossier servant pour le stockage des Codes.

Comme tu as refusé d'adopter le principe d'un Fichier externe au "MOTEUR",
je ne pense pas que mes solutions puissent te convenir!

Et comme je suis nul en VBA
Tu cherches un compliment; là? Non? ........ J'ai vu ce que tu sais faire!!!

faire un travail qui nous appartient est beaucoup plus gratifiant que si il venait de quelqu'un d'autre
Et bien moi, je suis un vieux débutant qui écoute ce qu'on lui dit, qui apprend et adapte par la suite.

Quitte à reconstruire, par ailleurs, une bidouille à ma sauce!......
Mais toujours hors de la discussion en cours, si je m'éloigne trop et passe outre ce que l'on m'a proposé!

Amicalement, et bonne suite à toi dans ton projet.

Yann

P.S. Je vais poursuivre de mon coté et voir à répondre à l'idée de MJ13
 

Lone-wolf

XLDnaute Barbatruc
Re : Formulaire présentant les divers macros vba excel

Re Yann,

j'ai enregistré le fichier de MJ, plus de problème concernant la listview, par contre rien ne fonctionne et le formulaire est trop grand par à rapport à la résolution d'écran (Ecran HP - 1900x1600).

Je met le lien du fichier; si tu pourrait me donner un compte rendu de celui-ci, ça serait sympa. Et surtout, ne t'acharne pas sur l'éfficacité(ou sur les nombreuses possibilités). ;)


Aide-Mémoire


A+ :cool:


Amicalement
Lone-wolf
 

Lone-wolf

XLDnaute Barbatruc
Re : Formulaire présentant les divers macros vba excel

Non Yann, là je ne cherche aucun compliment. J'ai dit ça, par-ce que je suis incapable de faire un code comme toi tu l'a fais sur le fichier. Moi aussi j'écoute, mais me demandé de soulever 100kg quand j'arrive à peine à en soulever 20, là il faut être trèèèèèèèèèès fooooooooorrrrrrrtttt. A moins que je ne parle pas le même français que toi, et c'est pour celà que l'on se comprends pas.

A+ :cool:


Amicalement
Lone-wolf
 

YANN-56

XLDnaute Barbatruc
Re : Formulaire présentant les divers macros vba excel

Bonsoir Michel :)et à tous,

Ci-joint:
Just' une approche de la recherche.
Attention! Il n'y a pour l'instant aucun barrage aux manques ou erreurs.

Il est donc indispensable d'avoir sélectionné préalablement la rubrique "TEST"

Dans le TextBox, il n'est pas nécessaire de se préoccuper des Minuscules ou Majuscules;
cela fonctionne dans tous les cas.......... Il restera à voir la question des accents.

L'œil est l'image qui va fouiller.

Amicalement, et à plus tard,

Yann
 

Pièces jointes

  • MES_CODES_1.xls
    81 KB · Affichages: 80

Statistiques des forums

Discussions
311 720
Messages
2 081 892
Membres
101 831
dernier inscrit
gillec