[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:

MJ13

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

Bonjour à tous

Lone: J'ai regardé ton dernier fichier Aide-mémoire, c'est beau :).

Mais il faut continuer. Créer une application ne consiste pas à faire une liste, mais de voir dans l'avenir de l'apllication. Par contre c'est très bien d'avoir déjà une liste de 100 codes dés le départ. C'est ce que j'appelle une bonne pensée :eek:.

Yann: Ton dernier fichier est très bien :). Mais j'entrevoyais dèjà la possibilté d'avoir des sous dossiers avec des codes provennant de différentes personnes du forum par exemple. Il va donc falloir tout de suite penser à la recheche soit dans tout, soit dans un seul dossier (c'est peut-être un peu difficile à comprendre:confused:) . C'est pas grave laisse tomber. Mais je pense que si tu ajoutes au moins la possibilité d'incorporer des nouveaux codes, la tu auras une appli digne de ce nom :).

On pourrait même créer un dossier nommé Formules pour y mettre des ........ Formules, bravo, il y en a qui suivent :eek:.

Bonne continuation. Je serais le béta testeur :).
 
Dernière édition:

Lone-wolf

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

Bonjour MJ,

merci pour les compliments. :eek:

J'ai ajouter les catégories dans le fichier (chez moi); mais, mis à part de supprimer les doublons dans une combobox(code que j'ai trouvé sur Silkyroads et les codes que j'ai vus ici), je n'arrive pas à faire le lien entre les deux.


A+ :cool:

Amicalement
Lone-wolf
 

VIARD

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

Bonjour Lone et à tous

Felicitations et compliments pour ton projet.
Il vaut vraiment le détour, un petit click et hop on a le code.
Bonne idée, plutôt que d'avoir ses codes dispersés dans des classeurs papiers.
Bon l'un empèche pas l'autre.

Salutation

Jean-Paul
 

YANN-56

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

Bonjour à tous,

Je dois avouer que je suis un peu perdu, car je ne sais plus de quel Fichier vous parlez!

Il y a la méthode de Lone-wolf avec ses données dans une Feuille du Classeur maître,
et la mienne faisant une recherche dans une base de données externe.

Il serait inutile que je poursuive avec celle de notre ami,
car mes codes ne seraient pas compatibles avec sa structure.

Merci de me le dire.

Rassurez-vous, je ne serai pas vexé de bidouiller seul dans mon coin. :)

Amicalement,

Yann
 

Victor21

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

Bonjour à tous.

@ loup solitaire : Très intéressant : je prends :)
@ YAN-56 : Suggestion : tu peaufines, et tu nous fais partager à l'occasion de tes premiers 2000 :)
L'idée de MJ13 (Bonjour, Michel :) ) laisse en effet entrevoir plein de possibilités pour le classement.
 

YANN-56

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

Bonsoir Victor et à tous,

Non! Je ne vais pas poursuivre...


J'ai trouvé une solution qui convient mieux à mon usage personnel,
mais qui ne peut pas être partagée.

J'ai regroupé dans un Dossier "MES_APPLIS" toutes celles de mon cru depuis 6 ans.
(Il n'y en a pas une caisse, car je n'ai gardé que celles abouties)

Comme je me suis toujours appliqué à donner des noms explicites à mes USF et modules,
il m'est facile de les repérer et d'en extirper ce dont j'ai besoin.

Les codes intéressants pompés de-ci delà je les colle dans un Word type.
En première ligne: un Signet qui va me servir à coller " Sub xxxxxxxxxxxxx()"
dans la propriété "Commentaires" (Où l'on dispose de 255 caractères) du nouveau Document que je vais créer.

Tout ceci via VBA pour gagner du temps.

Par la suite, avec un petit Moteur de recherche; je vais pouvoir dresser la liste de mes ".doc"
et visualiser leur première ligne.

Je ne l'ai pas fait, mais il serait possible de mettre une rubrique dans les "Titres" permettant de les sérier,
et de les ventiler dans l'un ou l'autre des Sous-dossiers.

Voilà concernant le partage.

Quant à la notion de Recherche avancées par MJ13,
elle existe par l'image représentant un œil dans ma dernière version.

Je ne doute que Lone-wolf sera l'adapter à son projet,
et peaufiner en ajoutant une recherche dans le contenu des codes.

Bonne continuation à tous, avec mes vœux de réussite dont je ne doute.

Amicalement,

Yann

P.S.
En 2000 j'ai eu 50 ans! Je n'ose pas penser à l'âge que j'aurai pour mes 2000. :)
 

