Bonjour tout le monde,
je souhaite que lorsque l'on clique sur une cellule quelconque dans une colonne, un userform s'affiche avec une liste déroulante et que quand la personne sélectionne un mot dans la liste, ce mot s'affiche dans la cellule sélectionnée. Pour faire cela je pensais identifier la cellule sélectionnée avec un compteur de ligne et de colonne pour pouvoir écrire dessus plus tard.
Du coup, j'ai utilisé les codes suivants :
- Affichage de l'userform :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("M2:M200")) Is Nothing Then
UserForm1.Show
End If
End Sub
- Repérage de la cellule :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Cells(1, 22) = Target.Column
Cells(2, 22) = Target.Row
End Sub
- le codage du combobox:
rivate Sub ComboBox1_Change()
Dim col As Integer
Dim lig As Integer
col = bilan!Cells(1, 22).Value
lig = bilan!Cells(2, 22).Value
Sheets("Bilan").Cells(lig, col) = ComboBox7.Value
UserForm1.Hide
End Sub
Le problème dans tout ça c'est l'assignation de mes variables. ça ne fonctionnent pas et je n'arrive vraiment pas à voir pourquoi. J'ai essayé de changer avec range("V1").value mais cela ne change rien...
Si quelqu'un a une solution ou une autre manière de le faire je suis preneur
Voici le fichier si vous voulez regarder plus en détail.
Merci de votre aide
je souhaite que lorsque l'on clique sur une cellule quelconque dans une colonne, un userform s'affiche avec une liste déroulante et que quand la personne sélectionne un mot dans la liste, ce mot s'affiche dans la cellule sélectionnée. Pour faire cela je pensais identifier la cellule sélectionnée avec un compteur de ligne et de colonne pour pouvoir écrire dessus plus tard.
Du coup, j'ai utilisé les codes suivants :
- Affichage de l'userform :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("M2:M200")) Is Nothing Then
UserForm1.Show
End If
End Sub
- Repérage de la cellule :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Cells(1, 22) = Target.Column
Cells(2, 22) = Target.Row
End Sub
- le codage du combobox:
rivate Sub ComboBox1_Change()
Dim col As Integer
Dim lig As Integer
col = bilan!Cells(1, 22).Value
lig = bilan!Cells(2, 22).Value
Sheets("Bilan").Cells(lig, col) = ComboBox7.Value
UserForm1.Hide
End Sub
Le problème dans tout ça c'est l'assignation de mes variables. ça ne fonctionnent pas et je n'arrive vraiment pas à voir pourquoi. J'ai essayé de changer avec range("V1").value mais cela ne change rien...
Si quelqu'un a une solution ou une autre manière de le faire je suis preneur
Voici le fichier si vous voulez regarder plus en détail.
Merci de votre aide