macro openoffice Calc qui ne marche pas ?
Dernière réponse : dans Programmation
Bonjour,
je souhaite mettre en place une macro qui permettrait sur un tableur openoffice de n'afficher une feuille que si le mot de passe attribué à cette feuille est correct.
ex:
un tableur est commun à 3 personnes (A,B et C).
la première feuille est visible par tous
la deuxieme feuille ne doit être visible que par A, il doit donc entrer un mot de passe pour la voir
la troisième feuille ne doit être visible que par B, il doit donc entrer un mot de passe pour la voir
la quatrième feuille ne doit être visible que par C, il doit donc entrer un mot de passe pour la voir.
j'ai essayé une macro trouvé dans un forum pour tester déjà sur une page :
mais openoffice me dit qu'il y a une erreur dans la macro...
quelqu'un aurait une idée ?
____________________________
modo: Pourquoi est-ce à moi de mettre le ? Le règlement n'est pas assez clair ?[/code]
je souhaite mettre en place une macro qui permettrait sur un tableur openoffice de n'afficher une feuille que si le mot de passe attribué à cette feuille est correct.
ex:
un tableur est commun à 3 personnes (A,B et C).
la première feuille est visible par tous
la deuxieme feuille ne doit être visible que par A, il doit donc entrer un mot de passe pour la voir
la troisième feuille ne doit être visible que par B, il doit donc entrer un mot de passe pour la voir
la quatrième feuille ne doit être visible que par C, il doit donc entrer un mot de passe pour la voir.
j'ai essayé une macro trouvé dans un forum pour tester déjà sur une page :
Private Sub Workbook_Open() If Sheets("Feuil1").Visible = True Then Sheets("Feuil1").Visible = False If InputBox("mot de passe", vbCritical) = "test" Then Sheets("Feuil1").Visible = True End If End Sub
mais openoffice me dit qu'il y a une erreur dans la macro...
quelqu'un aurait une idée ?
____________________________
modo: Pourquoi est-ce à moi de mettre le ? Le règlement n'est pas assez clair ?[/code]
Autres pages sur : macro openoffice calc marche
Lassé par la pub ? Créez un compte
Bonjour NatD, et bienvenue sur ce forum.
1°) Merci de prendre d'avoir pris connaissance du règlement et de mettre ton message en conformité. On ne présente pas son code avec [#3800c6], mais avec [code]
2°) Si OOo te dit qu'il y a une erreur, merci de nous la dire aussi :
Quelle erreur ?
Quel numéro d'erreur ?
A quelle ligne ?
1°) Merci de prendre d'avoir pris connaissance du règlement et de mettre ton message en conformité. On ne présente pas son code avec [#3800c6], mais avec [code]
2°) Si OOo te dit qu'il y a une erreur, merci de nous la dire aussi :
Quelle erreur ?
Quel numéro d'erreur ?
A quelle ligne ?
ok désolé mais je ne m'y connait pas trop...
le message d'erreur qui apparait est "Runtime error BASIC.Sous-procédure ou procédure de fonction non définie" et la partie du macro concernée est :
If Sheets("Feuil1" ).Visible = True
en fait je n'y connait rien en macro mais c'est à priroi le seul moyen pour arriver à faire ce que je veux, donc j'essaie de m'y mettre...
le message d'erreur qui apparait est "Runtime error BASIC.Sous-procédure ou procédure de fonction non définie" et la partie du macro concernée est :
If Sheets("Feuil1" ).Visible = True
en fait je n'y connait rien en macro mais c'est à priroi le seul moyen pour arriver à faire ce que je veux, donc j'essaie de m'y mettre...
Normal que la macro ne marche pas !
Il faut appeler ton classeur voici ta macro pour quel fonctionne.
Il faut appeler ton classeur voici ta macro pour quel fonctionne.
Private Sub Workbook_Open()
Dim oMonClasseur As variant, oFeuille As variant
Rem Le classeur actif
oMonClasseur = ThisComponent
Rem La feuille concernée
oFeuille = oMonClasseur.Sheets.getByName("Feuille1")
Rem Le reste du code
If oFeuille.IsVisible = True Then oFeuille.isVisible = False
End Sub
bonjour,
j'ai un problème dans l'application de la macro. sur une feuille masquée RAS. mais pour en masquer 2 j'ai doublé les commandes, du coup il me demande le mot de passe pour chaque feuille et dans l'ordre.
n'y a-t-il pas un moyen pour afficher la feuille en fonction du mot de passe entré ?
voici mon code :
merci d'avance
j'ai un problème dans l'application de la macro. sur une feuille masquée RAS. mais pour en masquer 2 j'ai doublé les commandes, du coup il me demande le mot de passe pour chaque feuille et dans l'ordre.
n'y a-t-il pas un moyen pour afficher la feuille en fonction du mot de passe entré ?
voici mon code :
Private Sub Workbook_Open()
Dim test As variant, Feuille1 As variant, Feuille2 As variant
Rem Le classeur actif
test = ThisComponent
Rem La feuille concernée
Feuille1 = test.Sheets.getByName("Feuille1")
Feuille2 = test.Sheets.getByName("Feuille2")
Rem Le reste du code
If Feuille1.IsVisible = True Then Feuille1.isVisible = False
If Feuille2.IsVisible = True Then Feuille2.isVisible = False
If InputBox("mot de passe",vbCritical) = "test" Then Feuille1.isVisible = True
If InputBox("mot de passe",vbCritical) = "mg" Then Feuille2.isVisible = True
End Sub
merci d'avance
bonjour,
j'ai un nouveau problème avec cette macro :
mon fichier test marche bien, je l'ai créé chez moi avec ooo sous linux (débutant).
je l'amène au boulot , il marche avec ooo2.3.1 sous XP.
je reprend la macro sur le classeur dont j'avais besoin au boulot en changeant les noms du classeur et des onglets.
quand je l'ouvre il me demande si je veux appliquer la macro, je lui dis 'ok' et rien ne se passe. il affiche le classeur entier et ne demande pas de mot de passe.
par contre si je la lance manuellement depuis la gesion des macros elle marche.
je n'y comprend rien!!
est-ce quelqu'un a une piste?
voici la macro corrigée :
merci d'avance
j'ai un nouveau problème avec cette macro :
mon fichier test marche bien, je l'ai créé chez moi avec ooo sous linux (débutant).
je l'amène au boulot , il marche avec ooo2.3.1 sous XP.
je reprend la macro sur le classeur dont j'avais besoin au boulot en changeant les noms du classeur et des onglets.
quand je l'ouvre il me demande si je veux appliquer la macro, je lui dis 'ok' et rien ne se passe. il affiche le classeur entier et ne demande pas de mot de passe.
par contre si je la lance manuellement depuis la gesion des macros elle marche.
je n'y comprend rien!!
est-ce quelqu'un a une piste?
voici la macro corrigée :
Private Sub Workbook_Open()
Dim saisies_A As Variant
REM le classeur actif
saisies_A = ThisComponent
REM les feuilles concernées
Feuille1 = saisies_A.Sheets.getByName("Feuille1")
Feuille2 = saisies_A.Sheets.getByName("Feuille2")
REM code test
If Feuille1.IsVisible = True Then Feuille1.isVisible = False
If Feuille2.IsVisible = True Then Feuille2.isVisible = False
Dim a As String
a = InputBox("Saisir votre Mot de Passe",vbCritical)
If a = "1" Then
Feuille1.isVisible = true
ElseIf a = "2" Then
Feuille2.isVisible = true
EndIf
End Sub
merci d'avance
Bonjour.
Je suis débutant (très débutant) en VBA et je souhaiterais faire une macro qui convertisse une certaine somme d'euros en francs en cliquant sur un bouton intégré a la feuille de calcul. J'utilise OpenCalc. Cependant a chaque fois que j'essaye de la lancer il m'envoie un message d'erreur "procédure ou sous procédure non définie" sur la ligne "SomEuros=Range("B4")". Voici mon code:
Si quelqu'un pouvait m'expliquer.... Merci.
Je suis débutant (très débutant) en VBA et je souhaiterais faire une macro qui convertisse une certaine somme d'euros en francs en cliquant sur un bouton intégré a la feuille de calcul. J'utilise OpenCalc. Cependant a chaque fois que j'essaye de la lancer il m'envoie un message d'erreur "procédure ou sous procédure non définie" sur la ligne "SomEuros=Range("B4")". Voici mon code:
Private Sub CommandButton_Click()
Dim SomConvertie,SomEuros As Double
SomEuros=Range("B4")
SomConvertie=SomEuros*655957
Range("B6").Value=SomConvertie
End Sub
Si quelqu'un pouvait m'expliquer.... Merci.
Klok a dit :
Bonjour.Je suis débutant (très débutant) en VBA et je souhaiterais faire une macro qui convertisse une certaine somme d'euros en francs en cliquant sur un bouton intégré a la feuille de calcul.
pourquoi faire un bouton alors qu'un simple formule suffirait.
tu fais une case où tu entre une somme en euro (en l'indiquant sur une autre case proche en toutes lettres (Euros par exemple)
et dans l'autre case tu mets =(coordonnées_case_euro*6.55957) en remettant (Francs à côté de cette case et ca devrait suffire !
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumMacro dans openoffice writer
- ForumXml dans openoffice calc 3
- ForumMacro openoffice if
- ForumMacros openoffice calc
- ForumComment faire ceci sous openoffice calc
- ForumQuelle syntaxe avec openoffice calc
- ForumAide sur openoffice calc
- ForumMacro openoffice publipostage
- ForumCalcul dheure avec openoffice calc
- ForumOpenoffice calc renvoie a la ligne
- Voir plus