Déplacer la copie de données d'un UserForm en fonction d'une Combobox

Bonjour à tous,

Je viens de rejoindre la communauté afin de me former sur la programmation VBA sous excel.

Voilà mon problème.

  • J'ai créer un UserForm ou je rentre des données sur la gestion de 3 locataires (date de loyer, mois du loyer, montant, mode de paiement…)
  • J'ai mis une combobox avec 3 choix (locataire 1, locataire 2, locataire 3).

Et pour finir un bouton "valider".

Je voudrais qu'en fonction du choix de la Combobox, le bouton "valider" renvoie les données du UserForm sur une autre page excel, par exemple "loyers", mais en déplaçant ces données suivant la réponse.

Par exemple du style de résultat voulut,

sur la feuille "loyers"

Locataire 1:

Départ des données à partir de la cellule A5

Incrémenter les lignes suivantes jusqu'à A17 à chaque validation du UserForm et avec le choix Locataire 1 de la combobox.

Locataire 2:

Départ des données à partir de la cellule A20

Incrémenter les lignes suivantes jusqu'à A32 à chaque validation du UserForm et avec le choix Locataire 2 de la combobox.

Locataire 3:

Départ des données à partir de la cellule A35

Incrémenter les lignes suivantes jusqu'à A47 à chaque validation du UserForm et avec le choix Locataire 3 de la combobox.

Résultat final:

Locataire 1:

02/01/2020 Loyer JANVIER "nom du locataire 1" la somme de: 300€ payé par virement

05/02/2020 Loyer FEVRIER "nom du locataire 1" la somme de: 300€ payé par virement

03/03/2020 Loyer MARS "nom du locataire 1" la somme de: 300€ payé par virement

Locataire 2:

10/01/2020 Loyer JANVIER "nom du locataire 2" la somme de: 400€ payé par chèque

15/02/2020 Loyer FEVRIER "nom du locataire 2" la somme de: 400€ payé par chèque

13/03/2020 Loyer MARS "nom du locataire 2" la somme de: 400€ payé par chèque

Locataire 3:

10/01/2020 Loyer JANVIER "nom du locataire 3" la somme de: 250€ payé par chèque

15/02/2020 Loyer FEVRIER "nom du locataire 3" la somme de: 250€ payé par chèque

13/03/2020 Loyer MARS "nom du locataire 3" la somme de: 250€ payé par chèque

J'espère avoir été suffisamment explicite.

En attente d'une réponse.

Cordialement.

Bonjour,

Avant que tu n'ailles trop loin dans le développement, approfondi bien le besoin et surtout évite de conditionner les locataires sur une plage de cellules.

Quand tu dis : Locataire 1 de A5 à A17, c'est pour les mois de l'année ? 13 mois ???

Prévois une gestion type BDD avec une feuille Locataire, une ligne par locataire avec ses données de base (adresse, téléphone, mail, date de loyer..., l’identification du locataire ne doit pas de faire sur son nom, mais sur un ID (code numérique ou alphanumérique court, moins de 10 caractères, type code client). Il faut une autre feuille pour les appels de loyer et peut-être une autre pour les règlements. Si beaucoup de données, il serait certainement préférable d'avoir deux feuilles, une pour les loyers et une pour les règlements. Sur ces feuilles, l'ID doit obligatoirement s'y trouver, c'est ce code qui fera le lien entre le locataire, les loyers et les règlements.

A chaque appel de loyer, quelque soit le locataire on met en dernière ligne l'ID, la date, le montant du loyer. Idem pour le règlement.

Pour savoir qui doit combien, il faut faire du reporting genre TCD ou charger un Userform avec un ListBox ou ListView (plus performant).

Bonjour,

Tout a fait d'accord pour éviter des plages différentes sur un même onglet.

Le plus simple : le Userform saisie toutes les données dans un même onglet et l'ajout un tableau croisé dynamique permet le résumé ou le trie par locataire.

Le plus spécifique : Puisque tu as déjà une combobox avec le nom des locataires alors très facile de nommé 3 onglets avec

le nom de ces trois locataires.

Ensuite dans ton code de saisie tu actives l'onglet concerné en fonction de combobox.value

Ainsi chaque saisie sera attribuée au locataire concerné.

Rechercher des sujets similaires à "deplacer copie donnees userform fonction combobox"