2 PB en VBA

Fermé
Xenos1705 Messages postés 93 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 11 juin 2018 - 10 févr. 2016 à 12:00
Xenos1705 Messages postés 93 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 11 juin 2018 - 18 févr. 2016 à 07:55
Bonjour à tous,

J'ai la macro suivante:


Sub Limite_enveloppe()
'
' Limite_enveloppe Macro

Application.ScreenUpdating = False

If Sheets("Tri ID enveloppes").Range("I25").Value > 1200000 Or Sheets("Tri ID enveloppes").Range("J25").Value > 1200000 Then
MsgBox "La valeur nominale ou effective de l'enveloppe renseignée est supèrieure à CHF 1'200'000.-", vbOKOnly + vbCritical, "Enveloppe non conforme"
Rep = MsgBox("Souhaitez-vous splitter l'enveloppe?", vbYesNo + vbQuestion, "Split de l'enveloppe?")
If Rep = vbYes Then
Sheets("Base de données").Select
valeurA2 = Range("A2").Value
If valeurA2 = "" Then
Range("A2").Select
Else
Range("A1").Select
Selection.End(xlDown).Select
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base).Select
End If
Ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base).Select
Selection.ClearContents
Sheets("Formulaire").Select
Range("K11").Select
MsgBox "Les données précédemment saisies ont été supprimées. Merci de saisir les nouvelles données.", vbOKOnly + vbInformation, "Info"
Else
MsgBox "Vos données sont conservées. Merci de vérifier qu'il s'agit bien d'une cédule/obligation hypothécaire.", vbOKOnly + vbInformation, "Info"
End If

End If


Application.ScreenUpdating = True


End Sub



Mon premier PB est le suivant: Suite à la MsgBox: "Souhaitez-vous splitter l'enveloppe?", j'aimerai que la macro détecte la dernière ligne de ma base de donnée et supprime l'équivalent des Colonne A:N uniquement. Actuellement la macro ne me supprime que la dernière valeur de la colonne A uniquement. savez-vous comment faire pour prolonger la suppression jusqu'à la colonne T?

Mon deuxième PB est le suivant: Cette macro fonctionne sur la base d'un calcul de la cellule I25 ou J25. Actuellement j'exécute la macro manuellement mais j'aimerai qu'à chaque fois que la valeur en cellule I25 ou J25 change que celle ci déclenche automatiquement la vérification (macro).


D'avance merci pour vos retours.

cordialement.

4 réponses

f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710
10 févr. 2016 à 12:20
Bonjour,

supprime l'équivalent des Colonne A:N uniquement.
et
comment faire pour prolonger la suppression jusqu'à la colonne T?

Faut choisir !!
0
Xenos1705 Messages postés 93 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 11 juin 2018
10 févr. 2016 à 12:47
Effectivement, il s'agit bien de la colonne "N" et non "T" dsl.
0
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710
Modifié par f894009 le 10/02/2016 à 15:04
Re,

Question: comment les cellules I25 ou I25 sont renseignees, saisie a la mano ou avec votre "Formulaire" ou ........???
0
Xenos1705 Messages postés 93 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 11 juin 2018
10 févr. 2016 à 15:21
Re,

J'ai un formulaire qui alimente une base de données dans un autre onglet appelé "Base de données".
Ensuite dans un autre onglet "Tri ID enveloppes", une formule recense toutes les lignes de ma BdD.
Finalement, en bas de cette liste, il y a I25 et J25 avec une formule "=SOMME".

Merci d'avance de vous intéresser à mon cas
0
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710 > Xenos1705 Messages postés 93 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 11 juin 2018
Modifié par f894009 le 10/02/2016 à 15:34
Re,

J'ai un formulaire Feuille excel, Formulaire excel ou UserForm ??

Comment peut-on savoir que vous avez fini de remplir ce formulaire, car il faut un evenement pour declancher le code ???
0
Voilà le lien de mon fichier:
http://www.cjoint.com/c/FBkoB2boTnA
0
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710 > Xenos1705
Modifié par f894009 le 10/02/2016 à 18:03
Re,

Quel excel avez-vous ??
Y a un calendrier que je n'ai pas!!!!

Ai trouvez pour l'excel: 2007
Pour le calendrier, pas de probleme j'en ai un de substitution

Donc les cellules I25 et J25 de l'onglet Tri ID enveloppes sont a controler que si changement en cellule B1 du dit onglet
0
Xenos1705 Messages postés 93 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 11 juin 2018
11 févr. 2016 à 08:42
Re,

Je travaille sur Excel2010.

Le calendrier n'est pas pertinent dans la résolution de mon pb.

"Donc les cellules I25 et J25 de l'onglet Tri ID enveloppes sont a controler que si changement en cellule B1 du dit onglet" ---> C'est exactement ce que je souhaiterais faire.
0
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710
11 févr. 2016 à 14:47
Bonjour,

Je pensai vous avoir mis le fichier modifie de ce matin !!

le voici, pas mal de modif pour optimiser un peu, controle cellules formulaire remplies avant de faire autre chose et regardez pour le reste

https://www.cjoint.com/c/FBlnUkzp55f

je recupere quand meme votre dernier fichier
0
Xenos1705 Messages postés 93 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 11 juin 2018
11 févr. 2016 à 15:08
RE,

Je pense que dans une autre vie tu devais t'appeler Excel-God.

En tout cas merci t'es un ouf...

Par contre je dois élaborer un deuxième fichier (comme alternative au premier) avec les éléments fournis dans le précédent poste.
Le fichier doit faire la meme verification mais différement le calcul se fait sur l'onglet "Contrôle enveloppe".
Cette méthode est bien pensée car à la place de supprimer les données dans la BdD après vérification, celle-ci verifie les données avant de les enregistrer dans la BdD.
Ce que je souhaite c'est:
1)remplir mon formulaire
2) lorsque j'appuye sur exécuter, la vérification se déclenche
Si la réponse à la question "souhaitez-vous splitter l'enveloppe?" est "OUI", vider le formulaire.
Si la réponse est "NON" enregistrer les éléments renseignés dans mon formulaire dans la BdD.

La méthode à l'air plus simple mais je bloque déjà.

Encore merci pour l'autre fichier.
0
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710 > Xenos1705 Messages postés 93 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 11 juin 2018
Modifié par f894009 le 11/02/2016 à 16:04
Re,

Je pense que dans une autre vie tu devais t'appeler Excel-God.
Je ne pense pas, car je ne suis pas un specialiste d'EXCEL



je regarde pour le deuxieme fichier

Cette méthode est bien pensée car à la place de supprimer C'est ce que j'avais envisage pour le premier fichier, mais je voulais vous laisser un peu quelque chose de vous dans ce fichier

Petite explication, svp. En "Contrôle enveloppe" vous avez reproduit la structure de
"Tri ID enveloppes", comprends pas comment vous pouvez faire un controle avant ecriture BD puisqu'il y en a besoin pour verif dans "Tri ID enveloppes" et "Contrôle enveloppe"!!!!!!

Autre question, faut-t-il integrer le controle fait en "Tri ID enveloppes" ?
0
Xenos1705 Messages postés 93 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 11 juin 2018
Modifié par Xenos1705 le 12/02/2016 à 09:09
Il est possible que pour le meme ID d'enveloppe il y est plusieurs lignes. S'il s'agit de la première entrée du n° ID en question le calcul prend 0 comme total à additionner.

Mon idée est la suivante: l'utilisateur remplie le formulaire, au moment de déclencher la macro, le système copie le n° ID de l'enveloppe, le reporte sur Tri ID enveloppe pour checké si d'autre entrées existantes avec le même n° ID. Si oui il prend le total déjé existent et si non il prend 0 comme valeur. Ensuite les totaux de Tri ID enveloppe sont copier et coller dans contrôle enveloppe. Sur la deuxième ligne dispo du tableau dans contrôle enveloppe nous allons coller en transposant,les deux valeurs en K19 et K20 remplies précédemment par l'utilisateur.
Si l'un des deux montant des totaux dans contrôle enveloppe est supérieur à 1200000, la macro se déclenche.
Cette fois-ci, si la réponse à la question "souhaitez-vous splitter l'enveloppe?" est "OUI", on vide le formulaire pour recommencer et rien n'a été renseigner dans la BdD.
Si la réponse est "NON" enregistrer les éléments renseignés dans mon formulaire dans la BdD.

J'espère avoir été un peu plus clair.

"Autre question, faut-t-il integrer le controle fait en "Tri ID enveloppes" ", j'espère y avoir répondu ci-dessus.

Redites-moi

Excellente journée.

Xenos

Mais si vous avez qqch de plus simple ou plus efficace suis également preneur.
0
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710 > Xenos1705 Messages postés 93 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 11 juin 2018
12 févr. 2016 à 10:17
Bonjour,

Je ne vais pas du tout faire ce que vous avez ecrit. Tout ce fera par calcul sans copie de copie vers quelque chose. Par contre ce ne sera peut-etre pas avant lundi midi

L'objet de ce code est de controler en temps reel si Valeur nominale ou/et Valeur effective
depasse 1200000, avec un choix de garder la/les valeurs saisies ou de faire une RAZ de la case de saisie

A+
0
Xenos1705 Messages postés 93 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 11 juin 2018
12 févr. 2016 à 10:40
C'est exactement cela. Par contre dans le calcul il faut également tenir compte des éventuelles données déjà saisis pour un même n° ID d'enveloppe.

"avec un choix de garder la/les valeurs saisies (dans la base de données)ou de faire une RAZ (du fromulaire dans le 1er onglet)de la case de saisie ":

Pas de souci pour le délai.

Merci bcp.
0