paradisecity1996
XLDnaute Nouveau
Bonjour à tous,
Me revoilà une fois de plus avec le même fichier mais des demandes différentes ahah. Je continue d’avancer sur l’élaboration de mon fichier de BDD immobilier.
Voici un petit résumé de l’objectif de ce fichier :
Je souhaite créer (dans un premier temps) une bdd de transactions immobilières. Pour se faire, j’ai recours à la VBA que je commence à apprendre petit à petit. Dans cette BDD je souhaite automatiser au maximum afin de limiter toute fausse manipulation et rendre ça facile et efficace. Je compte créer trois fonction : ajouter un actif, modifier un actif et supprimer un actif. J’ai déjà pas mal avancé sur ce fichier notamment en partie grâce à l’aide de la communauté de ce site Cependant je rencontre quelques problèmes.
Voici les problèmes que je rencontre actuellement :
1) J’ai un gros problème de stabilité causé par la boucle range lors de l’ajout d’un actif (code lié au click du bouton ajouter dans le formulaire d’ajout appelé ici fmrinvest), parfois je n’ai aucun soucis, mais souvent (même très souvent) je vais avoir excel qui plante avec le code d’exécution ‘-2147417848 (80010108)’ et le message « La méthode ‘Value’ de l’objet ‘Range’ a échoué ». Je ne comprends pas pourquoi…
Je réexplique ce que je souhaite faire avec cette fonction.
Lorsque je clique sur le bouton ajouter un actif, le formulaire d’ajout « fmrinvest » apparait. Je remplis manuellement les infos, je clique sur ajouter. Ces infos viennent s’ajouter dans mon tableau de BDD. Cependant, chaque ligne du tableau est référée par un numéro de ligne # en colonne D (c’est pas vraiment une référence attribuée à un actif mais plus pour savoir combien d’actifs sont référés). Le code doit donc ajouter automatiquement la nouvelle référence en sélectionnant la dernière colonne non vide puis faire +1 par rapport à la valeur précédente.
Voici le code pour la fonction ajouter :
2) Problème de format comme demandé déjà sur ce forum précédemment, j’aimerais appliquer des formats aux données, surfaces, PV et taux. Sauf qu’il y a deux sujets
4) MODE SUPPRESSION : lorsque l’on clique sur le bouton « supprimer un actif », j’aimerais utiliser le même principe que pour « modifier » un actif. C’est-à-dire, je sélectionne la référence de l’actif à supprimer, les informations ressortent dans les textbox afin d’être sûr que c’est le bon actif a supprimer et lorsque que l’on clique sur supprimer, la ligne de l’actif en question se supprime du tableau. J’ai réussi à coder ce processus à la seule différence que ce qui se supprimer c’est la ligne entière de la feuille et non la ligne du tableau.
Je sais que je demande beaucoup de chose, mais je butte en touche, je n’ai démarré à apprendre le VBA qu’il n’y a peu de temps et malheureusement je suis pressé par des dates de rendu d’école, je n’ai donc pas le choix que demander votre aide.
J’espère encore une fois que mes demandes sont plus ou moins clairs. Je vais joindre le fichier afin que vous puissiez comprendre un peu mieux. N’hésitez pas à poser des questions si besoin.
Merci d’avance.
Me revoilà une fois de plus avec le même fichier mais des demandes différentes ahah. Je continue d’avancer sur l’élaboration de mon fichier de BDD immobilier.
Voici un petit résumé de l’objectif de ce fichier :
Je souhaite créer (dans un premier temps) une bdd de transactions immobilières. Pour se faire, j’ai recours à la VBA que je commence à apprendre petit à petit. Dans cette BDD je souhaite automatiser au maximum afin de limiter toute fausse manipulation et rendre ça facile et efficace. Je compte créer trois fonction : ajouter un actif, modifier un actif et supprimer un actif. J’ai déjà pas mal avancé sur ce fichier notamment en partie grâce à l’aide de la communauté de ce site Cependant je rencontre quelques problèmes.
Voici les problèmes que je rencontre actuellement :
1) J’ai un gros problème de stabilité causé par la boucle range lors de l’ajout d’un actif (code lié au click du bouton ajouter dans le formulaire d’ajout appelé ici fmrinvest), parfois je n’ai aucun soucis, mais souvent (même très souvent) je vais avoir excel qui plante avec le code d’exécution ‘-2147417848 (80010108)’ et le message « La méthode ‘Value’ de l’objet ‘Range’ a échoué ». Je ne comprends pas pourquoi…
Je réexplique ce que je souhaite faire avec cette fonction.
Lorsque je clique sur le bouton ajouter un actif, le formulaire d’ajout « fmrinvest » apparait. Je remplis manuellement les infos, je clique sur ajouter. Ces infos viennent s’ajouter dans mon tableau de BDD. Cependant, chaque ligne du tableau est référée par un numéro de ligne # en colonne D (c’est pas vraiment une référence attribuée à un actif mais plus pour savoir combien d’actifs sont référés). Le code doit donc ajouter automatiquement la nouvelle référence en sélectionnant la dernière colonne non vide puis faire +1 par rapport à la valeur précédente.
Voici le code pour la fonction ajouter :
VB:
Private Sub btnajout_Click()
Feuil11.Activate
Range("D5").Select
DL = Range("F10000").End(xlUp).Row
NoOp = 1 + Application.Max(Range("D5:D" & DL))
Range("D" & DL).Select
Selection.Offset(1, 0).Select
ActiveCell.Value = NoOp
Selection.Offset(0, 1).Select
ActiveCell = txtdate.Value
ActiveCell.Offset(0, 1).Value = txtadresse
ActiveCell.Offset(0, 2).Value = txtcp
ActiveCell.Offset(0, 3).Value = cboville
ActiveCell.Offset(0, 4).Value = cbotypo
ActiveCell.Offset(0, 5).Value = Format(txtsurface, "### ### m²") 'format nickel mais pas numérique
ActiveCell.Offset(0, 6).Value = txtvendeur
ActiveCell.Offset(0, 7).Value = txtacquéreur
ActiveCell.Offset(0, 8).Value = Format(txtpv, "### ### ### €") 'Format nickel mais pas numérique
ActiveCell.Offset(0, 10).Value = Format(txttaux, "#.###0 %") '
ActiveCell.Offset(0, 11).Value = txtcommentaire
End Sub
2) Problème de format comme demandé déjà sur ce forum précédemment, j’aimerais appliquer des formats aux données, surfaces, PV et taux. Sauf qu’il y a deux sujets
- Je n’ai pas de problème à obtenir les formats souhaités avec la surface et le PV. Cependant, je réutilise ces données automatiquement dans le tableau dans la colonne N (PV AEM/m²) en divisant la colonne PV par la colonne surface. Or, ces valeurs ne sont pas des données numériques mais des données de type texte. J’aimerais donc trouver un moyen de rendre ces données de type numérique afin d’appliquer le calcul tout en gardant les formats souhaités.
- Format(txtsurface, "### ### m²")
- Format(txtpv, "### ### ### €")
- J’ai un petit soucis concernant le format du pourcentage pour le taux, j’aimerais n’avoir à taper dans la texte box que 2.75 (et non 0.0275) pour qu’il m’affiche 2.75% et j’aimerais aussi pouvoir taper 2.7 ou encore 2 sans qu’il ne fasse d’arrondis ou autre chose. Actuellement je suis au format suivant :
- Format(txttaux, "#.###0 %") --> pas pratique et surtout j’ai des arrondis ou des valeur qui n’ont parfois rien à voir…
4) MODE SUPPRESSION : lorsque l’on clique sur le bouton « supprimer un actif », j’aimerais utiliser le même principe que pour « modifier » un actif. C’est-à-dire, je sélectionne la référence de l’actif à supprimer, les informations ressortent dans les textbox afin d’être sûr que c’est le bon actif a supprimer et lorsque que l’on clique sur supprimer, la ligne de l’actif en question se supprime du tableau. J’ai réussi à coder ce processus à la seule différence que ce qui se supprimer c’est la ligne entière de la feuille et non la ligne du tableau.
Je sais que je demande beaucoup de chose, mais je butte en touche, je n’ai démarré à apprendre le VBA qu’il n’y a peu de temps et malheureusement je suis pressé par des dates de rendu d’école, je n’ai donc pas le choix que demander votre aide.
J’espère encore une fois que mes demandes sont plus ou moins clairs. Je vais joindre le fichier afin que vous puissiez comprendre un peu mieux. N’hésitez pas à poser des questions si besoin.
Merci d’avance.