Lone-wolf

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

Bonjour à tous,

je sollicite votre aide pour m'aider à résoudre ce problème, j'ai avancé un peu sur la construction du fichier, et là je me trouve coincé. Je n'arrive pas a faire la liaison entre la combo et la listeview.

Si quelqu'un veut bien m'aider. Merci d'avance.

PJ: Aide-Mémoire

Edit: j'aimerais aussi adapter un codage comme celui-ci:

Code:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 Then
    Rows(Target.Row).Copy Destination:=Feuil2.Range("A1")
End If
End Sub

A+ :cool:

Amicalement
Lone-wolf
 
Dernière édition:

MJ13

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

Bonjour à tous

Lone: J'ai fait un test en remplaçant la listview par une listbox qui reçoit la liste des rubriques et en faisant un filtre élaboré sur ton fichier codes.xls.

Voici le fichier à remplacer dans le sous-dossier code et le code pour l'USF. Remplace la listview par une listbox et ajoute ce code (mais il faudra que le fichier code.xls soit ouvert) :confused:. C'est juste un exemple pour te montrer la marche à suivre. Il faudra adapter la liste dans la zone d'extraction Rubique au nombre de lignes extraites (je ne l'ai pas programmé) :).

Code:
Private Sub Categories_Change()
Workbooks("Codes.xls").Sheets("DATA").Cells(2, 5).Value = Me.Categories.Value
Application.Run "Codes.xls!MAJ"
Me.ListBox1.RowSource = "Rubrique"
End Sub
 

Pièces jointes

  • Codes.xls
    92.5 KB · Affichages: 87
  • Codes.xls
    92.5 KB · Affichages: 85
  • Codes.xls
    92.5 KB · Affichages: 84

toune21

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

Bonsoir à tous,

Bonjour à Tous.
Le problème de la ListView du fichier de Yann est résolu.
En fait c'est ce problème qu'il y a actuellement avec les Mises à jour de Windows.
J'ai pu résoudre mon problème grace à un Post de Hulk

J'avais déjà le fichier de Lone.
J'ai un fichier avec une ListView que je viens de tester et qui ne fonctionne pas. Comme vous j'ai eu les 11 mises à jour de windows.
Donc j'ai fait la procédure donnée par Regueiro, j'ai redémarrer mon micro et je vous joints les 2 erreurs :mad: que j'ai avec mon fichier.

Pourriez vous m'aider.
Je ne plus me servir de mon fichier, et je ne pourrai pas voir ce que avez améliorer sur les Codes VBA.
Merci d'avance.
 

Pièces jointes

  • 2ème Capture.JPG
    2ème Capture.JPG
    39.8 KB · Affichages: 110
  • 1ere Capture.JPG
    1ere Capture.JPG
    17.2 KB · Affichages: 125
  • 2ème Capture.JPG
    2ème Capture.JPG
    39.8 KB · Affichages: 109
  • 1ere Capture.JPG
    1ere Capture.JPG
    17.2 KB · Affichages: 121
  • 2ème Capture.JPG
    2ème Capture.JPG
    39.8 KB · Affichages: 98
  • 1ere Capture.JPG
    1ere Capture.JPG
    17.2 KB · Affichages: 115

Lone-wolf

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

Bonsoir JM, toune,

@JM : désolé Jean-Michel :eek:, je comprend que ce soit un exemple, mais ce n'est pas ce que je cherche. Tu conviendra qu'avoir le classeur Codes ouvert pendant une recherche, c'est génant; et sa m'embête de devoir modifier tout le code à cause de la ListBox.

@toune: Sorry, I can not help you. :eek:


A+ :cool:


Amicalement
Lone-wolf
 

MJ13

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

Bonjour à tous

@JM : désolé Jean-Michel :eek:, je comprend que ce soit un exemple, mais ce n'est pas ce que je cherche. Tu conviendra qu'avoir le classeur Codes ouvert pendant une recherche, c'est génant; et sa m'embête de devoir modifier tout le code à cause de la ListBox.

Lone: Mais au contraire, il faut suivre ton chemin. C'est comme cela que tu trouveras la lumière :eek:.

Toune21: Tout est rentré dans l'ordre, Ouf :).

Yann: C'est quand même bête d'arrêter en si bon chemin. Tu avais 90 % de ton appli. Il ne manque plus que l'insertion de codes dans la base. Mais bon, c'est pas grave. Bonne continuation :).
 

