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

XL 2013 VBA - A partir d'une combobox sans doublon, afficher dans textbox les données qui ont le même nom que combobox

donpopo

XLDnaute Occasionnel
Bonjour le forum,

Je suis, à nouveau, confronté à un petit problème.
J'ai une feuille reprenant tous les biens à louer. Certains appartements sont repris dans la même résidence.
Je voudrais, sur un userform, une combobox reprenant chaque résidence sans doublon. (Ça j'ai trouvé.). Mais j,aurais voulu que la combobox soit vierge de nom au départ.

Si je sélectionne une résidence précise, je voudrais qu'apparaissent dans les textbox les noms des appartements de cette résidence ainsi que les charges y afférentes.
Si je décide de modifier les pourcentages de ces charges par appartement, je dois pouvoir les remplacer sur la feuille.
J'ai cherché sur plusieurs forums, mais n'ai pas trouvé, ou du moins pas compris ce qui me conviendrait.

J'ai joint une petit fichier exemple pour plus de clarté.

Merci d'avance
donpopo
 

Pièces jointes

  • Essai.xlsm
    22.2 KB · Affichages: 13

Jacky67

XLDnaute Barbatruc
Bonjour,
Une piste en PJ
Les noms des "texbox" ont été modifiés
Avec ce procédé, il y a limite pour les étages.......
il y a 2 informations pour "% Part. Electr." , j'ai pris la première
idem pour "% part.Eaux"

Bon courage
 

Pièces jointes

  • Essai_donpopo.xlsm
    21.8 KB · Affichages: 6
Dernière édition:

donpopo

XLDnaute Occasionnel
Bonjour Jacky,
Merci pour cette proposition. Cela fonctionne assez bien.
Cependant, deux choses:

1/ Je ne comprends pas bien la ligne
VB:
.Cells(i, "c") = CDbl(Me.Controls("TextBox" & lig * 10))
Que veut dire "Textbox" & lig * 10? Pourquoi *10?

2/ J'aimerais aussi pouvoir corriger et mettre à jour le nombre total d'eau et d'élec.

En effet, ce userform me servira à calculer en fonction de la grandeur du ménage sa consommation:

donc, je veux pouvoir mettre par exemple, 3 dans total Electr et 1 dans chaque appart, comme je peux imputer 10 dans total et 3 dans deux appartements et 4 dans le troisième (parce qu'il consomme plus).

J'espère avoir été assez précis.
Je devrais pouvoir ajouter la mise à jour des colonnes d et f, mais je vois pas trop comment.

Merci
 

donpopo

XLDnaute Occasionnel
Eureka, j'ai trouvé! Il me suffisait de mettre le ligne
VB:
.Cells(i, "d") = CDbl(TextBox7)
Vraiment, c'est parce que je n'avais pas fait le rapprochement avec le changement de nom des textbox.
encore merci
georges
 

donpopo

XLDnaute Occasionnel
J'ai très bien compris la proposition de Jacky, mais je n'arrive pas à la retranscrire dans mon programme. J'ai beau essayer, je suis en train de m’emmêler les pinceaux.
Je joins mon fichier et si quelqu'un voit les erreurs que j'ai commise par rapport à la proposition, je l'en remercie.
Bonne soirée,
donpopo
 

Pièces jointes

  • essai - Copie.xlsm
    724.7 KB · Affichages: 9

Jacky67

XLDnaute Barbatruc
Re...
A première vue...
Une faute à moi.......
Il manque un point devant Cells(i, "a")
'------------------------------------------------
With Sheets("Biens")
For i = 3 To .[A65000].End(xlUp).Row
If .Cells(i, "B") = Me.ComboBox1.Value Then
Me.Controls("TextBox" & lig) = Cells(i, "a")
'-------------------------------= .Cells(i,"a")
'----
Ensuite

Remplacer " With Feuil1" par "With Sheets("Biens")"
dans le module
Private Sub Bout_enc_Charges_Click() ' encoder

Je ne suis pas allé plus loin pour le moment..... tester
 
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…