Initialisation d'un formulaire à partir des données d'une table
#1
Aspirant XLPages

Inscription: 05/01/2013

Messages: 29

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 12-01-2013 16h05

Bonjour,

Je souhaite utiliser un formulaire pour mettre à jour des données dans une table Excel.
Je sélectionne une ligne de cette table et lance une macro qui ouvre un formulaire contenant des champs texte correspondant aux champs de la table.
Je n'arrive pas à récupérer dans le formulaire, les données de la ligne sélectionnée dans le tableur.

Voici le code que j'utilise pour initialiser l'affichage du formulaire:

Private Sub UserForm_Initialize()

    Set ws = Worksheets("Saisie")
 
' Positionne le formulaire
        Me.StartUpPosition = 0
        Me.Top = 0
        Me.Left = 150
' Recopie données de la ligne dans formulaire
Range("A" & Ln).Activate
Me.TxtExer.Value = ws.Cells(Ln, 1).Value
Me.TxtEtat.Value = ws.Cells(Ln, 5).Value
Me.TxtNom.Value = ws.Cells(Ln, 8).Value
Me.TxtFact.Value = ws.Cells(Ln, 9).Value
Me.TxtNat.Value = ws.Cells(Ln, 10).Value
Me.TxtDFTx.Value = ws.Cells(Ln, 11).Value
Me.TxtTTC.Value = ws.Cells(Ln, 12).Value

End Sub


Quelqu'un peut-il m'indiquer le code VBA qui permet d'extraire les données d'une ligne vers un formulaire?


Merci par avance,

JM

Cordialement,
JMV
Hors Ligne
Rapport   Haut 

Re: Initialisation d'un formulaire à partir des données d'une table
#2
Aspirant XLPages

Inscription: 05/01/2013

Messages: 29

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 12-01-2013 22h50
En déclarant la variable ln public, le code fonctionne correctement!
le sujet est clos.
JM
Hors Ligne
Rapport   Haut 

Re: Initialisation d'un formulaire à partir des données d'une table
#3
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 12-01-2013 23h03
Bonsoir wjmavsk, le Forum,

Dans ton extrait de code :

Tout d'abord, la ligne :
Range("A" & Ln).Activate
... ne sert visiblement à rien.

Ensuite, quelle est la valeur contenue dans ta variable Ln ?
Si Ln n'est pas définie, alors tu ne peux rien obtenir avec ce code.
Si tu veux lui affecter le numéro de ligne correspondant à ta sélection sur feuille (ce qui semblerait logique), tu dois pouvoir essayer comme ça :
Ln = Selection.row

Par ailleurs, je te conseille vivement de consulter cet article : VBA et les variables

Enfin, merci de consulter également la FAQ : Comment insérer du Code VBA proprement dans les posts du Forum.

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Initialisation d'un formulaire à partir des données d'une table
#4
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 12-01-2013 23h05
Re,

Arf, je n'avais pas vu ton dernier Post !

Tant mieux alors si tu as trouvé la solution à ton problème.

A une prochaine fois...

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes