Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.
Modérateur :Vilains modOOs
Règles du forum Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
La modération vous a écrit: Veuillez noter que les balises s'écrivent avec la première lettre en majuscule, le reste en minuscules, le tout entre crochets. [Calc] remplace [CALC] dans votre titre•
Bjr
J'ai trouvé une petite macro pour afficher une alerte quand une cellule dépasse une certaine valeur.
J'aimerais la même chose, surveiller une cellule dans un onglet. Mais je voudrais que l'alerte s'affiche même quand je suis sur n'importe quel autre onglet.
Mon classeur fait quarante pages et le cellule que je surveille est un total sur la page Récap.
Cela doit être possible en adaptant la macro ?
merci
Dernière modification par Alain-81 le 10 nov. 2024 18:26, modifié 1 fois.
Bonsoir,
Intéressé par le sujet, je l'ai branchée sur l'événement du classeur "Le statut Modifié a été changé" (Outils>Personnaliser).
L'événement se déclenche bien, mais on ne voit le message que lorsqu'on vient sur la feuille où se trouve la formule.
Donc, peu d'espoir, à mon avis.
Cordialement,
Jean-Michel LibO 24.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04 LibO 24.8 sur OpenSuse & Linux MX
Function Alerte(arg1 as Integer)
if arg1 > 10 then msgbox ("Attention ")
End function
Function Suivi(arg2 as Integer)
if arg2 >0 then call SuiviAlerte
End function
Sub SuiviAlerte
Dim oDoc as Object rem le document
Dim Sheets as object rem les feuilles
Dim Nombre as integer
oDoc=ThisComponent
Sheet = oDoc.Sheets.getByName("Recap")
NbRecap=Sheet.getCellRangeByName ("A2").Value
If NbRecap > 10 then msgbox ("Attention valeur > à 10 ") else exit sub
end Sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Merci yclic
Oui ça fonctionne bien. Je trouve quand même un inconvénient de faire le suivi sur chaque feuille. Surtout que j'ai plusieurs sous totaux sur les feuilles (40) et il n'y a que sur la feuille récap où j'ai le total général.
Je pense que je vais pour le moment garder la fonction citée plus haut.
Sub SuiviAlerte
Dim oDoc as Object rem le document
Dim Sheets as object rem les feuilles
Dim Nombre as integer
Recalcul
oDoc=ThisComponent
Sheet = oDoc.Sheets.getByName("Recap")
NbRecap=Sheet.getCellRangeByName ("A2").Value
If NbRecap > 10 then msgbox ("Attention valeur > à 10 ") else exit sub
end Sub
sub Recalcul
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:CalculateHard", "", 0, Array())
end sub
Plus de fonction Suivi sur toutes les feuilles "en principe".
Cordialement
Luke
LibO 7.4.7.2 Raspberry pi et Libo 7.6.5.2 LinuxMint 22 Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
jeanmi2403 a écrit : ↑15 nov. 2024 22:11
Et comment est lancée la macro ?
>Événements de la feuille...>Contenu modifié
Assigner la macro SuiviAlerte sur l'ensemble des feuilles sauf sur la feuille Recap.
La macro Recalcul est enregistré à l'aide de l'enregisteur de macro : >Données>Calculer>Recalculer sans condition
Elle force le recalcul sur toutes les feuilles. En mode "normal" le recalcul ne se fait qu'au moment où la feuille Recap devient active.
Cordialement
Luke
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.4.7.2 Raspberry pi et Libo 7.6.5.2 LinuxMint 22 Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose