Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 02/03/2010, à 03:18

sputnick

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

J'ai cherché une doc super connue qui date de plusieurs années sur l'art et la manière de poser une question sur les forums ( et usenet si je me souvient bien ), je n'ai pas réussi à mettre la main dessus. Ça décrit les écueils à éviter lorsqu'on poste.

Edit: j'ai finalement trouvé : http://nicolas.delsaux.free.fr/web/comment_bien_poser_les_questions.php


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#27 Le 02/03/2010, à 03:25

arkim

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

sputnick a écrit :

J'ai cherché une doc super connue qui date de plusieurs années sur l'art et la manière de poser une question sur les forums ( et usenet si je me souvient bien ), je n'ai pas réussi à mettre la main dessus. Ça décrit les écueils à éviter lorsqu'on poste.

Edit: j'ai finalement trouvé : http://nicolas.delsaux.free.fr/web/comment_bien_poser_les_questions.php

Merci beaucoup !


Ubuntu 18.04

Hors ligne

#28 Le 02/03/2010, à 03:48

arkim

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salutations Le Farfadet,

Il est vrai que je me suis un peu emporté et que je manie l'ironie bien plus facilement que les Macros. Désolé, sincèrement.
Pour en revenir à nos moutons:

D'abord, il me semble que tu as programmé toi-même les macros de ta feuille Excel, n'est-ce pas ? Si c'est bien le cas, alors il n'y a vraiment rien d'insurmontable, ni qui devrait prendre vraiment trop longtemps.

En fait non je n'ai pas programmé ces Macros. Je participe à un jeu en ligne (cf ma signature) et ce jeu nécessite d'utiliser une feuille excel ( afin de peaufiner la stratégie).
Cette feuille excel a donc été réalisée par un membre qui n'est plus trop actif à ce jour.
J'ai posté sur le forum du dit jeu pour expliquer mon problème et ma réticence à utiliser Microsoft Office mais personne n'a "La" version Ooo qui existerait ?!.
Voyant ceci, je me suis dit que j'allais le faire moi-même, j'ai donc potassé à droite à gauche car j'aime l'émulation intellectuelle mais là je suis tombé de haut devant la difficulté.
De manière idiote, je n'ai pas vu le mal à demander à une personne compétente de faire la traduction car ça me semblait normal et surtout facile pour certains.

Personnellement si une personne avait besoin d'une petite traduction d'un petit texte anglais en français et que cette personne n'a jamais fait d'Anglais alors je lui ferais car je me verrais mal lui demander de tout reprendre. C'est sincère. 

Enfin bref, le plus drôle dans tout ça, c'est que j'ai beaucoup de respect pour les développeurs et il a fallu que ma première altercation "Ubuntienne" se déroule avec des amoureux de C++.


Ubuntu 18.04

Hors ligne

#29 Le 02/03/2010, à 09:00

Airballman

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Si tu nous mettais les macros excel sur le post, ou que tu mettais la feuille en ligne on y verrait dej aplus clair:)

La tu ne fais que du verbe, on n'avancera pas wink

Hors ligne

#30 Le 02/03/2010, à 11:51

Le Farfadet Spatial

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salut à tous !

arkim a écrit :

En fait non je n'ai pas programmé ces Macros.

Est-ce que tu as déjà fait des scripts ou des macros ?

   Cette feuille Excel, est-ce que les joueurs doivent l'utiliser, ou seulement les animateurs du jeu ?

   Est-ce que tu as testé la compatibilité VBA ? Même pas regardé ? À moins que tu ne voies pas comment en tirer parti.

   À bientôt.

                                                                                                                                     Le Farfadet Spatial

Hors ligne

#31 Le 02/03/2010, à 13:58

arkim

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Bonjour ,

Si tu nous mettais les macros excel sur le post, ou que tu mettais la feuille en ligne on y verrait dej aplus clair:)

Je vais y venir smile

Est-ce que tu as déjà fait des scripts ou des macros ?

Non jamais .

Cette feuille Excel, est-ce que les joueurs doivent l'utiliser, ou seulement les animateurs du jeu ?

Elle est faite pour les joueurs pour aider à la gestion .

Est-ce que tu as testé la compatibilité VBA ? Même pas regardé ? À moins que tu ne voies pas comment en tirer parti.

Oui j'ai testé la compatibilité avec Ooo, il reconnait les macros mais ne peut pas les exécuter.
Je suis aller dans Outils → Macro → Exécuter la macro : Je choisis les macros et ça me donne une erreur "Erreur d'exécution Basic. '48' .Erreur lors du fichier Dll"
Une fenêtre s'ouvre alors avec du code Bleu, vert et rouge. Je crois comprendre que chaque couleur a sa signification, Bleu pour les instructions, non ? Voici ce que ça donne:

Rem Attribute VBA_ModuleType=VBAModule
Option VBASupport 1
Sub ChoixAppelMax()
    Range("F15").FormulaR1C1 = "=R[1]C[-1]"
End Sub
Sub ChoixAppelMoy()
    Range("F15").FormulaR1C1 = "=R[2]C[-1]"
End Sub
Sub Ouvrir_Bilan()
    Dim fichier As Variant
    
    fichier = ouvrir_fichier("Fichiers TXT (*.txt), *.txt", "Récuperer les infos du bilan")
    
    If (fichier <> "Faux") Then
        Open fichier For Input As #2
        ligne = ""
        Line Input #2, ligne
        If (InStr(1, ligne, "*****************************", vbBinaryCompare) <> 0) Then
            Close #2
            Call Traiter(fichier)
        Else
            Close #2
        End If
    End If
End Sub
Function ouvrir_fichier(Description, Message As String)
    Dim fichier As String
    fichier = Excel.Application.GetOpenFilename(Description, , Message)
    ouvrir_fichier = fichier
End Function

Sub Traiter(fichier As Variant)
    Dim ligne As String, code As String, code2 As String, categorie As Long
    Dim i As Integer, rente As Integer
    Dim feuilok As Boolean
    Dim Pnb As Long, Cnb As Long
    Dim Pnom(100) As String, Ppop(100) As Long, Pbon(100) As Long, Pcoef(100) As Double
    Dim Cnom(100) As String, Cren(100) As Long, Cfor(100) As Long, Cnum(100) As Long
    Dim trimestre As String, RenG As String, Tresor As String, RenMoy As String, BonMoy As String
    Dim PopMoy As String, Partie As String
    Dim Cseig As Long, Ctmp As Long
        
    'initialisation des variables
    Pnb = 0
    Cnb = 0
    rente = 0
    ligne = ""
    categorie = 1
        
    Open fichier For Input As #1
    
    While (EOF(1) = False)
        'selection de la catégorie
        If (InStr(1, ligne, "Fiche signalétique :", vbBinaryCompare) <> 0) Then categorie = 2
        If (InStr(1, ligne, "Informations générales :", vbBinaryCompare) <> 0) Then categorie = 3
        If (InStr(1, ligne, "Territoires possédés :", vbBinaryCompare) <> 0) Then categorie = 4
        If (InStr(1, ligne, "Chevaliers :", vbBinaryCompare) <> 0) Then categorie = 5
        If (InStr(1, ligne, "Alliés :", vbBinaryCompare) <> 0) Then categorie = 6
        
        If (categorie = 1) Then
            If (InStr(1, ligne, "Rapport du seigneur", vbBinaryCompare) <> 0) Then
                code = Right(ligne, Len(ligne) - InStr(1, ligne, "tour", vbBinaryCompare) - 4)
                trimestre = Left(code, InStr(1, code, "de", vbBinaryCompare) - 2)
                code = Right(ligne, Len(ligne) - InStr(1, ligne, "partie", vbBinaryCompare) - 6)
                Partie = Left(code, InStr(1, code, ".", vbBinaryCompare) - 1)
            End If
        ElseIf (categorie = 2) Then
            If (InStr(1, ligne, "Titre", vbBinaryCompare) <> 0) Then
                code = Right(ligne, Len(ligne) - InStr(1, ligne, ":", vbBinaryCompare) - 1)
                If (code = "Simple Chevalier") Then rente = 0
                If (code = "Baron") Then rente = 1000
                If (code = "Vicomte") Then rente = 1500
                If (code = "Comte") Then rente = 2000
                If (code = "Marquis") Then rente = 2500
                If (code = "Duc") Then rente = 3000
                If (code = "Prince") Then rente = 5000
            ElseIf (InStr(1, ligne, "Renommée globale", vbBinaryCompare) <> 0) Then
                code = Right(ligne, Len(ligne) - InStr(1, ligne, ":", vbBinaryCompare))
                RenG = Left(code, InStr(1, code, ".", vbBinaryCompare) - 1)
            ElseIf (InStr(1, ligne, "Trésor", vbBinaryCompare) <> 0) Then
                Tresor = Right(ligne, Len(ligne) - InStr(1, ligne, ":", vbBinaryCompare))
            End If
        ElseIf (categorie = 3) Then
            If (InStr(1, ligne, "Renommée moyenne", vbBinaryCompare) <> 0) Then
                RenMoy = Right(ligne, Len(ligne) - InStr(1, ligne, ":", vbBinaryCompare))
            ElseIf (InStr(1, ligne, "Bonheur moyen", vbBinaryCompare) <> 0) Then
                BonMoy = Right(ligne, Len(ligne) - InStr(1, ligne, ":", vbBinaryCompare))
            ElseIf (InStr(1, ligne, "Population moyenne", vbBinaryCompare) <> 0) Then
                PopMoy = Right(ligne, Len(ligne) - InStr(1, ligne, ":", vbBinaryCompare))
            End If
        ElseIf (categorie = 4) Then
            If (InStr(InStr(1, ligne, ".", vbBinaryCompare) + 1, ligne, ".", vbBinaryCompare) <> 0) Then
                Pnb = Pnb + 1
                code = Right(ligne, Len(ligne) - InStr(1, ligne, ".", vbBinaryCompare) - 1)
                Pnom(Pnb) = Left(code, InStr(1, code, ".", vbBinaryCompare) - 1)
            ElseIf (InStr(1, ligne, "Population :", vbBinaryCompare) <> 0) Then
                Ppop(Pnb) = CLng(Right(ligne, Len(ligne) - InStr(1, ligne, ":", vbBinaryCompare) - 1))
            ElseIf (InStr(1, ligne, "Coefficient d'imposition :", vbBinaryCompare) <> 0) Then
                Pcoef(Pnb) = CDbl(Right(ligne, Len(ligne) - InStr(1, ligne, ":", vbBinaryCompare) - 1))
            ElseIf (InStr(1, ligne, "Indice de bonheur :", vbBinaryCompare) <> 0) Then
                Pbon(Pnb) = CLng(Right(ligne, Len(ligne) - InStr(1, ligne, ":", vbBinaryCompare) - 1))
            End If
        ElseIf (categorie = 5) Then
            If (InStr(InStr(1, ligne, ".", vbBinaryCompare) + 1, ligne, ".", vbBinaryCompare) <> 0) Then
                Cnb = Cnb + 1
                code = Right(ligne, Len(ligne) - InStr(1, ligne, ".", vbBinaryCompare) - 1)
                Cnom(Cnb) = Left(code, InStr(1, code, ".", vbBinaryCompare) - 1)
                code = Left(code, InStr(1, code, ")", vbBinaryCompare) - 1)
                Cnum(Cnb) = CLng(Right(code, Len(code) - InStr(1, code, "(", vbBinaryCompare)))
            ElseIf (InStr(1, ligne, "Renommée :", vbBinaryCompare) <> 0) Then
                code = Right(ligne, Len(ligne) - InStr(1, ligne, ":", vbBinaryCompare) - 1)
                Cren(Cnb) = CLng(Left(code, InStr(1, code, ".", vbBinaryCompare) - 1))
            ElseIf (InStr(1, ligne, "Forces contrôlée :", vbBinaryCompare) <> 0) Then
                    code = Right(ligne, Len(ligne) - InStr(1, ligne, ":", vbBinaryCompare) - 1)
                    Cfor(Cnb) = CLng(Left(code, InStr(1, code, "h", vbBinaryCompare) - 1))
            End If
        End If
        
        'on continue à parcourir le bilan
        Line Input #1, ligne
    Wend
    

    'fin de la récupération des informations
    Close #1
    
    
    'Mise en pages des informations
    i = 1
    feuilok = False
    While (feuilok = False And i <= Worksheets.Count)
        If (Worksheets(i).Name = Partie) Then
            feuilok = True
            i = i - 1
        End If
        i = i + 1
    Wend
    
    'on supprime la feuille de la partie si elle existait déjà
    If (feuilok = True) Then
        Worksheets(i).Select
        ActiveWindow.SelectedSheets.Delete
    End If
    
    'on cree une nouvelle feuille
    Call CreationFeuille(Partie)
    
    If (Cnb < 13) Then
        Range("D1").FormulaR1C1 = 22
    Else
        Range("D1").FormulaR1C1 = 22 + Cnb - 11
        For i = 0 To (Cnb - 12)
            Rows("19:19").Select
            Selection.Insert Shift:=xlDown
        Next i
    End If
    
    If (Cnb > 1) Then
        Range("P6:V6").Select
        Selection.Copy
        For i = 2 To Cnb
            Range("P" + CStr(5 + i) + ":V" + CStr(5 + i)).Select
            ActiveSheet.Paste
        Next i
        ActiveSheet.Shapes("Picture 6").Select
        Selection.ShapeRange.IncrementTop CLng(15.745 * (Cnb - 1))
    End If
    
    If (Pnb > 1) Then
        Range("B" + CStr(Range("D1").Value) + ":W" + CStr(Range("D1").Value)).Select
        Selection.Copy
        For i = 2 To Pnb
            Range("B" + CStr(Range("D1").Value + i - 1) + ":W" + CStr(Range("D1").Value + i - 1)).Select
            ActiveSheet.Paste
        Next i
        ActiveSheet.Shapes("Picture 10").Select
        Selection.ShapeRange.IncrementTop CLng(15.75 * (Pnb - 1))
        ActiveSheet.Shapes("Picture 11").Select
        Selection.ShapeRange.IncrementTop CLng(15.75 * (Pnb - 1))
        ActiveSheet.Shapes("Picture 12").Select
        Selection.ShapeRange.IncrementTop CLng(15.75 * (Pnb - 1))
        Range("B" + CStr(Range("D1").Value) + ":W" + CStr(Range("D1").Value + Pnb - 1)).Select
        Application.CutCopyMode = False
        With Selection.Borders(xlInsideHorizontal)
            .LineStyle = xlDash
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
    End If
    
    'on recherche qui est le chevalier seigneur (grace à son numero)
    Ctmp = Cnum(1)
    Cseig = 1
    For i = 1 To Cnb
        If (Ctmp > Cnum(i)) Then
            Ctmp = Cnum(i)
            Cseig = i
        End If
    Next i
        
    'on inscrit les informations consernant les seigneurs, le chevalier Seigneur en premier
    Range("P" + CStr(6)).FormulaR1C1 = Cnom(Cseig)
    Range("U" + CStr(6)).FormulaR1C1 = Cren(Cseig)
    Range("V" + CStr(6)).FormulaR1C1 = Cfor(Cseig)
    
    For i = 1 To (Cseig - 1)
        Range("P" + CStr(6 + i)).FormulaR1C1 = Cnom(i)
        Range("U" + CStr(6 + i)).FormulaR1C1 = Cren(i)
        Range("V" + CStr(6 + i)).FormulaR1C1 = Cfor(i)
    Next i
    For i = (Cseig + 1) To Cnb
        Range("P" + CStr(5 + i)).FormulaR1C1 = Cnom(i)
        Range("U" + CStr(5 + i)).FormulaR1C1 = Cren(i)
        Range("V" + CStr(5 + i)).FormulaR1C1 = Cfor(i)
    Next i
    
    'on inscrit les informations consernant les provinces
    For i = 1 To Pnb
        Range("B" + CStr(Range("D1").Value + i - 1)).FormulaR1C1 = Pnom(i)
        Range("E" + CStr(Range("D1").Value + i - 1)).FormulaR1C1 = Ppop(i)
        Range("F" + CStr(Range("D1").Value + i - 1)).FormulaR1C1 = Pbon(i)
        Range("H" + CStr(Range("D1").Value + i - 1)).FormulaR1C1 = Pcoef(i)
    Next i
    
    'mise à jour des données générales
    Range("E5").FormulaR1C1 = trimestre
    Range("E6").FormulaR1C1 = BonMoy
    Range("E7").FormulaR1C1 = PopMoy
    Range("E9").FormulaR1C1 = RenMoy
    Range("E10").FormulaR1C1 = RenG
    Range("E12").FormulaR1C1 = Pnb
    Range("M5").FormulaR1C1 = Tresor
    Range("M6").FormulaR1C1 = "=SUM(R[" + CStr(Range("D1").Value - 6) + "]C[-3]:R[" + CStr(Pnb + Range("D1").Value - 7) + "]C[-3])"
    Range("M7").FormulaR1C1 = "=-1*SUM(R[" + CStr(Range("D1").Value - 7) + "]C:R[" + CStr(Pnb + Range("D1").Value - 8) + "]C)"
    Range("M8").FormulaR1C1 = rente
    Range("M10").FormulaR1C1 = "=-1*SUM(R[" + CStr(Range("D1").Value - 10) + "]C[2]:R[" + CStr(Pnb + Range("D1").Value - 11) + "]C[2])"
    Range("M12").FormulaR1C1 = "=-0.1*(SUM(R[" + CStr(Range("D1").Value - 12) + "]C[8]:R[" + CStr(Pnb + Range("D1").Value - 13) + "]C[8])+SUM(R[-6]C[9]:R[" + CStr(Cnb - 7) + "]C[9]))"

    Range("A1").Select
End Sub
Sub CreationFeuille(nom As String)
    Dim Age As String
    Dim Num As String
    Age = Left(nom, InStr(1, nom, "(", vbBinaryCompare) - 1)
    Num = Right(nom, Len(nom) - InStr(1, nom, "(", vbBinaryCompare))
    Num = Left(Num, InStr(1, Num, ")", vbBinaryCompare) - 1)
    Sheets("Exemple").Select
    Sheets("Exemple").Copy Before:=Sheets("Exemple")
    Range("C2:V2").Select
    ActiveCell.FormulaR1C1 = "Age de " + Age + " (" + Num + ")"
    Selection.Hyperlinks(1).Address = "http://www.gloireetpouvoir.com/parties.php?Menu=parties&Rub=" + Num
    With Selection.Font
        .Name = "Tolkien"
        .Size = 22
        .Bold = True
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 1
    End With
    Range("C8:D8").Select
    Selection.Hyperlinks(1).Address = _
        "http://www.gloireetpouvoir.com/ListesSeigneurs.php?ListeChoisie=Renommee&Rub=" + Num + "&Menu=parties"
    With Selection.Font
        .Name = "Tolkien"
        .Size = 12
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 1
    End With
    ActiveSheet.Name = nom
    Range("A1").Select
End Sub

