Comment programmer en vba un enregistrement de données
coupidon
Messages postés
98
Date d'inscription
Statut
Membre
Dernière intervention
-
coupidon Messages postés 98 Date d'inscription Statut Membre Dernière intervention -
coupidon Messages postés 98 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voilà j'essais tant bien que mal à programmer en vba.
J'ai une feuille appelé Base de donné afin de pouvoir y inscrire au fur et à mesure mes données avec un userform...
alors quand je rentre des données pas de soucis à priori...
Premier soucis , je sais pas pourquoi lors de l'enregistrement les lignes sont plus grosses à chaques saisis, mystère pour mon niveau.
ma question là voilà...
je voudrais pendant l'enregistrement des données sur la colonne prix kms en G8, quand on encode dans l'userform kilomètres, que le nombre de km le l'userform s'affiche sur la colonne G8; mais quand mêmes temps sur la colonne H8 il me calcul comme suite, sous une condition SI. Que je n'arrive pas à créer, pas doué...
En utlisant la valeur du textbox10 comme suite:
textbox10<10 =0
textbox10<=20 on fait le calcul valeur du textbox10*0.18
textbox10<=40 on fait le calcul valeur du textbox10*0.20
textbox10<=80 on fait le calcul valeur du textbox10*0.22
textbox10>80 on fait le calcul valeur du textbox10*0.30
et que ce calcul s'affiche aprés enregistrement dans la colonne H8
voici mon ébauche de projet
y à t'il un talent qui pourrais m'expliquer la marche à suivre ?
https://www.cjoint.com/c/FEnqoHzC2D0
Voilà j'essais tant bien que mal à programmer en vba.
J'ai une feuille appelé Base de donné afin de pouvoir y inscrire au fur et à mesure mes données avec un userform...
alors quand je rentre des données pas de soucis à priori...
Premier soucis , je sais pas pourquoi lors de l'enregistrement les lignes sont plus grosses à chaques saisis, mystère pour mon niveau.
ma question là voilà...
je voudrais pendant l'enregistrement des données sur la colonne prix kms en G8, quand on encode dans l'userform kilomètres, que le nombre de km le l'userform s'affiche sur la colonne G8; mais quand mêmes temps sur la colonne H8 il me calcul comme suite, sous une condition SI. Que je n'arrive pas à créer, pas doué...
En utlisant la valeur du textbox10 comme suite:
textbox10<10 =0
textbox10<=20 on fait le calcul valeur du textbox10*0.18
textbox10<=40 on fait le calcul valeur du textbox10*0.20
textbox10<=80 on fait le calcul valeur du textbox10*0.22
textbox10>80 on fait le calcul valeur du textbox10*0.30
et que ce calcul s'affiche aprés enregistrement dans la colonne H8
voici mon ébauche de projet
y à t'il un talent qui pourrais m'expliquer la marche à suivre ?
https://www.cjoint.com/c/FEnqoHzC2D0
A voir également:
- Comment programmer en vba un enregistrement de données
- Fuite données maif - Guide
- Programmer un sms - Guide
- Programmer un mail gmail - Guide
- Supprimer les données de navigation - Guide
- Comment couper un enregistrement audio - Guide
8 réponses
Bonjour
Premier soucis , je sais pas pourquoi lors de l'enregistrement les lignes sont plus grosses à chaques saisis. Normal on reprend la taille de la ligne au-dessus.
Correction:
Et pour l'autre question
Cdlt
Premier soucis , je sais pas pourquoi lors de l'enregistrement les lignes sont plus grosses à chaques saisis. Normal on reprend la taille de la ligne au-dessus.
Correction:
Private Sub CommandButton1_Click() Sheets("BASE de DONNEE").Select ' insertion de la ligne Rows(8).Insert Rows(8).EntireRow.RowHeight = 15 ' remise à zéro du formulaire Unload Formulaire ' ferme le formulaire End Sub
Et pour l'autre question
Private Sub TextBox10_Change() ' cette procédure permet de renseigner la cellule G8 en fonction de la donnée ' écrite dans le formulaire à la parti Kilomètres Sheets("BASE de DONNEE").Select [G8] = TextBox10 If [G8] < 10 Then [H8] = 0 ElseIf [G8] <= 20 Then [H8] = [G8] * 0.18 ElseIf [G8] <= 40 Then [H8] = [G8] * 0.2 ElseIf [G8] <= 80 Then [H8] = [G8] * 0.22 ElseIf [G8] > 80 Then [H8] = [G8] * 0.3 End If End Sub
Cdlt
En ajoutant 1 a la valeur de A9, comme ceci
Cdlt
Private Sub CommandButton1_Click() Sheets("BASE de DONNEE").Select ' insertion de la ligne Rows("8:8").Insert shift:=xlDown [A8] = [A9] + 1 ' remise à zéro du formulaire Unload Formulaire ' ferme le formulaire End Sub
Cdlt
Génial marche du tonnerre.
vais encore t'ennuyer, décidément.
je maîtrise pas le vba fait plus de calcul sur excel avec fonction simple je m'en sort mais là....
Ma question est celle là, comment tu fait pour chercher dans une cellule des valeurs et en faire une condition.
j'ai une feuille appeler Paramètres sous excel
en D1 j'ai Thèmes
en D2 jusqu'à aller D20 j'ai de Thèmes
en E1 j'ai Heure
en E2 jusqu'à E20 des heures du type 00:00
en F1 j'ai Lieu
en F2 jusqu'à F20 c'est soit deux choix maison ou extérieur
en G1 J'ai Prix
en G2 jusqu'à G2 un prix correspondant
Ma question est celle-ci....
je voudrais en VBA que la condition selon ce que indique mon textbox en l'occurence celle de l'heure et combobox lieu et combobox theme dans mon userform puisse faire la correspondance entre chaque ligne si elle la trouve.
Je m'explique si les deux combobox ou le textbox m'indique la même valeur correspondant à la ligne 2 sur D2+E2+F2 cela donnera G2 et ainsi de suite pour les autres ligne.
vais encore t'ennuyer, décidément.
je maîtrise pas le vba fait plus de calcul sur excel avec fonction simple je m'en sort mais là....
Ma question est celle là, comment tu fait pour chercher dans une cellule des valeurs et en faire une condition.
j'ai une feuille appeler Paramètres sous excel
en D1 j'ai Thèmes
en D2 jusqu'à aller D20 j'ai de Thèmes
en E1 j'ai Heure
en E2 jusqu'à E20 des heures du type 00:00
en F1 j'ai Lieu
en F2 jusqu'à F20 c'est soit deux choix maison ou extérieur
en G1 J'ai Prix
en G2 jusqu'à G2 un prix correspondant
Ma question est celle-ci....
je voudrais en VBA que la condition selon ce que indique mon textbox en l'occurence celle de l'heure et combobox lieu et combobox theme dans mon userform puisse faire la correspondance entre chaque ligne si elle la trouve.
Je m'explique si les deux combobox ou le textbox m'indique la même valeur correspondant à la ligne 2 sur D2+E2+F2 cela donnera G2 et ainsi de suite pour les autres ligne.
Si j'ai bien compris
Dans le "Formulaire", on saisit l'heure, le thème et le lieu et si les 3 réunis correspondent à une des lignes du tableau de la feuille "PARAMETRES" alors dans la textbox5 "ACCOMPTE" on affiche le prix trouvé en colonne G de la feuille "PARAMETRES"
https://www.cjoint.com/c/FEorYMs8PLw
Pour que cela fonctionne, sur les 3 paramètres à saisir dans le formulaire, il faut saisir le "LIEU" en dernier (c'est lui qui déclenche la recherche).
Autre chose: dans le tableau de la feuille "PARAMETRES", les heures sont entrées au format texte et non pas au format heure (les heures s'affichent sur la partie gauche de la colonne).
Cdlt
Dans le "Formulaire", on saisit l'heure, le thème et le lieu et si les 3 réunis correspondent à une des lignes du tableau de la feuille "PARAMETRES" alors dans la textbox5 "ACCOMPTE" on affiche le prix trouvé en colonne G de la feuille "PARAMETRES"
https://www.cjoint.com/c/FEorYMs8PLw
Pour que cela fonctionne, sur les 3 paramètres à saisir dans le formulaire, il faut saisir le "LIEU" en dernier (c'est lui qui déclenche la recherche).
Autre chose: dans le tableau de la feuille "PARAMETRES", les heures sont entrées au format texte et non pas au format heure (les heures s'affichent sur la partie gauche de la colonne).
Cdlt
bonjour, Frenchie83
j'ai essayer de mettre un autre textbox pour afficher le prix selon les parametres comme tu l'avais fait sur ton exemple,
mais je n'arrive pas à se que cela affiche le prix comme toi?
qu'ai je donc oublier dans ton code?
je voudrais que le prix s'affiche sur le textbox11
mais il est important que la recherche basé sur la feuille paramètres soit respecté...
je veux dire qu'il peu avoir plusieurs fois le même thème, à des heures différente ou lieu différent avec un prix lui aussi différent.
Il ne peu avoir un thème particulier pour chaque possibilité....
peu tu m'éclairer ? merci
http://www.cjoint.com/c/FEqpKE1PAy0
j'ai essayer de mettre un autre textbox pour afficher le prix selon les parametres comme tu l'avais fait sur ton exemple,
mais je n'arrive pas à se que cela affiche le prix comme toi?
qu'ai je donc oublier dans ton code?
je voudrais que le prix s'affiche sur le textbox11
mais il est important que la recherche basé sur la feuille paramètres soit respecté...
je veux dire qu'il peu avoir plusieurs fois le même thème, à des heures différente ou lieu différent avec un prix lui aussi différent.
Il ne peu avoir un thème particulier pour chaque possibilité....
peu tu m'éclairer ? merci
http://www.cjoint.com/c/FEqpKE1PAy0
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
c'est presque cela, non en faite quand les 3 paramètres sont réunis,
Textbox5
Combobox2
Combobox1
je sais pas ou le mettre, mais si les 3 conditions correspond à ce qu'il y a dans la feuille des paramètres en D E F cela affichera le prix qui correspond à G
quand je vais enregistrement la saisi le but est que le tarif s'affiche dans la feuille Base de Donnée sur la cellule en F8 ou il y les prix.
on touche pas au Paramètres c'est les prix selon les heures.
Le but n'était pas de remplir l'acompte qui servira à autres chose plus tard, le problème en VBA j'arrive pas à comprendre le principe des fonctions comme sur une programmation excel.
se qui me complique le problème, j'ai trouvé plus agréable de passer par VBA plus ergonomique....mais je coince dans plein de domaine.... navré
Textbox5
Combobox2
Combobox1
je sais pas ou le mettre, mais si les 3 conditions correspond à ce qu'il y a dans la feuille des paramètres en D E F cela affichera le prix qui correspond à G
quand je vais enregistrement la saisi le but est que le tarif s'affiche dans la feuille Base de Donnée sur la cellule en F8 ou il y les prix.
on touche pas au Paramètres c'est les prix selon les heures.
Le but n'était pas de remplir l'acompte qui servira à autres chose plus tard, le problème en VBA j'arrive pas à comprendre le principe des fonctions comme sur une programmation excel.
se qui me complique le problème, j'ai trouvé plus agréable de passer par VBA plus ergonomique....mais je coince dans plein de domaine.... navré
Bonjour
C'est la Combobox1 qui déclenche la recherche du prix
Cdlt
C'est la Combobox1 qui déclenche la recherche du prix
Private Sub ComboBox1_Change() ' cette procédure permet de renseigner la cellule D8 en fonction de la donnée ' écrite dans le formulaire à la parti Lieu Sheets("BASE de DONNEE").Select [D8] = ComboBox1 Call RechercherPrix TextBox11 = Prix End Sub
Cdlt
j'était pas loin mais mal saisi les données avec le [G8], sa marche nickel, merci de ton aide....
j'ai une autre question, je bloque sur comment je pourrais incrémenter le chiffre 1 sur la feuille Base de donnée en [A8] , en gros à chaque ligne je souhaiterais qu'il m'indique 1 puis 2, 3 ect à chaque ligne saisi.
si tu pouvais m'aider