Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Renvoi de données vers un UserForm

  • Initiateur de la discussion Initiateur de la discussion stephane46
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

stephane46

Guest
Bonjour,

Débutant en programmation Excel, je bute sur un problème sûrement des plus simples....

Plateforme Mac OSX - Excel 2004 pour mac:

J'ai crée un Formulaire (Userform1) pour "remplir une feuil de calcul Feuil2
J'ai programmé le bouton valider de la mamière suivante :
num est une variable qui me permet de savoir quelles lignes est "libre"
Code:
num = Sheets("feuil2").Range("A65536").End(xlUp).Row + 1

Code:
Sheets("feuil2").Activate
Par ex pour les zones de texte
Code:
Range("A" & num).Value = Territoire.Value
Range("B" & num).Value = Auteur.Value
Range("C" & num).Value = Maitre_O.Value
Ce formulaire marche très bien dans ce sens.
Je voudrais lorsque l'on clique sur une ligne de la feuil2, le résultat s'affiche dans l'userform.
Donc

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
UserForm1.Show 'Pour afficher le Formulaire
'Pour récupérer le N° de ligne :
Dim L As Integer
L = ActiveCell.Row

Territoire.Value = Range("A" & L).Value
Auteur.Value = Range("B" & L).Value
 Maitre_O.Value = Range("C" &L).Value
Je pensais "naïvement " que le fait d'inverser les commandes me remplirais automatiquement mon formulaire..

J'avoue ne pas comprendre et je ne sais plus dans quelle direction m'orienter.
J'espère que vous pourrez me venir en aide...

Cordialement - stéphane
 
Re : Renvoi de données vers un UserForm

Bonjour Stéphane46,

Lorsque tu affiches un Useform, par défaut, le code s'arrête, et ne se poursuit que lorsque tu as fait disparaitre ton Userform.
pour remédier à ça, la solution consiste à remplir ta macro évènementielle Userform_Initialize qui permet de définir par défaut les valeurs des contrôles de ton Userform. C'est dans cette macro évènementielle que tu devras mettre les lignes :

L = ActiveCell.Row
Territoire.Value = Range("A" & L).Value
Auteur.Value = Range("B" & L).Value
Maitre_O.Value = Range("C" &L).Value

Une autre solution pourrait être de rendre ton Userform non modal, c'est à dire permettre à l'utilisateur d'accéder à la feuille de calcul même si le Userform est affiché
pour celà, il faut modifier la propriété ShowModal du Userform à False

Edit : Bonjour PascalXLD
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

B
  • Question Question
Réponses
3
Affichages
1 K
C
Réponses
6
Affichages
1 K
charette36
C
K
Réponses
5
Affichages
2 K
S
Réponses
1
Affichages
1 K
SCorbeil
S
V
Réponses
2
Affichages
2 K
VOILLOT
V
A
Réponses
8
Affichages
2 K
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…