Ce n'est qu'une partie car le document excel est composé de 3 feuilles donc plusieurs macros, je crois en avoir compté 4. Quand je lis ceci je reconnais des choses qui sont liés au jeu mais le reste c'est vraiment complexe. Bien sur je pense que if, par exemple, est une condition et que si cette condition est remplie alors ça entraide l'exécution de données.
Je sais pas si je suis clair.
Merci

Dernière modification par arkim (Le 02/03/2010, à 14:05)


Ubuntu 18.04

Hors ligne

#32 Le 02/03/2010, à 17:09

Le Farfadet Spatial

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salut à tous !

arkim a écrit :

Quand je lis ceci je reconnais des choses qui sont liés au jeu mais le reste c'est vraiment complexe.

En réalité, ce n'est pas si compliqué et c'est assez logique, puisque les macros sont là pour créer des applications simples.

Est-ce que tu as déjà fait des scripts ou des macros ?

Non jamais .

Cette feuille Excel, est-ce que les joueurs doivent l'utiliser, ou seulement les animateurs du jeu ?

Elle est faite pour les joueurs pour aider à la gestion .

Bon, donc tu n'as aucune expérience, du coup ça va prendre un peu plus de temps, mais je pense que rien n'est insurmontable.

   Par contre, le tout est amené à être exécuté sur plein de plateformes différentes. Bon, OpenOffice.org fonctionne sur beaucoup de systèmes et pour un particulier il est entièrement gratuit. Cependant, je pense qu'il est difficile d'abandonner totalement Microsoft Excel pour cette application et comme il est délicat de maintenir deux versions différentes de la même application en parallèle, même si je trouve que ce n'est pas la solution la plus élégante, je pense qu'il vaut mieux d'abord explorer le mode de compatibilité avec VBA.

