Confection d'une macro

Fermé
jdlion Messages postés 48 Date d'inscription vendredi 27 février 2009 Statut Membre Dernière intervention 6 juin 2024 - 24 déc. 2019 à 18:41
 jdlion - 28 déc. 2019 à 10:18
Bonjour les amis et joyeux Noël
Utilisateur férocement attaché au tableur , j'essaie de me dépatouiller avec un tableau en Excel pour un ami qui ne jure que par ce logiciel.
Une macro en Lotus ? Hyper-simple ! Par exemple avec cet extrait de fichier Excel :


Avec Lotus : {va}{?}~{end}{b 2}{g}{end}{h}{b} ---> cela signifie :

- actionne touche F5
- entre un nom enregistré (par exemple VOI dans le tableau)
- exécute
- touche Fin (ou End selon le clavier)
- deux fois curseur flèche basse
- deux fois curseur flèche gauche
- touche Fin
- curseur flèche haute
- curseur flèche basse

Cela m'amène directement sur la cellule où je veux commencer un nouvel enregistrement.

J'apprécierais de connaître la solution pour obtenir le même résultat avec Excel.
Ce sera mon petit cadeau de Noël ! :-)
Cordialement
A voir également:

7 réponses

eriiic Messages postés 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 234
25 déc. 2019 à 14:19
Bonjour,

ce que tu n'as pas compris, c'est qu'il faut expliquer en français ce que tu veux obtenir.
Par exemple :
quelque soit la cellule en cours je veux aller sur la 1ère cellule libre de la colonne A en cliquant sur un bouton.
Ou bien : je veux aller sur la 1ère cellule libre de la colonne A après validation d'une valeur en G
eric
1
yg_be Messages postés 23195 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 septembre 2024 Ambassadeur 1 534
24 déc. 2019 à 21:21
bonjour, la programmation VBA en Excel permet de réaliser des actions différentes qu'une succession de touches.
il est plus facile de programmer en VBA à partir d'une explication du résultat attendu, plutôt qu'à partir d'une macro Lotus.
0
jdlion Messages postés 48 Date d'inscription vendredi 27 février 2009 Statut Membre Dernière intervention 6 juin 2024 1
25 déc. 2019 à 11:17
Bonjour yg_be :-)
Ta réponse me laisse perplexe ! Je ne pratique Excel qu'accessoirement et la programmation en VBA m'est étrangère.
Je précise que, dans mon fichier, j'ai constitué une vingtaine de tableaux tel que celui imagé dans mon message précédent et chaque tableau est identifié par une cellule précise (VOI dans mon exemple).
Pour suivre ton propos, l’explication du résultat attendu n'est ainsi, en lançant une macro précise mais valable évidemment pour tous les tableaux, qu'une succession de déplacements me permettant d'aller à l'endroit choisi pour le libellé que j'ai à écrire.
Donc, comment transposer ce type d'actions en VBA ?
Pourrais-tu m'aider à construire sur cette base une macro afin de l'inclure dans mon fichier Excel ?
Cordialement
0
yg_be Messages postés 23195 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 septembre 2024 1 534
25 déc. 2019 à 11:42
peux-tu décrire la position de la cellule de destination par rapport à la position de la cellule d'origine sans faire référence à une succession de déplacements?
dans l'exemple que tu donnes, tu n'indiques pas quelle est la position de la cellule dont le nom est "VOI", ni la position de la cellule de destination
0
jdlion Messages postés 48 Date d'inscription vendredi 27 février 2009 Statut Membre Dernière intervention 6 juin 2024 1
25 déc. 2019 à 11:43
https://www.excel-pratique.com/fr/vba/premiere_macro.php
Je me suis rendu sur cette page et je me suis amusé à construire sur Lotus la macro correspondant à cet exemple. Résultat :
{va}A1~/ce{end}{b}~
{va}C1~/ce{end}{b}~
{va}B1~/d{end}{b}~A1~
{va}D1~/d{end}{b}~C1~
Je crée ensuite, sur la première ligne, le nom de la macro, par exemple sur la lettre Q : /cnc\Q~
Ainsi Ctrl Q lance l'action.
J'en conclue que c'est surtout une connaissance du langage à employer.
Question primordiale : vais-je me lancer à apprendre la programmation en VBA ?
Question secondaire : à près de 80 balais, cela en vaut-il la peine quand on a la chance d'avoir accès aux connaissances des cadors de CCM ?
A+
0
yg_be Messages postés 23195 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 septembre 2024 1 534
25 déc. 2019 à 14:35
au lieu de faire taper le nom du tableau, n'est-il pas plus pratique de laisser l'utilisateur cliquer dans le tableau, et laisser la macro utiliser le tableau ainsi choisi? si il n'y a qu'un seul tableau par onglet, c'est encore plus simple!
peut-être peux-tu partager le fichier?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
A ce stade, il convient de donner un peu plus d'explications.
Sur cette feuille de calcul, il y a une vingtaine de tableaux. Tous sont nommés individuellement : BAN pour les écritures de banque, VOI pour les frais de voitures, HAB pour ceux d'habillement, etc
Chacun de ces tableaux est destiné à recevoir au fur et à mesure les informations concernant les détails relatifs à chaque type de dépenses.
Chaque tableau comporte un nombre de lignes prédéfinies selon les prévisions : 500 pour BAN, 30 pour VOI, 15 pour HAB, etc.
L'action détaillée : je fais le plein d'essence. J'appelle le compte VOI, je vais sur la première cellule libre de la colonne Date et j'inscris les informations.
Quand le compte comporte une trentaine de lignes, la cellule à atteindre est visible à l'écran, donc un simple clic sur la cellule visible suffit.
En revanche, sur le compte BAN, j'aurai peu de lignes remplies pour les 30 ou 40 écritures mais, après quelques mois écoulés, j'aurai alors 100 ou 200 lignes occupées.
Le but recherché est d'arriver, grâce à une macro, directement à la première cellule libre de la colonne Date du tableau en question.

