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 !
J'aimerai après avoir sélectionné les lignes 4 à 153, modifier leurs hauteurs sur plusieurs feuilles de mon classeur via une macro sans que le mot de passe ne soit nécessaire.
Le classeur et les feuilles contiennent beaucoup de formules qui, si une personne autre que moi ne fait pas attention, peut provoquer une "catastrophe" dans le classeur
libre office 7.3.7.2
Ubuntu (modifier pour et par le travail)
sub Hligne
dim document as object
dim dispatcher as object
Dim HauteurLigne as double
call Deproteger 'appel macro de déprotection
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
HauteurLigne=Inputbox("Hauteur souhaitée en cm ?")
rem plage des lignes
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$4:$A$53"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "RowHeight"
args2(0).Value = HauteurLigne*1000 '
dispatcher.executeDispatch(document, ".uno:RowHeight", "", 0, args2())
'retour début feuille
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$B$4"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())
call Proteger 'appel macro de protection
end sub
Sub Proteger
Dim oDoc as Object rem le document
Dim Sheets as object rem les feuilles
oDoc=ThisComponent
oSheet = oDoc.Sheets.getByName("Feuille1")
MDP="" ' Mettre ici le Mot de passe
oSheet.protect(sPW)
end Sub
Sub Deproteger
Dim oDoc as Object rem le document
Dim Sheets as object rem les feuilles
oDoc=ThisComponent
oSheet = oDoc.Sheets.getByName("Feuille1")
MDP="" ' Mettre ici le Mot de passe
oSheet.unprotect(sPW)
end Sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
sub Hligne
Dim oDoc as Object
Dim Sheets as object
oDoc=ThisComponent
oSheet = oDoc.Sheets.getByName("Feuille1")
Dim HauteurLigne as single
Dim EntreeLigne as string
Dim MDP as string
MDP="" ' Mettre ici le Mot de passe
oSheet.unprotect(MDP)
EntreeLigne=Inputbox("Hauteur souhaitée en cm ?")
print "enttree "&EntreeLigne
HauteurLigne=CDbl(EntreeLigne) 'pour avoir les décimales
for i=3 to 52 'ligne 4 à 54
ThisComponent.currentController.activeSheet.Rows(i).Height = HauteurLigne*1000
next i
oSheet.protect(MDP)
end sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.