Oui j'ai testé la compatibilité avec Ooo, il reconnait les macros mais ne peut pas les exécuter.
Je suis aller dans Outils → Macro → Exécuter la macro : Je choisis les macros et ça me donne une erreur "Erreur d'exécution Basic. '48' .Erreur lors du fichier Dll"

Là, c'est plus gênant. D'autant que je crains qu'il n'y ait pas de grand spécialiste de VBA sur ce forum.

   Déjà, essaye d'installer Wine (à partir des dépôts PPA) : http://doc.ubuntu-fr.org/wine. Ça ne changera peut-être rien, mais tu ne risques rien à essayer.

   Si les symptômes persistes, ouvre un terminal, rends-toi dans le répertoire dans lequel se trouve la feuille de calcul :

$ cd nom/du/chemin/

Là, exécute OOCalc en ouvrant la feuille de calcul :

$ oocalc nom_de_la_feuille.xls &

Lance les macros et copie ici les messages qui vont apparaître dans le terminal.

   À bientôt.

                                                                                                                                 Le Farfadet Spatial

Hors ligne

#33 Le 02/03/2010, à 18:34

nesthib

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

@funkalee : merci d'ouvrir ton propre fil.


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#34 Le 02/03/2010, à 19:48

arkim

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salutations,

Merci de me soutenir dans cette difficile épreuve.

Déjà, essaye d'installer Wine (à partir des dépôts PPA) : http://doc.ubuntu-fr.org/wine. Ça ne changera peut-être rien, mais tu ne risques rien à essayer.

Wine est déjà installé mais je n'ai pas encore émulé Microsoft Office si tu pensais à cela.

Là, exécute OOCalc en ouvrant la feuille de calcul :

Code:

$ oocalc nom_de_la_feuille.xls &

Lance les macros et copie ici les messages qui vont apparaître dans le terminal.

Concernant le Terminal, étrangement il ne se passe pas grand chose. Serait-ce mauvais signe?

kanarim@kanarim-desktop:~/Téléchargements$ oocalc Aide_Gestion.xls &
[1] 3265

Et puis rien de plus lorsque je lance les macros.

Dernière modification par arkim (Le 02/03/2010, à 19:48)


Ubuntu 18.04

