Gestion des boutons dans Libre Office Calc

Fermé
klages - 10 juin 2020 à 18:31
klages Messages postés 2 Date d'inscription jeudi 11 juin 2020 Statut Membre Dernière intervention 11 juin 2020 - 11 juin 2020 à 20:11
Bonjour,

Une feuille de calcul LibreOffice Calc comprend 500 lignes.
La première cellule de chaque ligne contient un bouton intitulé "Calcul".
Les cellules suivantes de la ligne contiennent des données numériques.
En cliquant sur un bouton quelconque, l'utilisateur déclenche une macro M (commune à tous les boutons) qui effectue un calcul à partir des données numériques de la ligne dans laquelle le bouton a été placé.

Question n° 1: Est il possible de rédiger une macro permettant de dupliquer le bouton "Calcul" sans avoir à se fatiguer à effectuer 499 copiés-collés ?
Cette macro contiendrait une boucle FOR ... NEXT, avec à l'intérieur de la boucle une commande indiquant les divers paramètres nécessaires pour la création de chaque bouton (coordonnées,
longueur, largeur, renvoi à la macro M, étiquette "Calcul" en caractères gras, etc ...

Question n°2: Est il possible de placer au début de la macro M une commande permettant de récupérer le n° de la ligne dans laquelle se situe le bouton, afin de permettra à ladite macro M
de récupérer les données numériques situées dans les différentes cellules de la ligne pour qu'elle puisse effectuer son calcul ?

J'ai cherché partout ces deux commandes dans Internet et je n'ai rien trouvé.

Merci d'avance si vous avez la réponse !

Cordialement,
A voir également:

3 réponses

yclik Messages postés 3593 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 24 avril 2024 1 481
11 juin 2020 à 16:05
Bonjour
il faudrait mettre un exemple sur ce forum
il y a peut être la solution consistant en faisant déclencher les macro sur évènement feuille
0
klages Messages postés 2 Date d'inscription jeudi 11 juin 2020 Statut Membre Dernière intervention 11 juin 2020
11 juin 2020 à 17:18
Bonjour,

Je vous remercie pour votre réponse
Voici un exemple simplifié (en réalité le calcul à effectuer est beaucoup plus compliqué, mais ce n'est pas ça qui me bloque):



L'utilisateur saisit des nombres dans les colonnes A et B, puis il clique sur "Calcul".
Une macro calcule la somme et l'affiche dans la colonne A + B.
Le problème est: comment faire connaître à la macro les 2 nombres qu'elle doit additionner ?
Et pour cela, comment lui faire connaître le n° de ligne dans laquelle sont situés ces
2 nombres ?

Autre question: comment dupliquer le bouton 500 fois de manière automatique, sans faire des copiés-collés ?

Cordialement,
0
yclik Messages postés 3593 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 24 avril 2024 1 481
11 juin 2020 à 18:40
Bonsoir
Le problème est: comment faire connaître à la macro les 2 nombres qu'elle doit additionner ?
il faudrait récupérer l'adresse de la cellule active
exemple
sub cell_active

Dim oDoc As Object
Dim Feuille As Object
oDoc = ThisComponent
Dim CelluleActive As Object
Feuille = oDoc.getSheets.getByName("Feuille1" )
CelluleActive = ThisComponent.getCurrentSelection
Dim r as integer
Dim c as integer
r=CelluleActive.CellAddress.Row
c=CelluleActive.CellAddress.Column
msgbox "colonne " + CStr(c) + " : ligne " + CStr(r)
end sub


ensuite effectuer le calcul en fonction des adresses

Voir ausssi les spécialistes des macros Ici
0
klages Messages postés 2 Date d'inscription jeudi 11 juin 2020 Statut Membre Dernière intervention 11 juin 2020
11 juin 2020 à 20:11
Merci beaucoup. Ca marche !
0