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
jdlion - 28 déc. 2019 à 10:18
A voir également:
- Confection d'une macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Macro recorder - Télécharger - Confidentialité
- Telecharger macro nblettre.xla - Forum Bureautique
7 réponses
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
25 déc. 2019 à 14:19
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
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
yg_be
Messages postés
23323
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 novembre 2024
Ambassadeur
1 552
24 déc. 2019 à 21:21
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.
il est plus facile de programmer en VBA à partir d'une explication du résultat attendu, plutôt qu'à partir d'une macro Lotus.
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
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
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
yg_be
Messages postés
23323
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 novembre 2024
1 552
25 déc. 2019 à 11:42
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
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
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
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+
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+
yg_be
Messages postés
23323
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 novembre 2024
1 552
25 déc. 2019 à 14:35
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?
peut-être peux-tu partager le fichier?
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
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
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
25 déc. 2019 à 20:41
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
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
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
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