YANN-56

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

Bonsoir Michel:), aux participants, et à ceux qui passeront par ici,

Yann: C'est quand même bête d'arrêter en si bon chemin. Tu avais 90 % de ton appli. Il ne manque plus que l'insertion de codes dans la base. Mais bon, c'est pas grave. Bonne continuation .

Je suis en train de bidouiller une appli répertoriant tous les codes des Classeurs (Appli) que l'on aura choisis
dans une liste après recherche sur son propre Ordi.
Les Codes: " ActiveWorkbook, Feuil1, Module1, Module2, CACHER_BANDE_BLEUE par exemple" .... Et c.
seront rédigés dans un, ou des Classeurs, et ventilés dans tel ou tel Sous-dossier suivant un choix proposé.

Les nouveaux Classeurs, voire Sous-dossiers seront créés automatiquement si besoin.

Parallèlement, il sera possible d'en faire de même avec des codes sélectionnés sur XLD ou ailleurs,
avec en prime la mise en mémoire du lien dans les propriétés simples du nouveau Classeur.
Ce qui permettra de retourner facilement là où l'on l'a trouvé puisque ce lien sera dans la ListView.
Il en va de même pour accéder à des pdf idoines issus de "Developper.com" (Par exemple)
que l'on aura téléchargé.

Par la suite le Moteur de Recherche dans la Base de Données
sera du même tonneau que celui que j'ai proposé ci-dessus.... Désolé pour les Fonds spectaculaires!


Au regard de l'enthousiasme collectif pour la méthode de Lone-wolf
Notamment celui de Victor 21:
@ loup solitaire : Très intéressant : je prends

Mon respect pour le loup qui a eu l'art de se personnaliser mes codes,et ma modestie à ne pas vouloir imposer ma façon de faire m'amènent à être discret.
Je n'en suis pas à 90% mais à 10, en cet instant.

Aussi je déposerai mon résultat que lorsqu'il sera suffisamment élaboré.
Ici peut-être? Bien que j'en doute par crainte de traductions par un "Pompiste" irrespectueux.

De toute façon j'ouvrirai une nouvelle discussion sur XLD
avec je ne sais quel motif; pour savoir s'il est utile de persévérer dans ma bidouille.

Amicalement à tous, et pardon pour toutes ces lignes,

Yann
 

Fo_rum

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

Bonsoir

je sollicite votre aide pour m'aider à résoudre ce problème, j'ai avancé un peu sur la construction du fichier, et là je me trouve coincé. Je n'arrive pas a faire la liaison entre la combo et la listeview.

Si quelqu'un veut bien m'aider. Merci d'avance.

vois si le fichier joint peut t'inspirer.
Je ne comprends pas ce que tu entends par "adapter un code comme ..." !
Il y a quelques uns des codes retenus à revoir (par exemple, avec 2010, je ne sais pas si c'est le cas avec une version inférieure, l'appel récursif avec certaines évènementielle bloque le système).
 

Pièces jointes

  • Combo&ListView&TextBox.xls
    181 KB · Affichages: 94

Lone-wolf

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

Bonjour Fo_rum, plaisir de te revoir :D

Merci infiniment pour ton intervention. Il y a juste une chose à corriger c'est le Cpt.

Comme tu as pu le voir, beaucoup de rubriques porte le nom de part1 - part2 - part3 et celles-ci il ne faut pas les compter, parce-qu'elles font partie du code principal. Les codes inscrits sont 100, c'est pour celà que j'avais la ligne:

Cpt = Application.CountA(Range("A2:A65536")) - Application.CountIf(Range("A2:A65536"), "*part*")

Tu voudrais bien corriger s'il te plaît?

Je ne comprends pas ce que tu entends par "adapter un code comme ..." !

Ce que je voulais dire, on clique sur l'image Excel, le classeur qui se trouve dans le sous-dossier s'ouvre, on y introduit les nouveaux codes et le classeur où il y a le formulaire les copies; ceci dans le cas d'un problème quelquonque. On ne touche pas au classeur du formulaire. Et le plus important c'est sans tous ces SELECT. Je ne sais pas si je me suis bien expliqué.

Quand à moi j'ai réussi à moitié pour la liaison.