Hors ligne

#35 Le 02/03/2010, à 20:00

Le Farfadet Spatial

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salut à tous !

arkim a écrit :

Wine est déjà installé mais je n'ai pas encore émulé Microsoft Office si tu pensais à cela.

Non, de toute façon je ne suis pas certain que Microsoft Office tourne sous Wine -- on ne peut pas vraiment parler d'émulation, mais passons.

   Dll est un terme inventé par Microsoft, il signifie « dynamicaly linked library », « bibliothèque liée dynamiquement ». Ceci permet de faire des bibliothèques partagées sous Windows. Sous Linux, on utilise des « shared objects » (so). Je me demandais si la macro ne faisait pas appel à une composante spécifique de Microsoft Windows qui serait supporté par Wine. Visiblement, non.

Concernant le Terminal, étrangement il ne se passe pas grand chose. Serait-ce mauvais signe?

kanarim@kanarim-desktop:~/Téléchargements$ oocalc Aide_Gestion.xls &
[1] 3265

Ce n'est pas vraiment mauvais signe, mais j'espérais tout de même un message plus complet. Où peut-on récupérer la feuille de calcul ?

   À bientôt.

                                                                                                                                 Le Farfadet Spatial

Hors ligne

#36 Le 02/03/2010, à 20:11

arkim

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salutations,


Où peut-on récupérer la feuille de calcul ?

Je l'ai déposé sur cijoint, voici le lien :
http://www.cijoint.fr/cjlink.php?file=cj201003/cij1dI6Wlm.xls
Encore merci pour le temps que tu me consacres.


Ubuntu 18.04

Hors ligne

#37 Le 02/03/2010, à 20:16

arkim

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salutations,

Est-ce que Ooo 3.2 permettrait de résoudre le probléme?


Ubuntu 18.04

Hors ligne

#38 Le 02/03/2010, à 21:05

Le Farfadet Spatial

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salut à tous !

arkim a écrit :

Est-ce que Ooo 3.2 permettrait de résoudre le probléme?

Dans l'immédiat, je ne peux pas dire.

   Je regarde ta feuille de calcul.

   À bientôt.

                                                                                   Le Farfadet Spatial

Hors ligne

#39 Le 02/03/2010, à 21:26

Le Farfadet Spatial

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salut à tous !

   Bon, je viens de tester la feuille chez moi et, globalement, chez moi ça marche.

   En fait, je n'arrive pas à reproduire ton erreur. Lorsque j'exécute les macros, je finis bien par avoir une erreur, mais elle n'est visiblement pas due à un support incomplet de VBA, mais soit à une erreur de programmation -- mais j'en doute, je pense que la feuille de calcul a déjà été utilisée avec succès par d'autres --, soit au fait que je n'ai pas de compte pour le jeu (je pense que c'est là le problème). Or, je ne vais pas me créer un compte juste pour tester ça.

   Arkim, ouvre OOCalc, va dans Outils>Options et, dans OpenOffice.org>Sécurité, clique sur « Sécurité des macros ». Là, sélectionne le niveau de sécurité faible -- tu ne laisseras pas la sécurité à ce niveau, c'est juste pour tester. Une fois fais cela, dit un peu ce qui se passe.

   À bientôt.

                                                                                                                                     Le Farfadet Spatial

Hors ligne

#40 Le 03/03/2010, à 16:01

arkim

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salutations,

J'ai installé Ooo.org 3.2 (Qui est super d'ailleurs) et cela ne change en rien mon souci.

http://www.chezmoicamarche.org/

: Je n'ai pas compris ?!

Arkim, ouvre OOCalc, va dans Outils>Options et, dans OpenOffice.org>Sécurité, clique sur « Sécurité des macros ». Là, sélectionne le niveau de sécurité faible -- tu ne laisseras pas la sécurité à ce niveau, c'est juste pour tester. Une fois fais cela, dit un peu ce qui se passe.

J'avais déjà réalisé cette étape donc mon problème ne vient pas de là.

Je rentre mon login et mon mot de passe, je clique sur analyse d'un bilan, voilà en image ce que ça donne:

1267624522.png

Puis ça ouvre une autre fenêtre qui est un commentaire je crois d'après mes recherches:

1267624688.png

Ça devient pénible car même si un connaisseur comme toi ne voit pas d'où vient l'erreur, qui y parviendra.

Dernière modification par arkim (Le 03/03/2010, à 16:13)


Ubuntu 18.04

Hors ligne

#41 Le 03/03/2010, à 16:33

Le Farfadet Spatial

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salut à tous !

arkim a écrit :

http://www.chezmoicamarche.org/

: Je n'ai pas compris ?!

Oh, c'est juste une sorte de gag, c'est vrai que j'étais un peu en mode « je me comprends ». En gros, « chez moi ça marche », ce n'est pas une réponse, parce que ça n'avance à rien. Je voulais juste te signaler que je n'avais pas réussi à reproduire ta bogue. Or, pour pouvoir résoudre une bogue, il faut d'abord la reproduire.

   Quant à l'URL, elle s'inscrit dans la lignée des URL pas sérieuses comme ce message du gouverneur SCHWARZENEGGER ou cette punition de Bart SIMPSON.

Je rentre mon login et mon mot de passe, je clique sur analyse d'un bilan, voilà en image ce que ça donne:

Ah ! Ce comportement, en revanche, j'arrive à le reproduire, donc on avance.

   Cela dit, ça m'ennuie un peu, parce qu'à première vue, ça ressemble à une erreur de programmation. Est-ce que tu as déjà fait fonctionner cette feuille de calcul sous Excel ?

   Je vais tout de même essayer de regarder plus en profondeur.

Ça devient pénible car même si un connaisseur comme toi ne voit pas d'où vient l'erreur, qui y parviendra.

Oh ! Tu sais, il y a plus grand connaisseur que moi. De toute façon, il faut aussi savoir garder patience et, encore une fois, la première étape, pour résoudre un problème, est de le reproduire.

   À bientôt.

                                                                                                                                             Le Farfadet Spatial

Hors ligne

#42 Le 03/03/2010, à 17:52

arkim

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salutations,

Cela dit, ça m'ennuie un peu, parce qu'à première vue, ça ressemble à une erreur de programmation. Est-ce que tu as déjà fait fonctionner cette feuille de calcul sous Excel ?

Oui j'ai longtemps utilisé cette feuille sous Excel lorsque j'utilisais encore Windows et elle fonctionnait très bien.
Sinon je t'ai crée un faux compte le login est Farfadet et le mdp farfadet si ça peut t'aider à comprendre.


Ubuntu 18.04

Hors ligne

#43 Le 03/03/2010, à 22:19

Le Farfadet Spatial

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salut à tous !

arkim a écrit :

Oui j'ai longtemps utilisé cette feuille sous Excel lorsque j'utilisais encore Windows et elle fonctionnait très bien.

Bon, on peut donc exclure l'erreur de programmation de la macro, parfait. Il reste deux possibilités :

      -- soit il s'agit juste d'un problème de réglage et nous allons trouver ce qu'il faut faire ;

      -- soit nous venons de tomber sur un cas où la compatibilité avec VBA est incomplète, auquel cas il va falloir ruser.

   Ce soir, je n'ai plus le temps de m'en occuper. J'essaye de regarder ça demain. Si, dans deux ou trois jours, je n'ai pas donné de nouvelle, n'hésite pas à faire remonter le sujet.

   À bientôt.

                                                                                                                                     Le Farfadet Spatial

Hors ligne

#44 Le 03/03/2010, à 22:25

arkim

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salutations,

Un Grand merci à toi et bien sûr prends ton temps. Il serait culotté de ma part de t'imposer un timing, c'est déjà sympa de prendre mon problème en considération.

A bientôt


Ubuntu 18.04

Hors ligne

#45 Le 05/03/2010, à 01:02

