Bonjour à tous,
J'ai créer un userform qui me permet de copier les données d'une base sur un autre classeur. Pour ce faire, j'ai écrit le code suivant :
1°/ J'ouvre le userform quand je clique sur la cellule désiré
A l'ouverture, le userform est initialisé de la façon suivante :
2°/ je note dans un Textbox la quantité du produit que j'ai sélectionné dans la base et je valide.
La macro que j'utilise pour copier les données dans un autre classeur est la suivante :
Le souci que je rencontre est que lorsque ce macro à terminé son execution, le userform est réinitialisé , mais quand je veux sélectionner une nouvelle cellule pour copier les données dans l'autre classeur, le userform ne se réinitialise pas avec les nouvelles données de la cellule sélectionnée. Est-ce que c'est possible de réinitialiser un userform uniquement à l'ouverture de celui-ci ?
J'espère que j'ai été claire dans l'exposition de la problématique. Sinon n'hésitez pas à me demander plus d'infos.
Merci d'avance.
J'ai créer un userform qui me permet de copier les données d'une base sur un autre classeur. Pour ce faire, j'ai écrit le code suivant :
1°/ J'ouvre le userform quand je clique sur la cellule désiré
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
UsfSelectionAC.Show
'j'ouvre le userform lorsque je clique ou sélectionne une cellule de la colonne A
End If
End Sub
A l'ouverture, le userform est initialisé de la façon suivante :
Code:
Private Sub UserForm_Initialize()
For i = 1 To 3
Me("Label" & i) = ActiveSheet.Cells(ActiveCell.Row, i)
Next
' je copie les données des 3 premières colonnes de la feuille excel dans les Labels présent dans le userform
End Sub
2°/ je note dans un Textbox la quantité du produit que j'ai sélectionné dans la base et je valide.
La macro que j'utilise pour copier les données dans un autre classeur est la suivante :
Code:
Private Sub CommandValider_Click()
If TextQuantite.Value = "" Then
MsgBox ("Veuillez noter la Quantité nécéssaire !")
Exit Sub
End If
Workbooks(nom).Activate
num = Sheets("Contenu coffret alimentation").Range("A40").End(xlUp).Row + 1
Sheets("Contenu coffret alimentation").Select
Range("B" & num).Value = Label1.Caption
Range("C" & num).Value = Label2.Caption
Range("D" & num).Value = Label3.Caption
Range("E" & num).Value = Label4.Caption
Range("F" & num).Value = Label5.Caption
Range("G" & num).Value = TextQuantite.Value
Workbooks("Répertoire luminaires et alimentations.xls").Activate
Sheets("AC_DC").Select
Unload UsfSelectionAC
UsfSelectionAC.Hide
End Sub
Le souci que je rencontre est que lorsque ce macro à terminé son execution, le userform est réinitialisé , mais quand je veux sélectionner une nouvelle cellule pour copier les données dans l'autre classeur, le userform ne se réinitialise pas avec les nouvelles données de la cellule sélectionnée. Est-ce que c'est possible de réinitialiser un userform uniquement à l'ouverture de celui-ci ?
J'espère que j'ai été claire dans l'exposition de la problématique. Sinon n'hésitez pas à me demander plus d'infos.
Merci d'avance.