Code:
Option Explicit
Private Declare Function FindWindow& Lib "User32" Alias "FindWindowA" _
(ByVal lpClassName$, ByVal lpWindowName$)
Private Declare Function SetWindowLong& Lib "User32" Alias "SetWindowLongA" _
(ByVal Hwnd&, ByVal nIndex&, ByVal dwNewLong&)
Private Declare Function ShowWindow& Lib "User32" _
(ByVal Hwnd&, ByVal nCmdShow&)

Dim Tableau(), temp, TabTemp As Variant, lig%, n&, Hwnd&
    
Private Sub Categories_Change()
If Me.Categories.Value = "" Then Exit Sub
 
  With Me.Rubriques
    .ListItems.Clear
    
    For lig = 1 To UBound(TabTemp, 1)
      If TabTemp(lig, 3) = Me.Categories.Value Then
        .ListItems.Add , , TabTemp(lig, 1)
        n = .ListItems.Count
        .ListItems(n).ListSubItems.Add , , TabTemp(lig, 2)
        n = n + 1
      End If
    Next
  End With
End Sub

Private Sub Classeur_Click()
Dim wb As Workbook
Dim ws As Worksheet
Dim Classeur$
Classeur = ThisWorkbook.Path & "\Codes" & "\Codes.xls"

Set wb = Workbooks.Open(Classeur)
Set ws = wb.Worksheets("Data")
ShowWindow Hwnd, 2

End Sub

Private Sub UserForm_Initialize()
Dim i%, j%, k%, derlig&, Cpt
  
Sheets("Data").Activate
Cpt = Application.CountA(Range("A2:A65536")) - Application.CountIf(Range("A2:A65536"), "*part*")
   
    With ThisWorkbook.Worksheets("Data")
      derlig = .Range("A65535").End(xlUp).Row
      TabTemp = .Range(.Cells(2, 1), .Cells(derlig, 3)).Value
    End With

   
   
   With Me.Rubriques
   With .ColumnHeaders: .Add , , "RUBRIQUES", 250: End With
      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
      Next i
      Me.Nombre.Caption = Cpt & " Codes VBA-Excel"
 End With
    
ReDim Tableau(200)
For i = 2 To 200
Tableau(i) = Cells(i + 1, 3)
Next

For i = 1 To (UBound(Tableau) - 1)
For k = i + 1 To UBound(Tableau) - 1
If Tableau(i) > Tableau(k) Then
temp = Tableau(i)
Tableau(i) = Tableau(k)
Tableau(k) = temp
End If
Next
Next

For k = 1 To (UBound(Tableau) - 1)
If Tableau(k) = Tableau(k + 1) Then
Else
Me.Categories.AddItem Tableau(k)
End If
Next
 
 Hwnd = FindWindow(vbNullString, Me.Caption)
 
  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()
ShowWindow Hwnd, 0
SetWindowLong Hwnd, -20, &H40101
ShowWindow Hwnd, 1
End Sub

Private Sub Rubriques_Click()
Dim c As Integer
Application.ScreenUpdating = False

For c = 1 To Rubriques.ListItems.Count
If Me.Rubriques.SelectedItem.Text <> "" Then
Me.Lbl_Rubriques.Caption = Me.Rubriques.SelectedItem.Text
Me.Codes.Text = Worksheets("Data").Cells(Me.Rubriques.SelectedItem.Tag, 2).Text
End If
Next c


Application.ScreenUpdating = True
End Sub


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

Private Sub Fermer_Click()
Unload Me
End Sub

J'ai un problème à ce niveau:

For c = 1 To Rubriques.ListItems.Count
If Me.Rubriques.SelectedItem.Text <> "" Then
Me.Lbl_Rubriques.Caption = Me.Rubriques.SelectedItem.Text
Me.Codes.Text = Worksheets("Data").Cells(Me.Rubriques.SelectedItem.Tag, 2).Text
End If
Next c

Erreur incompatibilité Type. et je n'arrive pas à trouver la solution.

A+ :cool:

Amicalement
Lone-wolf
 
Dernière édition:

Lone-wolf

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

Re Fo_rum,

j'ai réussi à corriger le problème dans ton code concernant Cpt. J'ai changé le nom par Ct et remis ces ligne:

Sheets("Data").Activate
Cpt = Application.CountA(Range("A2:A65536")) - Application.CountIf(Range("A2:A65536"), "*part*")
Me.Nombre.Caption = Cpt & " Codes VBA-Excel".

Il ne reste plus que le copier-coller que j'ai expliqué avant.


A+ :cool:

Amicalement
Lone-wolf
 
Dernière édition:

Statistiques des forums

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