Le Farfadet Spatial

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salut à tous !

   Cette erreur est tout de même étrange : en général, une erreur 91 se déclenche lorsque qu'il y a un problème dans les noms de variables ou que l'on a mal refermé un bloc d'exécution. En clair, elle est généralement due à une erreur d'inattention de la part du programmeur. Cela dit, je n'ai rien trouvé de ce genre dans le code, mais il est vrai que je n'ai pas fait une exploration systématique.

   Il faut croire que cela est dû a un problème dans Excel.Application.GetOpenFilename, mais, justement, normalement tout devrait fonctionner. Je vais essayer de réaliser un exemple minimal complet pour faire remonter la bogue si s'en est bien une, mais cela veut dire que ça va prendre quelque temps avant que ça ne soit réglé. En tout cas, je n'ai pas trouvé de moyen de contourner le problème dans l'immédiat. Bon, s'il s'agit bien d'une bogue dans la compatibilité avec VBA, moi je suis plutôt satisfait de l'avoir repéré et on peut espérer que ce soit réglé dans quelques mois, mais pour toi, c'est plutôt une mauvaise nouvelle.

   Toutefois, j'ai bien l'impression qu'il ne faudrait pas changer grand-chose au code pour qu'il soit exécutable aussi bien sous OOCalc que sous Excel (l'utilisation de GetOpenFilename ne me semble pas très catholique dans cette macro). Il faudrait que quelqu'un se colle quelques heures sur le code, mais ça ne peut pas être moi pour trois raisons :

      1. je n'ai pas Excel, or je pense qu'il vaut mieux partir d'Excel pour ensuite s'assurer que OOCalc arrive à l'exécuter ;

      2. je ne suis pas abonné au jeu ;

      3. je n'en ai pas le temps.

   Donc, si tu connais un joueur qui a quelques connaissances en VBA (point n'est besoin d'être expert) et qui possède Excel, je pense que ça vaudrait la peine qu'il se penche sur le sujet, je crois que cela peut être assez facilement réglé. Au besoin, il peut venir poster ici pour être guidé. À la rigueur, tu peux même te mettre toi-même à la programmation de macros, ce n'est pas quelque chose de très compliqué et, à défaut de corriger cette feuille, tu pourrais créer une feuille qui correspond à tes besoins. Cela te permettrait également d'acquérir une compétence qui pourra te servir pour d'autres choses -- ce n'est pas comme s'attaquer au noyau Linux, les macros permettent d'automatiser des tâches, ce qui peut être utile à n'importe quel utilisateur d'une suite bureautique.

   Dans l'immédiat, si tu possèdes une licence de Excel, essaye de voir si tu peux faire fonctionner Excel sous Wine, cela te permettra d'avoir quelque chose d'utilisable en attendant de régler le problème de manière plus complète.

   Voilà, je suis désolé pour la mauvaise nouvelle.

  À bientôt.

                                                                                                                                 Le Farfadet Spatial

Hors ligne

#46 Le 06/03/2010, à 23:11

arkim

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salutations,

En tout cas un grand merci à toi pour ton aide, je vais tenter de réécrire les macros pour Ooo.org même si ça me parait insurmontable.
Je vais aussi me tourner vers le concepteur du jeu pour l'interpeller de nouveau sur cet aspect du jeu, pénalisant pour ceux qui n'ont pas Excel.
Sinon en attendant je vais me tourner vers ma VirtualBox pour patienter.
Un grand merci à toi , ta réputation n'était pas galvaudée, bonne continuation à toi Le Farfadet Spatial et réussite dans tes projets.


Ubuntu 18.04

Hors ligne

#47 Le 07/03/2010, à 14:39

Le Farfadet Spatial

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salut à tous !

arkim a écrit :

je vais tenter de réécrire les macros pour Ooo.org même si ça me parait insurmontable.

Non, vraiment, écrire des macros, ce n'est pas très compliqué, il ne faut pas s'inquiéter.

Je vais aussi me tourner vers le concepteur du jeu pour l'interpeller de nouveau sur cet aspect du jeu, pénalisant pour ceux qui n'ont pas Excel.

Oui, d'autant que je pense vraiment qu'il n'est pas très difficile de créer une feuille qui soit lisible à la fois par Excel et OOCalc.

Sinon en attendant je vais me tourner vers ma VirtualBox pour patienter.

Il me semble que Excel tourne sans problème sous VirtualBox, donc ça devrait fonctionner.

ta réputation n'était pas galvaudée

N'exagérons rien tout de même !

   À bientôt.

                                                                                                                                 Le Farfadet Spatial

Hors ligne

#48 Le 11/03/2010, à 12:24

Le Farfadet Spatial

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salut à tous !

   J'ai deux nouvelles : une bonne et une mauvaise.

   La mauvaise : sauf erreur de ma part, il n'est pas prévu de changer la partie Excel des macros.

   La bonne : il y a peut-être moyen de moyenner.

   Donc, dans « AnalyseBilanv2 », la fonction « ouvrir_fichier », remplace la ligne suivante :

fichier = Excel.Application.GetOpenFilename(Description, , Message)

Par celle-ci :

fichier = Application.GetOpenFilename(Description, , Message)

En clair, supprime simplement le « Excel ». Dis-moi ce que ça donne.

   À bientôt.

                                                                                                                                 Le Farfadet Spatial

Hors ligne

#49 Le 12/03/2010, à 21:16

arkim

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salutations,

Merci pour l'information, j'ai bien entendu essayé et... Non ça ne fonctionne pas, toujours le même message d'erreur.
En tout cas, c'est sympa d'avoir toujours mon problème en tête.


Ubuntu 18.04

Hors ligne

#50 Le 12/03/2010, à 21:40

Le Farfadet Spatial

Re : Convertir des macros Microsoft Office en macros OpenOffice.org

Salut à tous !

arkim a écrit :

j'ai bien entendu essayé et... Non ça ne fonctionne pas, toujours le même message d'erreur.

Toujours une erreur 91 ?

   Chez moi, ça avait disparu, j'ai dû me rater.

   À bientôt.

                                                                                                                                     Le Farfadet Spatial

Hors ligne