Bonjour à tous,

Voila j'ai un problème, je suis en train de créer une "appli" grâce à vba. L'idée c'est qu'on remplit un userform, les infos sont rentrés dans une feuille excel.
Mais je veux ajouter à chaque fois un bouton modifier et un autre supprimer à la fin de la ligne. Commençons par modifier. L'idée là c'est que le bouton récupère les infos dans le même userform comme ça on modifie.
Seulement pour la première ligne pas de soucis le bouton est créé mais la deuxième j'ai une erreur :
bibliothèque d'objets incorrecte ou contenant des références à des définitions d'objets introuvables
voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
Dim Obj As Object
Dim Code As String
 
Sheets("Feuil3").Select
 
Cells(x, 8).Select
a = Rows(ActiveCell.Row).Top
b = Columns(ActiveCell.Column).Left
t = t + 1
'crée le bouton
    Set Obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
    Link:=False, DisplayAsIcon:=False, Left:=b, Top:=a, Width:=66, Height:=20)
    Obj.Name = "Modif" & x
'texte du bouton
    ActiveSheet.OLEObjects(1).Object.Caption = "Modifier"
    ActiveSheet.OLEObjects(1).Object.Font.Size = 8
 
'Le texte de la macro
    Code = "Sub Modif" & x & "()" & vbCrLf
    Code = Code & "Call Tester" & vbCrLf
    Code = Code & "End Sub"
'Ajoute la macro en fin de module feuille
    With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule
        .insertlines .CountOfLines + 1, Code
    End With
Alors je pense que le problème viens du
ActiveSheet.OLEObjects(1)
parce que fut un temps ou j'avais pas d'erreur mais les propriétés du bouton n’était appliqué que sur le premier.
J'avais alors essayé de mettre un compteur t à la place du 1.

En passant j'ai trouvé ce code sur internet, surement sur ce forum d’ailleurs et je ne comprend pas tout donc si vous pouvez m'apporter quelques explications, je suis pas contre..

Infos : le x est un compteur qui correspond au numéro de la ligne

Merci beaucoup d'avance

Baldo