Bonjour,
J'avance doucement mais surement dans le VBA. Je suis débutante et j'ai réussi à ajouter des données par Userform donc jusque là tout va bien. Maintenant Je cherche à faire un Userform ou je pourrais modifier une image à partir d'un Userform toujours Voilà le formulaire en question :
Et voici que j'ai saisi jusqu'à présent.
Ma question est comment je peux faire pour modifier l'image en cliquant sur "Modifier l'image", et supprimer l'ancienne.
Je vous remercie par avance
J'avance doucement mais surement dans le VBA. Je suis débutante et j'ai réussi à ajouter des données par Userform donc jusque là tout va bien. Maintenant Je cherche à faire un Userform ou je pourrais modifier une image à partir d'un Userform toujours Voilà le formulaire en question :
Et voici que j'ai saisi jusqu'à présent.
Code:
Option Explicit
Private Sub ComboBoxLine_Change()
Dim Plage As Range
Dim Tbl
Dim i As Integer
Dim tailleTableau As Integer
Dim ligne_a_editer As Integer
'crée un tableau contenant les noms des contrôles où récuperer les valeurs
Tbl = Array("ComboBoxNom", "TextBoxNum", "TextBoxPage", "TextBoxDateS", "ComboBoxParu", "ComboBoxType", "TextBoxDAch", "TextBoxCodeBarre", "TextBoxCb")
' On recupere la taille du tableau
tailleTableau = UBound(Tbl) + 1
'défini la plage en feuille "BDD" adapter le nom...
With Worksheets("BDD")
'plage de A2 à Mx. Les cellules de la colonne M sont sensées être toutes renseignées
Set Plage = .Range("A2", .Cells(.Rows.Count, tailleTableau).End(xlUp))
End With
'décale d'une ligne
ligne_a_editer = CInt(ComboBoxLine.Value) - 1
With Plage.Rows(ligne_a_editer)
'boucle pour inscription des valeurs
For i = 1 To tailleTableau
Me.Controls(Tbl(i - 1)).Text = .Cells(1, i + 1).Value
Next i
' MODIFIER IMAGE ?????
End With
End Sub
Private Sub CommandButton2_Click()
blnCancel = True
Me.Hide
End Sub
Private Sub CommandUpdateButton_Click()
Dim Plage As Range
Dim Tbl
Dim Img
Dim i As Integer
Dim tailleTableau As Integer
Dim ligne_a_editer As Integer
'crée un tableau contenant les noms des contrôles où récuperer les valeurs
Tbl = Array("ComboBoxNom", "TextBoxNum", "TextBoxPage", "TextBoxDateS", "ComboBoxParu", "ComboBoxType", "TextBoxDAch", "TextBoxCodeBarre", "TextBoxCb")
' On recupere la taille du tableau
tailleTableau = UBound(Tbl) + 1
'défini la plage en feuille "BDD" adapter le nom...
With Worksheets("BDD")
'plage de A2 à Mx. Les cellules de la colonne M sont sensées être toutes renseignées
Set Plage = .Range(.Cells(2, 1), .Cells(.Rows.Count, tailleTableau).End(xlUp))
End With
' On recupere le numero de la ligne de ComboBoxLine
ligne_a_editer = CInt(ComboBoxLine.Value) - 1
With Plage.Rows(ligne_a_editer)
'boucle pour inscription des valeurs
For i = 1 To tailleTableau
.Cells(1, i + 1).Value = Me.Controls(Tbl(i - 1)).Text
Next i
blnCancel = False
Me.Hide
End Sub
Private Sub UserForm_Initialize()
Dim nombre_de_ligne As Integer
Dim Tbl
Dim Plage As Range
Dim tailleTableau As Integer
Dim i As Integer
'crée un tableau contenant les noms des contrôles où récuperer les valeurs
Tbl = Array("ComboBoxNom", "TextBoxNum", "TextBoxPage", "TextBoxDateS", "ComboBoxParu", "ComboBoxType", "TextBoxDAch", "TextBoxCodeBarre", "TextBoxCb")
' On recupere la taille du tableau
tailleTableau = UBound(Tbl) + 1
'défini la plage en feuille "BDD"
With Worksheets("BDD")
'plage de A2 à Mx. Les cellules de la colonne M sont sensées être toutes renseignées
Set Plage = .Range("A2", .Cells(.Rows.Count, tailleTableau).End(xlUp))
End With
nombre_de_ligne = Plage.Rows.Count
'MsgBox nombre_de_ligne
With ComboBoxLine
For i = 2 To nombre_de_ligne
.AddItem (i + 1)
Next
.ListIndex = 0
End With
'Nom
ComboBoxNom.RowSource = "INDEX!A2:A156"
End Sub
Sub DoStuff()
UserFormEditElement.Show
If UserFormEditElement.blnCancel Then
' cancel button was pressed
Else
' OK button was pressed
End If
Unload UserFormEditElement
End Sub
Private Sub UserForm_Click()
End Sub
Ma question est comment je peux faire pour modifier l'image en cliquant sur "Modifier l'image", et supprimer l'ancienne.
Je vous remercie par avance