> Tous les forums > Forum Bureautique
 Macro oOo fin de tableau somme
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
lazzzy
  Posté le 28/11/2009 @ 10:58 
Aller en bas de la page 
Astucien

Bonjour,

cherchant à réaliser une macro "manuelle" rudimentaire et concernant quasi-exclusivement la mise en forme, je bute sur un problème de fin de tableau et de somme.

En fait, ce tableau présente une série de colonnes avec des critères, et pour chacun d'entre eux, il y a soit 1 soit rien dans les cellules. Le tableau est évolutif, chaque jour il compte un nombre supplémentaire et imprévisible de lignes, mais tjs avec les mêmes types de données. Le nbre de colonnes est définitivement fixe : AX. La macro doit agir de manière uniforme sur ces tableaux.

Admettons qu'au jour j, le tableau fasse 50 lignes.

Desription de l'enregistrement de la macro : Je me positionne sur la cellule A1, j'appuie sur CTRL + FIN, ce qui amène le curseur à la cellule AY:50. Ensuite j'appuie sur la touche "Origin" (ou "début" selon le clavier), ce qui ramène à la position A50. Enfin j'appuie sur la flèche "bas" et on est sur A51, soit la (dernière + 1) ligne.

L'objectif à ce stade, est de calculer la somme des données de la colonne A (incluant donc des 1 ou des cellules vides) : somme (A2:A50). Une fois ce total calculé, je sélectionne la cellule A51 et la prolonge jusqu'à la cellule AX:51 de sorte à ce que chaque colonne ait son total.

Et c'est là que ça ne va pas, car je n'arrive pas à faire le choix de la plage de données autrement qu'en sélectionnant la dernière ligne jusqu'à la deuxième (la première étant les titres) ; du coup la macro enregistre la plage A2:A50

Si j'essaye d'exécuter cette macro sur un tableau au jour j+2 par exemple, il calculera la somme pour la même plage alors que le tableau aura un nbre de lignes supérieur à 50. Et de plus le total sera inséré anarchiquement à la ligne 51 dans un tableau comportant plus de 51 lignes.

Je ne sais pas si j'ai été assez clair dans la description, mais l'idée est là : trouver une astuce pour rejoindre la dernière ligne d'un tableau

Il est inutile de vous préciser que je ne sais pas programmer de macro, donc s'il y a moyen d'échapper à cette contrainte c'est un plus.

Merci

Publicité
mjd535
 Posté le 28/11/2009 à 11:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour lazzzy,

J'avoue ne pas avoir bien compris. Un exemple serait plus parlant.

Je te donne deux pistes :

Pour ce qui me concerne, lorsque je veux effectuer le total d'une colonne à nombre de lignes variables, j'utilise la formule suivante :

Si le total s'effectue sur la même feuille :

=SOMME(A2:A65536)

Si le total s'effectue sur une feuille différente :

=SOMME(nom de la feuille.A2:A65536)

Si tu veux récupérer la valeur de la dernière cellule d'une colonne :

=INDEX(nom de la feuille.A2:A65536;NB(nom de la feuille.A2:A65536);1);

65536 est le nombre maximum de lignes que peut accepter une feuille calc.

J'espère avoir approché un peu.

Sinon tu nous permettras d'y voir un peu plus clair.



Modifié par mjd535 le 28/11/2009 12:24
lazzzy
 Posté le 28/11/2009 à 12:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Ok merci, alors pour être plus concret, j'ai fait un exemple http://www.cijoint.fr/cjlink.php?file=cj200911/cij5NqbfR0.ods : "données brutes" et "résultat attendu" en deuxième onglet.

sur la mise en forme :

- centré, milieu

- 1ere ligne de titres : orientation 90°, gras

- largeur de colonnes "optimale" afin que l'ensemble tienne sur la partie visible, sans avoir à scroller latéralement

- fenêtre fixée en C2

Le problème avec la macro : obtenir à la dernière ligne du tableau - sachant qu'elle est inconnue à priori - cette série de totaux en gras avec le titre "Tot"

lazzzy
 Posté le 29/11/2009 à 17:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Par rapport à tes deux pistes, je ne vois pas comment et surtout où insérer la formule

en fait cette macro est censée faciliter le travail de lecture de ces chiffres, à la base comme tu peux le voir c'est très étendu et il faut copieusement scroller.

D'où l'idée d'insérer ce total juste sur la dernière ligne du tableau

Je n'ai pas réussi à tirer qquechose de la valeur de la dernière cellule

procole
 Posté le 29/11/2009 à 17:46 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour

A mon avis il faut partir d'un modèle de feuille avec une ligne entière nommée à laquelle tu pourras faire référence dans une macro.

Ensuite tes nouvelles lignes tu les créeras non pas en dessous , mais au dessus de cette ligne nommée qui restera toujours la dernière

Une autre solution consiste à rechercher quelle est la première ligne vide . ça sera forcément ta dernière ligne. J'avais employé cette méthode il y a déjà quelques années quand on pouvait faire des macros sous Excel sans le basic. ça fonctionnait bien

C'est certainement faisable avec du open office basic , mais là ne compte pas sur moi pour t'aider {#}

mjd535
 Posté le 29/11/2009 à 17:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

salut lazzy,

Je viens de rentrer, excuse mon silence.

J'avoue n'avoir pas très bien compris ton tableau, d'autant plus que je n'ai pas accès aux lignes du haut.

Tu ne peux pas effectuer le total en question sur une autre feuille ?

Tu pourrais obtenir le total de toute la colonne de la ligne 2 à la ligne x (jusqu'à 35536) quel que soit le nombre de lignes et en évitant de scroller la page.

EDIT :

Je lis le post de procole (Salut procole). Sa piste amène sur un terrain où je ne peux aller. Trop pointu pour moi.

A toutes fins utiles, je te donne l'url DU forum OOo : http://user.services.openoffice.org/fr/forum/index.php?sid=e96297be24581882cee8040224afd047.

Ce n'est pas pour botter en touche. Je peux développer ma proposition.



Modifié par mjd535 le 29/11/2009 17:56
lazzzy
 Posté le 29/11/2009 à 19:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

OK pour l'idée de procole, mais le souci c'est que la récupération du fichier est automatisée, ainsi que son ouverture (après exécution également automatique de la macro) ; la seule chose que je peux faire en amont c'est la macro puisqu'elle se situe dans le classeur de macros personnelles, et s'appelle indépendamment du contenu de la feuille.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
71,99 €Amazon Fire TV Cube à 71,99 €
Valable jusqu'au 20 Janvier

Boulanger fait une belle promotion sur l'Amazon Fire TV Cube qui passe à 71,99 € au lieu de 119,99 €. Fire TV Cube est l'appareil Fire TV le plus rapide et le plus puissant (4K ultra HD, 6 coeurs, 16 Go, Ethernet, Dolby Atmos) : il vous livre une expérience d'utilisation fluide et rapide pour profiter de vos films et séries préférés (Netflix, Prime Video, Disney+, MyCanal, Molotov, YouTube). Fire TV Cube vous permet de poser la télécommande et de vous plonger dans vos films et séries préférés en utilisant uniquement le son de votre voix. Vous pouvez aussi demander à Alexa de régler le volume ou de couper le son de votre TV ou barre de son compatible. 


> Voir l'offre
18,85 €Micro clé USB 3.1 Sandisk Ultra Fit 128 Go à 18,85 €
Valable jusqu'au 19 Janvier

Amazon fait une promotion sur la micro clé USB Sandisk Ultra Fit d'une capacité de 128 Go qui passe à 18,85 €. La minuscule taille de cette clé USB va vous permettre de la laisser brancher en permanence sur votre portable, votre TV ou votre autoradio sans qu'elle dépasse de manière disgracieuse. Sa compatibilité USB 3.1 lui permet d'atteindre des débits jusqu'à 130 Mo/s. 


> Voir l'offre
21,99 €Casque sans-fil bluetooth Philips TAH4205WT à 21,99 €
Valable jusqu'au 20 Janvier

Cdiscount fait une promotion sur le casque sans-fil bluetooth Philips TAH4205BK qui passe à 24,99 € au lieu d'une quarantaine d'euros habituellement. Ce casque offre des basses puissantes et percutantes et une bonne isolation phonique. Des commandes sur la coque vous permettent de contrôler vos appels, la musique et le volume. Le casque offre une autonomie de 29 h et peut être plié pour prendre moins de place dans le sac. Recharge via USB-C.


> Voir l'offre

Sujets relatifs
macro afficher masquer lignes tableau dans word 2010
[Excel 2007] Macro : Sélection d'un tableau selon sa longueur variable
macro pour trier un tableau et effacer les lignes sans saisie
Format un textbox et faire une somme par macro
Excel : Macro pour tableau croisé dynamique
Créer un tableau excel avec macro
Macro pour ajouter une ligne à la fin d'un tableau
Excel ,impression tableau
2 pages par feuille dans macro excel
compter lignes d'un tableau dont toutes les cellules sont en couleur
Plus de sujets relatifs à Macro oOo fin de tableau somme
 > Tous les forums > Forum Bureautique