VBA - Modifier une image à partir d'un Userform
s
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.
Et voici que j'ai saisi jusqu'à présent.
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 SubMa 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
boubenMembre impliqué
- Messages
- 1'794
- Excel
- 2010
- Inscrit
- 25/08/2014
- Emploi
- Consultant VB6 / SQL / VBA / Excel / Access
Bonsoir,
Pour modifier une image, il faut utiliser la fonction "LoadPicture"
Cf fichier en pièce jointe
Bouben
bonjour soso882
je pense que c'est plus facile si tu envoie le fichier en question
merci
s
Merci pour l'exemple