Projet de compte
- Messages
- 1'794
- Excel
- 2010
- Inscrit
- 25/08/2014
- Emploi
- Consultant VB6 / SQL / VBA / Excel / Access
Bonsoir !
Heureux de pouvoir essayer de poursuivre ce joli projet
Possible si les explications sont claires, comme dans le cas présent
J'ai commencé à regarder il y a 10 minutes. Pour les plages nommées, ça risque d'être difficile de récupérer les valeurs, je ne trouve pas les propriétés qui permettent de le faire, vu que c'est une formule (pas possible de faire autrement qu'avec un "DECALER ?"
Dans un premier temps, j'alimenterai en me basant sur un nom d'onglet et une colonne. A voir si on peut faire mieux.
Bon, je vous tiens informé.
Bouben
- Messages
- 1'794
- Excel
- 2010
- Inscrit
- 25/08/2014
- Emploi
- Consultant VB6 / SQL / VBA / Excel / Access
Bonsoir,
Ci-joint une version temporaire, en cours de réalisation.
Fournie uniquement si vous voulez faire d'autres modifications en attendant que je poursuive, afin que vous repartiez de cette version et je reprendrai ensuite à partir de votre nouvelle version (éventuelle).
Bonne soirée.
Bouben
Bonjour Duportal,
vous êtes sur tous les fronts avec le feedback sur l'application "Calendrier mensuel"
Vous parliez de liste qui correspond aux intitulés des comptes lors d'un transfert...
Si vous n'utilisez pas la liste de la feuille BD avec le choix 1 et autre... pourquoi ?
Dans le fichier joint, j'ai créé un nom "compte_transfert" qui reprend la liste de la feuille BD en supprimant les cellules vides par la formule NB.SI(C2;"><") qui fait que l'on test la valeur de la cellule égal à vide plutôt que de tester s'il y a une formule ou rien...
J'ai modifié de la même manière la feuille BD au niveau des MFC.
@ bientôt
LouReeD
Bonjour à Tous et merci pour votre implication,
Vous trouverez ci dessous le document MISE A JOUR avec toutes vos remarques. J'ai aussi fait le trie sur les formes conditionnelles de chaque onglet, j'ai supprimé ceux qui me semblait inutile. J'ai créé 2 onglets différents pour la base de donnée (BD). J'ai aussi dans le gestionnaire de nom mise une fonction décaler pour "voiture" et "conducteur"Après vérification, le tous fonctionne (enfin presque).
LouReeD, après ce projet de compte, je voulais aussi me lancer dans un générateur de calendrier Annuel pour mon boulo. C'est quasiment ce que je recherche... Mais retournons à nos moutons
J'ai lu et relu et rerrelu ton dernier message mais je ne suis pas certain d'avoir tout compris.
L'idée pour ce projet est qu'il soit accessible à tous le monde, du débutant aux Expert. Donc pour répondre à ta question "Si vous n'utilisez pas la liste de la feuille BD avec le choix 1 et autre... pourquoi ?" :
1. C'est parce que si un utilisateur, qui n'y connait que très peu en Excel, supprime une cellule de la ligne 2 onglet BD_Rubrique, il ne verra plus son compte affiché de Système dans l'onglet Crédit-Débit puisqu'il aura supprimé la fonction Indirect de la cellule ligne 2 onglet BD_Rubrique
2. Sur l'appli, j'essaie de faire en sorte qu'il soit très 'modifiable', simple. Ce que je veux dire par là, par un exemple, l'utilisateur pourra utiliser 3 comptes ou 300 compte, la liste sera toujours actualisé dans l'onglet Crédit_Débit, colonne A (via le gestionnaire de nom "compte") mais aussi sur la colonne F (dans le cas où transfert serait sélectionné)
J'ai donc besoin du terme "Transfert" dans choix 1 Colonne E onglet Crédit_Débit pour que dans la colonne F (Onglet C/D), lorsque la cellule verra "Transfert" en colonne E, la colonne F affiche les 3 ou 300 comptes dans la liste déroulante (correspondant au gestionnaire de nom "compte"). Si la cellule Colonne F ne voie pas "Transfert", alors la liste déroulante correspondra au libellé principal sélectionné en colonne E. D'où l'idée de la formule SI.
Est-ce que tu crois qu'il y a moyen de faire fonctionner la boucle SI dans les listes déroulantes colonne F ?
Bouben, tu es évidement toujours le bienvenu pour cette appli. J'ai donc étudié ton travail dans la mise à jour ci-dessus. J'ai fais quelques modif, si vous êtes d'accord :
- Onglet Carburant : j'ai ajouté une colonne pour le type d'essence, en lien avec l'onglet Système. J'ai fait le décallage dans le VBA mais je n'ai pas pu tester (voir question suivante
- VBA, UserForm Carburant : J'ai donc ajouté un champs supplémentaire "Carburant". J'ai trouvé comment déclarer CboCarburant, faire la copie MAIS (prochaine question
Par ailleurs, dans ton idée, il faut que tous les champs soit complété pour valider. Mais est-ce que tu peux enlever cette obligation pour les champs carburants, Distance parcourue, quantité, tarif et note ?
Pour la macro correspondant au choix de la voiture en fonction du conducteur, je trouve cela super..
ppour la colonne J, effectivement c'était une erreur. J'ai fais la modif dans le VBA
Encore une fois merci pour votre implication. J'espère qu'elle plaira vraiment au autres utilisateurs. Je me rappelle début de cette année 2015 avoir cherché longtemps avant de trouver l'appli "suivi de compte".
Bonne soirée et à demain
- Messages
- 1'794
- Excel
- 2010
- Inscrit
- 25/08/2014
- Emploi
- Consultant VB6 / SQL / VBA / Excel / Access
Bonsoir,
Ci-joint une nouvelle version à tester.
Les modifications :
Duportal a écrit :- Onglet Carburant : j'ai ajouté une colonne pour le type d'essence, en lien avec l'onglet Système. J'ai fait le décallage dans le VBA mais je n'ai pas pu tester (voir question suivante
)
A restester !
Duportal a écrit :- VBA, UserForm Carburant : J'ai donc ajouté un champs supplémentaire "Carburant". J'ai trouvé comment déclarer CboCarburant, faire la copie MAIS (prochaine question
) Comment as tu fait pour faire le lien avec la liste déroulante correspondante ? Je n'ai pas pu testé parce que ne pouvant sélectionner un texte, je ne peux pas cliquer sur OK.
Cela fonctionne à 99% Le hic : tu es parti de la liste "Voiture" qui est bloquée (Locked), j'ai modifié la propriété pour la nouvelle liste et ça à l'air de marcher. En fait presque, il fallait copier la donnée "Carburant" et non "Distance"
Duportal a écrit :Par ailleurs, dans ton idée, il faut que tous les champs soit complété pour valider. Mais est-ce que tu peux enlever cette obligation pour les champs carburants, Distance parcourue, quantité, tarif et note ?
Modif faite : ajout du paramètre "pbOglibatoire" dans la fonction "ZoneOK".
Duportal a écrit :Pour la macro correspondant au choix de la voiture en fonction du conducteur, je trouve cela super..
Question subsidiaire : un conducteur peut avoir plusieurs voitures ? Actuellement non géré dans l'onglet "BD_Nom", donc non implémenté dans la saisie du carburant.
Autre modif pour info : ajout du signe "-" dans l'onglet "Crédit-Débit" (mais laissé en positif dans l'onglet "Carburant")
Bonne soirée également, et à demain ... peut-être
Bouben
Bonjour Bouben,
Merci. Le tous fonctionne. J’ai nettoyé un peu au niveau du texte fans le VBA. Et j’ai aussi ajouté un ‘-‘ pour le débit de l’onglet carburant dans le VBA
Je viens de m’apercevoir que dans le cas où la gestion des chèques est activé, dans l’onglet Système, elle ne fonctionne pas lors de la copie dans les 2 onglets C/D et Carburant dans la colonne Tiers. Est-ce qu’il serait possible d’avoir une fonction du genre :
1. Dans le cas où la gestion des chèques est activée
2. Et que dans l’écran VBA soit sélectionné Chèque
3. Alors dans le champ Tiers s’inscrirait "Chèque N°XXX" automatiquement en fonction du compte sélectionné. Ce serait le même fonctionnement que dans l’onglet « Crédit_Débit » : Dans le cas où l’utilisateur ne voudrait pas garder le N° de chèque, il n’aurait plus qu’à remplacer le nom dans le champ.
Par conséquent, de cette manière, la cellule colonne Tiers dans les onglets C/D MAIS AUSSI dans l’onglet carburant, serait écrit le chèque avec son N°(ou autre).
Dans l’écran Carburant, pour le choix de la voiture, c’est bloqué une fois que le conducteur est sélectionné : On ne peut plus choisir une autre voiture. Est-ce que tu peux débloquer cela ?
Ceci permettrai de choisir une autre voiture : Par exemple si 2 conducteur (ou 3, 4 …) partageraient 1 seule voiture. Mais par défaut, s'il est possible de garder ça, lorsque le conducteur serait sélectionner dans l’écran, le champ voiture afficherait son véhicule principal (comme c’est actuellement).
Voici le document mise à jour :
Et merci pour l'explication du choix du carburant dans l’écran carburant, c’est plus facile à comprendre une fois qu’on a la réponse
Bonne soirée et à demain (pour moi c’est sûr)
Bonsoir,
Pour la macro Carburant, je viens de trouver un bug avec la date. Si je tape précisément 06/12/15, excel le traduit dans la cellule par 12 Juin 2015
De plus, si j'essais 13/12/15, la cellule ne reconnait pas le 15 de 2015. Par contre, avec une autre date, pas de soucis.
Après plusieurs essais, j'ai aussi eu l'erreur suivant : Erreur d'exécution 75 : Objet spécifié introuvable
Et dans le VBA, en mode débug, dans le Userform mod carburant, il affiche en surlignant en jaune "frmCarburant.Show vbModal"
'V1.55
Public Sub AffichCarburant()
frmCarburant.Show vbModal
End SubQuelque fois, lorsque j'enregistre ou je ferme Excel, il n'y arrive pas correctement, avec les messages "Envoyer le rapport d'erreur" ou "Ne pas envoyer"
Est-ce que tu saurais d'où en viendrai la cause ?
- Messages
- 1'794
- Excel
- 2010
- Inscrit
- 25/08/2014
- Emploi
- Consultant VB6 / SQL / VBA / Excel / Access
Bonsoir,
Bon, on dirait que c'est devenu instable
Il va falloir retrousser les manches.
Pour l'instant, pas trop de pistes.
Le premier avis : on commence à avoir un fonctionnement un peu trop hétérogène : des formules, des événements (_Change) et des macro.
A ce stade de complexité, je pense qu'il faut revoir l'architecture. et transformer l'onglet "Crédit-Débit" en UserForm.
En gros :
- toutes les saisies se font dans des formulaires (comme carburant)
- les onglets servent uniquement de stockage des données ("Base de données", même si le terme est impropre), aucune saisie dans ces onglets
- et la restitution reste en l'état (onglets avec TCD)
Juste pour l'exemple (piste initiée il y a 2 semaines) : la liste des opérations sous forme de UserForm (à vérifier que cela fonctionne chez vous, le composant listview pose parfois des problèmes).
A méditer ...
Bonne soirée
Bouben
Bonsoir Bouben,
La version que vous avez transmit ne fonctionne pas, j'ai un message "impossible de charger cet objet parce qu'il n'est pas disponible sur cette machine"
Mais je pense avoir compris ce que vous voulez dire. Pas de soucis pour utilisé l'outil comme ça.
J'ai le sentiment que votre raisonnement est juste. Dan42153 sur le site a aussi mis en place un appli ressemblant à ça, mais avec qu’un seul compte. Il utilise beaucoup de UserForm, et je commence à comprendre pourquoi…
Je ne savais pas qu'excel pouvais avoir ces limites. C'était pour moi l'outil magique, où aucun tableau et calcul ne lui résistait...
Vous avez donc repris la version 1.52. Je ferais donc les Userform pour les onglets Crédit_Débit et BD_Rubrique. En rajoutant les Userform Carburant et Chèque
Je relirais ensuite l’ensemble des messages sur le forum depuis cette version pour remettre au propre (mise en forme conditionnelle, onglet, gestionnaire de nom…).
Pour terminer, j’essaierai de mettre en lien les champs des UserForm vers les liste… Mais là, je crains devoir revenir vers vous si vous le voulez bien.
Je pense que tous cela me prendra quelques jour. Alors je vous souhaite une Bonne soirée et à bientôt
RD
- Messages
- 1'794
- Excel
- 2010
- Inscrit
- 25/08/2014
- Emploi
- Consultant VB6 / SQL / VBA / Excel / Access
Bonsoir,
Juste rapidement car je quitte le forum pour ce soir : partez bien de votre dernière version (la mienne était juste un exemple, construit il y a quelques temps donc plus du tout à jour).
Pour le message d'erreur, c'est bien ce que je craignais, le composant listview n'est pas bon sur votre poste. Dommage, c'est bien pratique pour faire une liste.
A bientôt
Bouben
- Messages
- 1'794
- Excel
- 2010
- Inscrit
- 25/08/2014
- Emploi
- Consultant VB6 / SQL / VBA / Excel / Access
Bonsoir,
Duportal a écrit :J'ai le sentiment que votre raisonnement est juste. Dan42153 sur le site a aussi mis en place un appli ressemblant à ça, mais avec qu’un seul compte. Il utilise beaucoup de UserForm, et je commence à comprendre pourquoi…
Après avoir vu le fichier, cela ressemble étrangement à ce que vous voulez-faire.
Simple question : pourquoi ne pas partir de ce fichier très bien fait, et le faire évoluer avec vos spécificités (mensualisation, multi-comptes, TCD, ...) ?
A vous lire !
Bonne soirée
Bouben
Bonjour Bouben,
Je viens de voir votre dernier message. En faite, Je voulais à la base éviter d'avoir des Userform, et le projet de LouReeD semblait convenir à ce que j'avais besoin (Gestion multi-compte, transfert de compte à compte)... Avec le temps, je me suis posé des questions et de fil en aiguille, j'en suis arrivé à faire autre chose.
Voici dont le doc mise à jour, avec des UserForm. J'ai posé mes questions dans le VBA, dans les UserForm. Est-ce que ça vous va comme ça ? Ou souhaité vous que je l'écrive à nouveau sur le forum ? Je n'ai pas touché au module ni au feuille. J'ai repris la version 5.6, donc çExcel plante toujours un peu.
Pour le blocage des cellules de l'onglet, est ce qu'il faut le faire simplement pour Crédit_Débit (je préférerai) ? Ou faut-il impliquer aussi les autres onglets ? Je n'ai travaillé que l'onglet Crédit_Débit pour les UserForm. Et dans cette feuille C/D, est-ce qu'il serait possible de laisser la colonne G débloqué ?
Dans l'onglet Crédit_Débit, je n'ai pas mis de macro sur les touches Modifier / Supprimer / Copier. Parce que je ne sais pas comment faire. Est-ce que vous pouvez voir ?
Voilà... Je ne vous cache pas que j'ai hâte de voir l'outil fonctionner
Merci et à bientôt,
RD
- Messages
- 1'794
- Excel
- 2010
- Inscrit
- 25/08/2014
- Emploi
- Consultant VB6 / SQL / VBA / Excel / Access
Bonsoir Duportal,
Je jette un oeil et si j'ai des questions, je n'hésiterai pas à les poser
Bonne soirée
Bouben
- Messages
- 1'794
- Excel
- 2010
- Inscrit
- 25/08/2014
- Emploi
- Consultant VB6 / SQL / VBA / Excel / Access
Bonsoir,
Pour info : j'ai regardé et pour l'instant tout est très clair.
Il y a pas mal de boulot, mais ça avance bien (beaucoup plus facile à coder du userform pour ma part !)
Je reviendrai vers vous si j'ai des questions.
A plus pour d'autres nouvelles
Bouben
Merci beaucoups
Si je peux faire quelques chose, n'hésiter pas.
A bientôt,
RD
- Messages
- 1'794
- Excel
- 2010
- Inscrit
- 25/08/2014
- Emploi
- Consultant VB6 / SQL / VBA / Excel / Access
Bonsoir,
Ci-joint une nouvelle version (bêta) en cours de tests.
Pas mal de choses revues, prenant en compte les points précisés dans le code.
Il reste des choses à faire et pas mal de tests.
Et un point pas très clair : l'annulation d'un chèque. Il faudrait préciser un peu le résultat attendu.
Un exemple : on a déjà saisi 3 chèques 101, 102, 103. On annule le 101.
=> on fait quoi ?
Pour bien comprendre, à quoi correspond l'annulation d'un chèque ? C'est l'annulation de la saisie du chèque ou l'annulation réelle du chèque. Dans la vie, un chèque peut-il être annulé ? (renvoi par l'expéditeur ?) ou c'est un chèque impayé ? (dans ce cas, le chèque est émis donc garde son n°).
La gestion des chèques est rapidement devenue complexe, en raison des différentes règles en place :
ex : on a des chèques également dans la saisie des carburants, et des transferts, lors
ex 2 : on a une alimentation automatique des zones en fonction du tiers sélectionné (évol demandée) => si un compte sans chèquier est choisi, et ensuite un tiers sélectionné qui règle habituellement par chèque, on arrive à des cas un peu complexes !
Je vous laisse voir les différentes modifications faites (date, gestion des modifications, des suppressions, révision des transferts, et j'en oublie).
Possible qu'il y ait quelques régressions
Bonne soirée
Bouben
Bonsoir Bouben,
Et un point pas très clair : l'annulation d'un chèque. Il faudrait préciser un peu le résultat attendu.
Un exemple : on a déjà saisi 3 chèques 101, 102, 103. On annule le 101.
=> on fait quoi ?
Pour bien comprendre, à quoi correspond l'annulation d'un chèque ? C'est l'annulation de la saisie du chèque ou l'annulation réelle du chèque. Dans la vie, un chèque peut-il être annulé ? (renvoi par l'expéditeur ?) ou c'est un chèque impayé ? (dans ce cas, le chèque est émis donc garde son n°).
Ça, je n'y avais pas pensé
- Soit "l'annulation du dernier chèque". Donc la valeur dans système décrémente de 1 et dans l'onglet C/D, Chèque XXXX serait remplacé par "Chèque annulé"
- Soit, avec votre Exemple, on indique le chèque à annulé, et dans l'onglet C/D, Chèque XXXX serait remplacé par "Chèque annulé" (Donc pas de modif dans Système)
La gestion des chèques est rapidement devenue complexe, en raison des différentes règles en place :
ex : on a des chèques également dans la saisie des carburants, et des transferts, lors
ex 2 : on a une alimentation automatique des zones en fonction du tiers sélectionné (évol demandée) => si un compte sans chèquier est choisi, et ensuite un tiers sélectionné qui règle habituellement par chèque, on arrive à des cas un peu complexes !
J'imagine que c'est pour cela que vous avez ajouter une colonne Chèque. J'avoue vouloir essayer d'éviter d'ajouter une colonne supplémentaire chèque dans le tableau C/D, votre idée de mettre la valeur dans le champ Tiers me paraissait plutôt bonne. Avec dans l'onglet "Système" la "gestion des chèque" active, et dans les cas de figure où:
- Chèque est sélectionné, alors le champs tiers serait remplit par la valeur du chèque
- Tiers est d'abord sélectionné, il n'y aurait PLUS la possibilité de choisir dans type d'opération "chèque".
- Reste le cas de figure où (si je n'ai rien oublié) :
- Et que dans une 2èle ligne, il sélectionne le même nom Tiers qui à été mis dans la première ligne
- Alors dans ce cas là, la solution serait que le champ Type d'opération ne serait pas complété
J'ai testé la version Beta. Voici les points que j'ai fait :
- Onglet C/D et Mensualisation : J’ai supprimé les listes déroulantes et les nom dans le gestionnaire de nom (Appli testé, pas eu de soucis avec les USerForm)
- Onglet Rubrique : Transfert : Suppression de la ligne Transfert dans BD Rubrique, mais pas du message dans le VBA puisqu’il y a la reconnaissance automatique
- Onglet C/D : 1. UserForm Ajout/Transfer/Carburant : Reconnaissance auto lorsque tiers : J'ai ajouté des champs supplémentaire (Je voudrais que tous les champs soit complété)
2. Userform Transfert : Pour les virement, versement, j’ai aussi ajouter en cas de transfert avec la carte bancaire, chéque… (fonctionnement OK)
- Onglet Mensualisation : LA fonction transfert ne fonctionnait plus lors de la mensualisation puisque Excel s'utilise maintenant avec des UserForm. A ce moment là, je me suis donc dit que je pouvais aussi utiliser des USerForm. Il n'y aurra pas de gestion de chèque. J'attends vos modifications afin de comprendre et de compléter ces touches Transfert et ajout/supp/modif dans cet onglet
Voici les soucis que j'ai rencontré
- Pour la gestion des chèques, avec les UserForm, la fonction activé ou déactivé dans l'onglet Système ne fonctionne pas
- Blocage de la feuille C/D : - Avec les blocages, la fonction requete ne marche plus sur les colonnes du tableau
- Pour le fonctionnement des TCD, il faut qu'il y est le solde initial des comptes dans le tableau C/D. J'ai donc ajouté un UserForm pour création de compte dans l'onglet Système. Est-ce que vous pouvez le regarder ? Je n'ai pas réussi à le faire fonctionner. En cas de suppression d'un compte, les lignes présentent dans C/D serait conservé. Et en cas de modification du nom du compte, il faudrait si c'est possible faire le remplacement sur l'ensemble de l'onglet C/D.
- Onglet C/D : - Touche Copier : Elle ne fonctionne pas Mais les touche Supprimer et modifier fonctionne.
- Onglet C/D : - Touche modifier : Elle fonctionne. Mais si je veux modifier un transfert, il y a le message "il faut sélectionner 2 compte", et seul le compte crédité apparaît dans l'écran. Pour ne pas avoir le message, il faut sélectionner les 2 comptes de la ligne crédité. Est-ce qu'il est possible d'afficher les 2 comptes dans l'UserForm lorsqu'on clique sur Modifier avec 1 seul cellule (n'importe laquel) sélectionné ?
- Onglet C/D : - Touche Transfert : J'ai ajouté à la reconnaissance automatique les champs supplémentaire, mais comment faire pour le champs "Montant" ?
- Le champs chèque reste toujours affiché
- Onglet C/D : - Touche Ajout : La reconnaissance automatique du montant ne fonctionne pas aussi.
- Onglet C/D : - Touche Carburant : Pour le choix de la voiture, je n'ai pas trouvé comment faire la recherche par la colonne (voir doc joint). Par Exemple un couple qui partage plusieurs voiture. La voiture n’est pas LIER au conducteur, mais plutôt RECONNU par le conducteur principal
- Ici la reconnaissance automatique ne fonctionne pas.
Voilà. Je vais commencer à taper les notices pour les utilisateurs. je ferais du copier/coller avec les futur version.
A bientôt,
RD
Bonsoir,
J'ai trouvé les pannes pour la mensualisation
A bientôt,
RD
Bonsoir,
Voici le doc avec la notice qui se trouve dans l'onglet Système. Il reste encore un peu brouillon en attendant la suite.
Bouben, est-ce que vous avez pu voir pour les corrections ? Je suis prêt à tester toute les versions
A bientôt,
RD
Bonsoir Bouben,
J'essaie depuis plusieurs jour à faire fonctionner la touche copier mais je n'y arrive pas. Pouvez vous m'aider? J'utiliserai beaucoup cette touche.
Pour les requêtes, vu sur internet, il faut ôter la protection pour qu'elles soient fonctionnelle. Je le rajouterai dans la notice.
Dans "frmAjouter" J'essai de mettre en place un trie automatique par date, à chaque fois que je clique sur OK. Mais ça ne fonctionne pas. Où est mon erreur ?
Private Sub Tri()
ActiveSheet.Unprotect
Range("B" & Rows.Count).End(xlUp).Row.Select
ActiveWorkbook.Worksheets("Crédit_Débit").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Crédit_Débit").Sort.SortFields.Add Key:=Range("B"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("B" & Rows.Count).End(xlUp).Row.Select
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("B").Select
ActiveSheet.ProtectVoici dans le doc :
Cdt,
RD