XL 2016 Formulaire pour afficher et saisir des données

  • Initiateur de la discussion Initiateur de la discussion MarineV
  • 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 !

MarineV

XLDnaute Nouveau
Bonjour à tous,

Je suis bloquée sur un fichier comportant un formulaire et une macro associée que je n’arrive pas à programmer.

J’ai un fichier Excel avec un tableau comportant des informations sur des clients. Chaque client est associé à un identifiant permettant de le retrouver et comporte également des informations classiques (telle que l’adresse). Les deux dernières colonnes de mon tableau comportent des informations sur les rendez-vous ou des remarques diverses.

Ce tableau est amené à comporter énormément de lignes et de colonne et je souhaitais donc créer un formulaire pour faciliter la saisie de données.

Or c’est là qu’est tout mon problème : j’aimerais que le formulaire serve à la fois à saisir des données (assez simple grâce à un bouton qui permet d’enregistrer les informations dans les cellules concernées) mais également à retrouver de façon plus lisible les informations de mon tableau. Je souhaitais donc faire apparaître, grâce à une liste déroulante qui comporterait l’ensemble (ajouts constants de nouveaux clients) de mes identifiants clients, l’ensemble des informations de celui-ci.

Par exemple :

Je souhaite voir les informations de mon client 1. J’ouvre donc mon formulaire et je sélectionne dans la liste déroulante le numéro 1. L’ensemble des informations de mon client (Nom, Adresse, Remarques, Historique) s’affiche alors en dessous. Si je souhaite rajouter une remarque supplémentaire, je modifie manuellement dans la zone de texte et je clique sur « enregistrer les mises à jour » qui s’enregistrent alors dans la cellule D2 de mon tableau.

J’espère avoir été assez claire, je vous mets mon fichier exemple en pièce jointe pour aider à la compréhension.

Merci d’avance aux personnes qui pourront m’aider !

Très bonne fin de journée,

Marine.
 

Pièces jointes

Bonjour.
Essayez ça :
VB:
Option Explicit
Dim PlgTablo As Range, LCou As Long, TVLgn()

Private Sub UserForm_Initialize()
Actualiser
End Sub

Private Sub Actualiser()
Dim T(), L As Long
Set PlgTablo = [Tableau3]
T = PlgTablo.Columns(1).Value
For L = 1 To UBound(T, 1): T(L, 1) = CStr(T(L, 1)): Next L
ComboBox1.List = T
End Sub

Private Sub ComboBox1_Change()
LCou = ComboBox1.ListIndex + 1
If LCou = 0 Then ReDim TVLgn(1 To 1, 1 To 5) Else TVLgn = PlgTablo.Rows(LCou).Value
Garnir
End Sub

Private Sub Garnir()
Dim C As Long
For C = 2 To 5: Me("TextBox" & C - 1).Text = TVLgn(1, C): Next C
End Sub

Private Sub CommandButton1_Click()
Dim C As Long
For C = 2 To 5: TVLgn(1, C) = Me("TextBox" & C - 1).Text: Next C
If LCou = 0 Then
   LCou = PlgTablo.Rows.Count + 1
   TVLgn(1, 1) = WorksheetFunction.Max(PlgTablo.Columns(1)) + 1: End If
PlgTablo.Rows(LCou).Value = TVLgn
Actualiser
End Sub
 
Hello All

Ci jointe une autre version avec un second formulaire - le meme.
sauf que les TextBox ont tous le nom qui commence par "TB" puis un numéro.. 1 2 3. Ce numéro devant etre obligatoirement le numéro de colonne (+1) de la data que tu souhaites récuperer
ex:
TB1 = Nom Client
TB2 = Adress
TB3=Remarques... etc etc

comme ca. si tu ajoutes 20 colonnes. tu devra ajouter 20 Tb numérotés dans l'ordre de tes colonnes..
et le code sera toujours bon
 

Pièces jointes

- 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

Discussions similaires

Réponses
1
Affichages
41
Réponses
4
Affichages
543
Réponses
22
Affichages
929
Retour