A la réflexion, je me casse la tête pour peu de choses. Mon ami, pas très fanatique d'informatique comme tu l'imagines, pourrait se contenter d'une manœuvre basique : une fois le compte appelé, se placer sur la cellule-titre Date, actionner la touche End (Fin) puis le curseur Bas.

L'idée de la macro me plaisait pour ne demander qu'une action au lieu de deux (Appel du compte et redirection automatique sur la cellule Date libre).

Cela dit, je reste très fidèle à Lotus que je pratique depuis sa sortie en 1983. Dommage qu'il n'ait pas pu résister au "rouleau-compresseur" Microsoft !
Si l'occasion m'était donnée je pourrais te présenter, par exemple, un programme complet de comptabilité à partie double que j'ai réalisé. Et le dernier en date : la gestion d'un tournoi de belote en 5 parties avec un nombre illimité de joueurs. Celui qui me l'a demandé en est resté sur le c.. en constatant la simplicité et l'efficacité.

Cela dit, aussi, Excel est un très bon programme qui, à l'instar de Word, est quand même devenu une belle usine à gaz :-). Mais il est incontournable, par exemple pour sa compatibilité avec d'autres logiciels comme, par exemple, File Maker, un autre de mes favoris.

Et pour conclure, ce fut un plaisir de dialoguer avec toi bien que ton souhait de m'appeler à utiliser le langage VBA n'ait pas abouti.

Tous mes vœux pour la nouvelle année qui se présente.
Cordialement
jd
0
eriiic Messages postés 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 234
25 déc. 2019 à 20:41
Bonjour,

Sans vouloir faire insulte à ton âge, Lotus date du millénaire précédent. Que le temps passe vite... ;-)

En fait tu prends un mauvais départ.
Il faut que tu fasses tes saisies au fil de l'eau dans une feuille unique, avec par exemple comme champs :
Date, Catégorie, Libellé, Recette, Dépense (ou colonne unique Montant avec + et - dedans)
Avec une validation par liste au moins pour Catégorie pour être sûr d'avoir des saisies identiques.
Ensuite avec des TCD tu peux te faire des rapports par mois, catégories, sans formule et sans vba.
Un peu de lecture :
http://www.xlerateur.com/divers/2010/05/14/les-13-regles-d%E2%80%99or-pour-utiliser-excel-comme-gestionnaire-de-donnees-612/

Tableau Croisé Dynamique (TCD) : http://www.mdf-xlpages.com/modules/publisher/item.php?itemid=109
et
http://www.mdf-xlpages.com/modules/publisher/item.php?itemid=130
Tu seras sidéré par la puissance des TCD.
Ca demande un peu de temps pour comprendre la philosophie, mais quel gain ensuite...
Joyeux Noël aussi
eric
0
Bonjour eriiic :-)
Merci pour ces informations qui pourraient m'ouvrir de larges horizons.
Il est vrai que rester fixé sur des bases désormais inertes, ou sans avenir nouveau, n'est guère constructif.
Avec les TDC, j'ai de quoi occuper les quelques temps libres qui me restent pour évoluer.
Je te remercie pour ces conseils.
Pour l'instant, je vais retourner avec quelques vérifications de comptes d'association dont l'exercice se termine.
Je te souhaite une très bonne année en te remerciant encore pour les fonctions que tu assumes à CCM.
Cordialement
Jacques
0