Bonjour,
Je crée un commandButton via un formulaire UF_pad mais je n'arrive pas à le déplacer sur la feuille. Il ne reste pas sélectionné.

voici mon code vba:

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
27
28
29
30
31
32
33
34
35
Private Sub TB_creval_Click()
    Set ws = ThisWorkbook.Sheets("BAES")
 
    If TB_creval.Value Then
        buttonCount = buttonCount + 1
 
        ' Créer un nouveau bouton
        Set newShape = ws.Shapes.AddOLEObject(ClassType:="Forms.CommandButton.1", _
                                Left:=Application.Width / 2 - 50, Top:=Application.Height / 2 - 15, _
                                Width:=100, Height:=30)
        Set newButton = newShape.OLEFormat.Object.Object
        newShape.Name = "CB_baes" & buttonCount
        newButton.Caption = "baes " & buttonCount
    Else
        ValidateAndOpenForm
    End If
End Sub
 
 
Private Sub ValidateAndOpenForm()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("BAES")
 
    ' Vérifiez que newShape est bien défini
    If Not newShape Is Nothing Then
        ' Remplir le tableau
        Dim lastRow As Long
        lastRow = ws.Cells(ws.Rows.Count, "O").End(xlUp).Row + 1
        ws.Cells(lastRow, "O").Value = buttonCount
 
        ' Passer la valeur lastRow à UF_id et ouvrir le formulaire d'identité sans fermer UF_pad
        UF_id.RowNum = lastRow
        UF_id.Show vbModeless
    End If
End Sub
TB_creval: crée un commandButton lorsqu'il est enfoncé et lorsqu'il est relevé il valide la création (il devrait fixer le commandButton) puis ouvre le formulaire d'identite UF_id.

Sur mon formulaire j'ai 4 commandButton de direction cardinale. Lorsque je clique sur celui de droite il devrait déplacer le commandButton vers la droite mais rien ne se passe.
voici mon code placé au même endroit que le 1er (page du code formulaire UF_pad):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Private Sub CB_droite_Click()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("BAES")
 
    If Not newShape Is Nothing Then
        With ws.Shapes(newShape.Name)
            .Left = .Left + 10
        End With
    End If
End Sub

Je ne sais pas comment m'y pendre.

Quelqu'un peut-il m'aider svp?