[VBA Excel] Créer des boutons dynamiques

Résolu
Bonjour à tous,

J'ai un nouveau problème de programmation VBA sous Excel.

J'ai réalisé un code qui liste tous les fichiers d'un dossier et les place à la suite dans une colonne sous Excel.

J'aimerais maintenant créer, dynamiquement en même temps que chaque nom de fichier, un bouton placé sur la cellule adjacent me permettant d'effectuer une action sur ce fichier.

En gros, j'ai une boucle "For Each" et à chaque passage dans cette boucle, un fichier est listé. J'aimerais que pendant ce passage, le bouton soit créé également.
Ce bouton doit me permettre de supprimer, déplacer ... le fichier (pour ces macros je me débrouillerai)

Si c'est impossible, je peux remplacer ce bouton par un texte (du genre "Supprimer"), mais je ne sais pas s'il est possible de lancer une macro par un texte ...

'Fin voilà, ce genre de chose est assez simple par les tableaux en PHP mais je n'ai pas une seule idée de comment faire en VBA, merci d'avance :)

3 réponses

  1. Contributeur
    Dans ta colonne à supprimer tu pourrais créer un événement sélection_change ou Double_click

    par exemple
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("A1:A100")) Is Nothing Then
        tamacro
    End If
    End Sub
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:A100")) Is Nothing Then
        tamacro
    End If
    End Sub
    


    la procédure est à placer dans un module feuille (celui où tu as ta liste)

    ce genre de chose est assez simple par les tableaux en PHP
    Ch'uis hachement ravi de l'apprendre ! :-D
    1
    1. Merci pour ta réponse, je verrai demain au boulot comment mettre ça en oeuvre!
      0
  2. Merci beaucoup, j'ai mieux compris !

    En fait je ne plaçais pas le code au bon endroit, du coup ça marchait moins bien :)
    1
    1. Bon alors j'ai tenté de mettre ça en oeuvre ...

      Je l'ai mise dans le module de ma feuille concernée en essayant juste d'ouvrir une message Box dans ma macro ... mais je n'arrive pas à faire fonctionner :(

      Suite à ça j'ai recherché sur le web, en effet le coup du double-clic est utilisé un peu partout mais même les autres exemple je n'arrive pas à les utiliser :(
      0
      1. Contributeur
        bonjour

        ci joint démo
        http://www.cijoint.fr/cjlink.php?file=cj201101/cijEFXXF35.xls

        tu fais un double clic gauche dans A1:A100
        il est peut-être préférable d'utiliser un double clic qu'un semection_change (démarche volontaire)
        0