Programmation VBA EXCEL
Résolu/Fermé
LANGAZOU
LANGAZOU
- Messages postés
- 95
- Date d'inscription
- vendredi 16 janvier 2015
- Statut
- Membre
- Dernière intervention
- 8 novembre 2015
LANGAZOU
- Messages postés
- 95
- Date d'inscription
- vendredi 16 janvier 2015
- Statut
- Membre
- Dernière intervention
- 8 novembre 2015
A voir également:
- Programmation VBA EXCEL
- Programmation vba pour excel 2019 pour les nuls pdf - Forum - VB / VBA
- Visual Basic pour les nuls - Forum - Logiciels
- Programmation VBA sur Excel ✓ - Forum - VB / VBA
- Programmation VBA pour Excel ✓ - Forum - Excel
- [Ecrire un programme VBA lier Excel Access] ✓ - Forum - VB / VBA
11 réponses
MegaTruite
17 janv. 2015 à 19:41
- Messages postés
- 27
- Date d'inscription
- mardi 30 septembre 2014
- Statut
- Membre
- Dernière intervention
- 7 septembre 2016
17 janv. 2015 à 19:41
Bonjour
Je n'ai pas essayé votre code, mais peut-être pourriez-vous tenter de mettre les Exit For et End If dans le bon ordre.
Il ne me SEMBLE pas que cela soit correct.
Je n'ai pas essayé votre code, mais peut-être pourriez-vous tenter de mettre les Exit For et End If dans le bon ordre.
Il ne me SEMBLE pas que cela soit correct.
Le Pingou
Modifié par Le Pingou le 17/01/2015 à 22:38
- Messages postés
- 11016
- Date d'inscription
- mercredi 11 août 2004
- Statut
- Contributeur
- Dernière intervention
- 20 mai 2022
Modifié par Le Pingou le 17/01/2015 à 22:38
Bonjour LANGAZOU,
Je regarde votre fichier et vous donne réponse, patience.
Comment se déclenche votre code... !
Salutations.
Le Pingou
Je regarde votre fichier et vous donne réponse, patience.
Comment se déclenche votre code... !
Salutations.
Le Pingou
LANGAZOU
17 janv. 2015 à 22:52
- Messages postés
- 95
- Date d'inscription
- vendredi 16 janvier 2015
- Statut
- Membre
- Dernière intervention
- 8 novembre 2015
17 janv. 2015 à 22:52
Salut Pingou,
Ce code je l'ai trouvé quelque part et je veux l'intégrer au sein de mon commandbutton. je le trouve très adéquat et correspond mieux que mettre plusieurs fonctions SELECT ou IF.juste pour info les conditions à respecter sous la Feuil1 ne sont q'un petit exemple parmi plusieurs conditions que je vais encore les rajouter.
Merci pour votre réponse
Ce code je l'ai trouvé quelque part et je veux l'intégrer au sein de mon commandbutton. je le trouve très adéquat et correspond mieux que mettre plusieurs fonctions SELECT ou IF.juste pour info les conditions à respecter sous la Feuil1 ne sont q'un petit exemple parmi plusieurs conditions que je vais encore les rajouter.
Merci pour votre réponse
Le Pingou
17 janv. 2015 à 23:06
- Messages postés
- 11016
- Date d'inscription
- mercredi 11 août 2004
- Statut
- Contributeur
- Dernière intervention
- 20 mai 2022
17 janv. 2015 à 23:06
Bonjour,
Merci pour l'information.
J'ai la réponse à ma question : le code se déclenche dès l'ouverture du classeur.
En marge les procédures dans les 2 modules (Module1 et Module2) n'ont strictement rien à voir avec votre formulaire.
Le code du formulaire n'est pas correct et en plus il manque l'initialisation du formulaire, il est vide..... pas de choix pour [Nom] et [Devise].... Étrange.
Pouvez-vous expliquer ce que vous voulez réaliser et le résultat à obtenir (ou insérer les données validées... ?
Merci pour l'information.
J'ai la réponse à ma question : le code se déclenche dès l'ouverture du classeur.
En marge les procédures dans les 2 modules (Module1 et Module2) n'ont strictement rien à voir avec votre formulaire.
Le code du formulaire n'est pas correct et en plus il manque l'initialisation du formulaire, il est vide..... pas de choix pour [Nom] et [Devise].... Étrange.
Pouvez-vous expliquer ce que vous voulez réaliser et le résultat à obtenir (ou insérer les données validées... ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
LANGAZOU
17 janv. 2015 à 23:14
- Messages postés
- 95
- Date d'inscription
- vendredi 16 janvier 2015
- Statut
- Membre
- Dernière intervention
- 8 novembre 2015
17 janv. 2015 à 23:14
le module 1 et 2 n'ont rien à voir avec le formulaire c'est juste des test. cette macro c'est juste un petit exemple. si j'aurais la réponse sur cette miniature je vais recopier le code sur ma macro d'origine (qui est plus clair et plus compliquée).
je veux seulement savoir utiliser et intégrer le code que je t'avais cité (for Each..) dans ma commandbutton. je veux la création d'une alerte à chaque dépassement de la grille sous la Feuil1.
je veux seulement savoir utiliser et intégrer le code que je t'avais cité (for Each..) dans ma commandbutton. je veux la création d'une alerte à chaque dépassement de la grille sous la Feuil1.
Le Pingou
17 janv. 2015 à 23:24
- Messages postés
- 11016
- Date d'inscription
- mercredi 11 août 2004
- Statut
- Contributeur
- Dernière intervention
- 20 mai 2022
17 janv. 2015 à 23:24
Bonjour,
Merci, pour ce soir c'est tout pour moi.
Bon dimanche.
Merci, pour ce soir c'est tout pour moi.
Bon dimanche.
LANGAZOU
17 janv. 2015 à 23:26
- Messages postés
- 95
- Date d'inscription
- vendredi 16 janvier 2015
- Statut
- Membre
- Dernière intervention
- 8 novembre 2015
17 janv. 2015 à 23:26
Bonjour,
à tré bientot Le Pingou .
Merci et bon dimanche
à tré bientot Le Pingou .
Merci et bon dimanche
Le Pingou
18 janv. 2015 à 22:23
- Messages postés
- 11016
- Date d'inscription
- mercredi 11 août 2004
- Statut
- Contributeur
- Dernière intervention
- 20 mai 2022
18 janv. 2015 à 22:23
Bonjour,
Première chose, votre code ne marche pas car vous faites référence à [ListObjects("Tab_Taux")] qui n'existe pas .... Et par analogie l'instruction [TheRow.Range(1, 1).Value)] est aussi erronée....
Alors je vous décris ce que je pense que vous voulez réaliser : entrer des données dans le formulaire [UserForm1] (Montant, Nb Jours et Taux) et contrôler que ceux-ci soient dans la fourchette des valeurs de la ligne correspondante du tableau nommée [Tab_Taux] de la feuille [Feuil1] et en cas de non concordance un message d'alerte vous demande de modifier la/es valeur/s.
Si tout en ordre on écrit les valeurs à la suite dans la feuille [Historique].
Note : Le taux est imposé selon les valeurs NBj et Montant donc il devrait être entré automatiquement dans le formulaire....Oui / Non
J'attends votre réponse pour poursuivre
Première chose, votre code ne marche pas car vous faites référence à [ListObjects("Tab_Taux")] qui n'existe pas .... Et par analogie l'instruction [TheRow.Range(1, 1).Value)] est aussi erronée....
Alors je vous décris ce que je pense que vous voulez réaliser : entrer des données dans le formulaire [UserForm1] (Montant, Nb Jours et Taux) et contrôler que ceux-ci soient dans la fourchette des valeurs de la ligne correspondante du tableau nommée [Tab_Taux] de la feuille [Feuil1] et en cas de non concordance un message d'alerte vous demande de modifier la/es valeur/s.
Si tout en ordre on écrit les valeurs à la suite dans la feuille [Historique].
Note : Le taux est imposé selon les valeurs NBj et Montant donc il devrait être entré automatiquement dans le formulaire....Oui / Non
J'attends votre réponse pour poursuivre
LANGAZOU
18 janv. 2015 à 23:02
- Messages postés
- 95
- Date d'inscription
- vendredi 16 janvier 2015
- Statut
- Membre
- Dernière intervention
- 8 novembre 2015
18 janv. 2015 à 23:02
Bonjour ,
J'ai bien tourné ma macro avec la création du tableau sous la Feuil1. mais le problème c'est que le message d'erreur qui s'affiche ne contient pas la borne sup dépassé par exple "dépassement de la grille de taux :1.60" comment procéder svp à rajouter la borne sup dans le message box en conservant le code initial ci -dessous:
Dim TheRow As ListRow
For Each TheRow In Feuil3.ListObjects("Tab_Taux").ListRows
'On recherche la ligne qui correspond à critère Montant et Nbr de jour
If TextBox3 <> "" And TextBox7 <> "" And TextBox11 <> "" And ComboBox1 <> "" And ComboBox2 <> "" Then
If (CDbl(TextBox7.Text) >= TheRow.Range(1, 1).Value) And (CDbl(TextBox7.Text) < TheRow.Range(1, 2).Value) And (CDbl(TextBox3.Text) >= TheRow.Range(1, 3).Value) And (CDbl(TextBox3.Text) < TheRow.Range(1, 4).Value) Then
'On controle le taux
If CDbl(TextBox11.Text) > TheRow.Range(1, 5).Value And CheckBox1.Value = False Then
TextBox11.Value = ""
MsgBox " dépassement de la grille "
CheckBox1.Visible = True
'On quitte la boucle
Exit For
End If
End If
End If
Next
j'ai crée un checkbox1 ("Accord sup") qui devient visible lorsque je tape un taux supérieur à la grille de taux et il me faut que je le coche afin de valider mon placement avec un taux supérieur à la grille.
https://www.cjoint.com/?0AsxhnW6WsO
Merci pour votre réponse.
J'ai bien tourné ma macro avec la création du tableau sous la Feuil1. mais le problème c'est que le message d'erreur qui s'affiche ne contient pas la borne sup dépassé par exple "dépassement de la grille de taux :1.60" comment procéder svp à rajouter la borne sup dans le message box en conservant le code initial ci -dessous:
Dim TheRow As ListRow
For Each TheRow In Feuil3.ListObjects("Tab_Taux").ListRows
'On recherche la ligne qui correspond à critère Montant et Nbr de jour
If TextBox3 <> "" And TextBox7 <> "" And TextBox11 <> "" And ComboBox1 <> "" And ComboBox2 <> "" Then
If (CDbl(TextBox7.Text) >= TheRow.Range(1, 1).Value) And (CDbl(TextBox7.Text) < TheRow.Range(1, 2).Value) And (CDbl(TextBox3.Text) >= TheRow.Range(1, 3).Value) And (CDbl(TextBox3.Text) < TheRow.Range(1, 4).Value) Then
'On controle le taux
If CDbl(TextBox11.Text) > TheRow.Range(1, 5).Value And CheckBox1.Value = False Then
TextBox11.Value = ""
MsgBox " dépassement de la grille "
CheckBox1.Visible = True
'On quitte la boucle
Exit For
End If
End If
End If
Next
j'ai crée un checkbox1 ("Accord sup") qui devient visible lorsque je tape un taux supérieur à la grille de taux et il me faut que je le coche afin de valider mon placement avec un taux supérieur à la grille.
https://www.cjoint.com/?0AsxhnW6WsO
Merci pour votre réponse.
Le Pingou
18 janv. 2015 à 23:59
- Messages postés
- 11016
- Date d'inscription
- mercredi 11 août 2004
- Statut
- Contributeur
- Dernière intervention
- 20 mai 2022
18 janv. 2015 à 23:59
Bonjour,
Pour ce soir je vous remercie pour les réponses à mon message... pas trouvées....
En plus le code en question n'est pas le même que celui du fichier précédent qui lui bloc sur l'erreur de mon message...
Sur le fichier actuel si j'entre comme montant le nombre 1000 il se transforme en 36 526 comme par miracle ... difficile de comprendre...
Et ensuite la procédure m'indique une autre erreur et va se positionné sur une fonction du module 1.
Pour ce soir je vous remercie pour les réponses à mon message... pas trouvées....
En plus le code en question n'est pas le même que celui du fichier précédent qui lui bloc sur l'erreur de mon message...
Sur le fichier actuel si j'entre comme montant le nombre 1000 il se transforme en 36 526 comme par miracle ... difficile de comprendre...
Et ensuite la procédure m'indique une autre erreur et va se positionné sur une fonction du module 1.
LANGAZOU
19 janv. 2015 à 08:20
- Messages postés
- 95
- Date d'inscription
- vendredi 16 janvier 2015
- Statut
- Membre
- Dernière intervention
- 8 novembre 2015
19 janv. 2015 à 08:20
bonjour,
Désolé J'ai abouti à mon résultat souhaité ,je vous remercie Mr le Pingou pour votre suivi et votre aide préciseuse.
bonne journée et à très bientot :)
Désolé J'ai abouti à mon résultat souhaité ,je vous remercie Mr le Pingou pour votre suivi et votre aide préciseuse.
bonne journée et à très bientot :)
17 janv. 2015 à 20:19
Merci.