Actualisation du formulaire lors de changement de cellule active
Résolu/Fermé
A voir également:
- Actualisation du formulaire lors de changement de cellule active
- Piratage facebook changer mot de passe - Guide
- Changer de dns - Guide
- Verrouiller cellule excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Changement d'écriture - Guide
3 réponses
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
22 déc. 2015 à 17:44
22 déc. 2015 à 17:44
Bonjour,
Il y a 2 facons de proceder avec l'UserForm en la survolant:
Avec la feuille, mettre ce code dans la feuille de données:
pour la 2 ème solution il ne faut pas qu'il y est beaucoup de TextBox!
Il y a 2 facons de proceder avec l'UserForm en la survolant:
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) TextBox1 = Range("A2").Value End Sub
Avec la feuille, mettre ce code dans la feuille de données:
Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Application.Intersect(Target, Range("A2")) Is Nothing Then UserForm1.TextBox1 = Range("A2").Value End If End Sub
pour la 2 ème solution il ne faut pas qu'il y est beaucoup de TextBox!
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
642
22 déc. 2015 à 17:47
22 déc. 2015 à 17:47
Bonjour,
Si l'userform est affichée en mode non modal (UserForm1.Show vbModeless), il est toujours possible de modifier le contenu d'une textbox par macro.
Par exemple dans le code associé à une feuille on peut mettre la macro suivante :
Ainsi chaque fois que la cellule sélectionnée dans cette feuille change la TextBox1 prends la valeur de cette nouvelle cellule.
Si l'userform est affichée en mode non modal (UserForm1.Show vbModeless), il est toujours possible de modifier le contenu d'une textbox par macro.
Par exemple dans le code associé à une feuille on peut mettre la macro suivante :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) UserForm1.TextBox1 = ActiveCell.Value End Sub
Ainsi chaque fois que la cellule sélectionnée dans cette feuille change la TextBox1 prends la valeur de cette nouvelle cellule.
Bonjour,
effectivement ce n'était pas très compliqué.
Il fallait comme vous l'avez dis inscrire un code sur notre feuille et non sur notre formulaire.
J'ai repris votre idée.
Nouveau code :
Comme vous le remarqué je fais appel à une fonction du formulaire. Cela me permet d’actualiser l'intégralité de mes textbox.
LE problème est donc résolu.
Encore merci pour votre aide précieuse!
A+
effectivement ce n'était pas très compliqué.
Il fallait comme vous l'avez dis inscrire un code sur notre feuille et non sur notre formulaire.
J'ai repris votre idée.
Nouveau code :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Cells.Interior.ColorIndex = xlColorIndexNone ActiveCell.Interior.ColorIndex = 23 ActiveCell.Offset(0, 1).Interior.ColorIndex = 23 If ActiveCell.Value <> "" Then CallByName Notation, "CommandButton5_Click", VbMethod CallByName Notation, "UserForm_Initialize", VbMethod Else End If End sub
Comme vous le remarqué je fais appel à une fonction du formulaire. Cela me permet d’actualiser l'intégralité de mes textbox.
LE problème est donc résolu.
Encore merci pour votre aide précieuse!
A+