Bonjour,
Un ami m'a fait une macro sur excel pour colorier des colonnes en fonction du contenu dans une ligne car je ne programme pas.
Mais quand j'ouvre le fichier avec calc, la macro ne marche pas et d'après ce qu'il m'a dit, c'est que calc ne comprend pas le langage VBA et qu'il faut le convertir.
Est-ce que vous pouvez m'aider ? Voilà en quoi ça consiste.
En fait,c'est un tableau que je compte copier-coller 12 fois pour les 12 mois de l'année sur 12 onglets.
A partir de la ligne 9, j'ai pour tous les jours une MeFC avec 3 critères avec "x" pour un congé, "i" pour un indisponible, et "mo" ou "bs" pour malade ou blessé.
Le but final : quand je rentre le cycle de travail dans la ligne 3, alors les colonnes où il y a repos1 "R1" ou repos2 "R2" se grisent automatiquement.
Voilà la macro Excel :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveCell.Row = 3 Or ActiveCell.Row = 4 Then
temp = ActiveCell.Address
For col = 2 To 32
If Cells(3, col) = "R1" Or Cells(3, col) = "R2" Then
Columns(col).Select
With Selection.Interior
.ColorIndex = 48
.PatternColorIndex = xlAutomatic
End With
Else
Columns(col).Select
With Selection.Interior
.ColorIndex = xlNone
.PatternColorIndex = xlAutomatic
End With
End If
Next
Range(temp).Select
End If
End Sub
Aide pour convertir macro Excel dans Calc
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 !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
loeki
- Fraîchement OOthentifié
- Messages : 4
- Inscription : 13 déc. 2006 11:13
Aide pour convertir macro Excel dans Calc
OpenOffice 2.0.4 Windows XP
-
Pierre-Yves Samyn
- Grand Maître de l'OOffice

- Messages : 11276
- Inscription : 02 mai 2006 08:42
Bonjour
Je te renvoie à ma réponse (qui n'engage que moi...)
http://user.services.openoffice.org/fr/ ... 7732#17732
Je te renvoie à ma réponse (qui n'engage que moi...)
http://user.services.openoffice.org/fr/ ... 7732#17732
-
loeki
- Fraîchement OOthentifié
- Messages : 4
- Inscription : 13 déc. 2006 11:13
Ma macro dans excel, consiste à griser toute une colonne à partir du moment où il y a "R1" ou "R2" dans la cellule. Je ne peux plus utiliser de mise en forme conditionnelle car j'ai déjà 3 arguments de pris pour d'autres fonctions.
Mon souci est que je sais pas programmer, et que je trouve le langage openoffice bien plus compliqué que le langage vba. Donc je n'ai pas réussi à convertir la macro excel en starbasic.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveCell.Row = 3 Or ActiveCell.Row = 4 Then
temp = ActiveCell.Address
For col = 2 To 32
If Cells(3, col) = "R1" Or Cells(3, col) = "R2" Then
Columns(col).Select
With Selection.Interior
.ColorIndex = 48
.PatternColorIndex = xlAutomatic
End With
Else
Columns(col).Select
With Selection.Interior
.ColorIndex = xlNone
.PatternColorIndex = xlAutomatic
End With
End If
Next
Range(temp).Select
End If
End Sub
Donc si quelqu'un est capable de faire la traduction, et que ça fonctionne, eh bien chapeau !
_________________
Mon souci est que je sais pas programmer, et que je trouve le langage openoffice bien plus compliqué que le langage vba. Donc je n'ai pas réussi à convertir la macro excel en starbasic.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveCell.Row = 3 Or ActiveCell.Row = 4 Then
temp = ActiveCell.Address
For col = 2 To 32
If Cells(3, col) = "R1" Or Cells(3, col) = "R2" Then
Columns(col).Select
With Selection.Interior
.ColorIndex = 48
.PatternColorIndex = xlAutomatic
End With
Else
Columns(col).Select
With Selection.Interior
.ColorIndex = xlNone
.PatternColorIndex = xlAutomatic
End With
End If
Next
Range(temp).Select
End If
End Sub
Donc si quelqu'un est capable de faire la traduction, et que ça fonctionne, eh bien chapeau !
_________________
OpenOffice 2.0.4 Windows XP
-
jeanmimi
- Grand Maître de l'OOffice

- Messages : 17197
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Bonjour,
Je ne sais pas si tu vais fait une recherche avant, mais il y a des exemples que tu peux utiliser en les modifiant, comme celui-ci qui es très proche :
http://user.services.openoffice.org/fr/ ... ml+cellule
Je ne sais pas si tu vais fait une recherche avant, mais il y a des exemples que tu peux utiliser en les modifiant, comme celui-ci qui es très proche :
http://user.services.openoffice.org/fr/ ... ml+cellule
LibreOffice : Version : 25.8.2.2 (x64)(2 novembre 2025)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
loeki
- Fraîchement OOthentifié
- Messages : 4
- Inscription : 13 déc. 2006 11:13
-
Bidouille
- RespOOnsable forum

- Messages : 12740
- Inscription : 08 nov. 2005 16:23
- Localisation : Brest, France
Non, il n'y a pas de marrant ici. Juste des bénévoles qui consacrent du temps à vous répondre et qui vous donnent des pistes pour vous aider.loeki a écrit :T'es marrant toi, mais je n'y comprend rien au langage openoffice.
Il existe un programme de conversion mais ce dernier est disponible uniquement dans la version payante distribué par Sun avec StarOffice ou par Novell.loeki a écrit :y'a pas un programme qui fait une traduction de VBA en starbasic ?
http://user.services.openoffice.org/fr/ ... ovell.html
Maintenant, la programmation de macro nécessite un minimum d'effort. Personne ici ne peut le faire à votre place.
-
chater
- Membre cOOnfirmé

- Messages : 237
- Inscription : 21 févr. 2006 13:43
- Localisation : Paname
La philosophie du OOo Basic est plus orientée objet. Cela a l'inconvénient d'être rebutant mais ce n'est pas plus compliqué.loeki a écrit :Mon souci est que je sais pas programmer, et que je trouve le langage openoffice bien plus compliqué que le langage vba. Donc je n'ai pas réussi à convertir la macro excel en starbasic.
Et pour compléter ce que t'on dit les autres, il y a cette excellent Wiki :
http://wiki.services.openoffice.org/wik ... t_basic_fr
Même en débutant, tu devrais t'en sortir.
OOo 3.1 officielle sous Ubuntu 9.04
Pensez à aider les autres en répondant à leurs questions.
Pensez à aider les autres en répondant à leurs questions.