Bonjour,
J'avais un tableau intéressant qui me permettait en entrant un total, à partir d'une liste de valeurs, de retrouver les combinaisons possibles qui me donnait ce total.
Je vous mets en PJ le tableur concerné... ainsi que le message d'erreur que j'obtiens même pour une recherche simple.
Je vous mets ci-dessous la macro incriminée :
REM ***** BASIC *****
Option VBASupport 1
Public avance as Object
Sub Main
BasicLibraries.LoadLibrary("VBAProject")
End Sub
Sub cherche
Dim Tableau() As Currency, Plage As Range, Cel As Range, Boucle As Integer, NbSol As Long, K As Integer
Dim TabCombin, Boucle2 As Integer, Montant As Currency, NbVal As Integer, Mini As Integer, Maxi As Integer
Dim monDocument as Object
Dim lesFeuilles as Object
Dim maFeuille as Object
monDocument = ThisComponent
Dim Ligne as Integer
Ligne=7
avance = monDocument.CurrentController.StatusIndicator
lesFeuilles = monDocument.Sheets
maFeuille =lesFeuilles.getbyName("Somme Match")
avance.start("Veuillez patienter... Je cherche ...",100)
With Application
With Sheets("Somme Match")
Set Plage = .Range("BaseDep", .Range("BaseDep").End(xlDown))
Set Cel = .Range("Sol1")
Range(Cel, Cel.End(xlDown)).Resize(, 300).ClearContents
Montant = .Range("Montant")
Mini = 1
Maxi = Plage.Count
End With
.Calculation = xlCalculationManual
.ScreenUpdating = False
ReDim Tableau(1 To Plage.Count)
For Boucle = 1 To Plage.Count
Tableau(Boucle) = Plage.Cells(Boucle, 1)
Next Boucle
IF lesFeuilles.getbyName("Somme Match").getCellByPosition(2,5).String <>"" OR _
lesFeuilles.getbyName("Somme Match").getCellByPosition(2,5).Value>0 THEN
Mini=lesFeuilles.getbyName("Somme Match").getCellByPosition(2,5).Value
Maxi=lesFeuilles.getbyName("Somme Match").getCellByPosition(2,5).Value
END IF
IF Mini <1 THEN Mini=1
For K = Mini To Maxi
DoEvents
TabCombin = SommeKSurN(Tableau, K, Montant)
If IsArray(TabCombin) Then
For Boucle = LBound(TabCombin, 2) To UBound(TabCombin, 2)
NbSol = NbSol + 1
lesFeuilles.getbyName("Somme Match").getCellByPosition(2,Ligne).Value = NbSol
For Boucle2 = 1 To K
lesFeuilles.getbyName("Somme Match").getCellByPosition(Boucle2+2,Ligne).Value = TabCombin(Boucle2, Boucle)
Next Boucle2
Ligne=Ligne+1
Next Boucle
End If
Next K
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
avance.end
End Sub
J'espère vous avoir transmis tous les renseignements nécessaires.
Merci d'avance.
[Résolu][Calc] Erreur d'exécution Basic
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 !
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 !
-
- NOOuvel adepte
- Messages : 10
- Inscription : 19 avr. 2016 13:20
[Résolu][Calc] Erreur d'exécution Basic
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par AGD54 le 20 sept. 2021 13:37, modifié 2 fois.
LibO 6.2.7.1.lin1 (x64) (obligation de version)
Windows 10 Professionnel
Windows 10 Professionnel
-
- IdOOle de la suite
- Messages : 25181
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Erreur d'exécution Basic
Salut,
L'erreur d'exécution signifie que le code est mauvais.
Donc ça n'aide pas vraiment à comprendre.
En l'occurrence, tu fais appel à :Je ne vois pas cette fonction dans le code que tu publies.
Et je constate également ceci :
Pour moi, c'est la question qui tue.
PS : merci de faire l'effort d'encadrer ton code correctement comme je le fais, cela facilite la lecture.
L'erreur d'exécution signifie que le code est mauvais.
Donc ça n'aide pas vraiment à comprendre.
En l'occurrence, tu fais appel à :
Code : Tout sélectionner
TabCombin = SommeKSurN(Tableau, K, Montant)
Et je constate également ceci :
Code : Tout sélectionner
Option VBASupport 1
[...]
BasicLibraries.LoadLibrary("VBAProject")
PS : merci de faire l'effort d'encadrer ton code correctement comme je le fais, cela facilite la lecture.
-
- NOOuvel adepte
- Messages : 10
- Inscription : 19 avr. 2016 13:20
Re: [Calc] Erreur d'exécution Basic
Merci pour la réponse... que je ne comprends pas totalement...
En fait, je suis très novice sur les macros et je dois avouer que ce tableau fonctionnait très bien sur mon ancienne version de libreoffice... mais ayant été obligé de migrer vers une autre version (obligation professionnelle), je me suis retrouvé avec un tableau inutilisable.
Que dois-je envoyer (et où le trouver ?) afin que vous puissiez m'aider ?
Ou alors, un tel tableau (permettant, en entrant un total, à partir d'une liste de valeurs, de retrouver toutes les combinaisons possibles qui me donnent ce total) existe-t-il ?
Encore merci.
PS : si je ne suis pas sur le bon site (j'ai bien peur qu'il n'y ait ici que des pros de LO), peut-être pourriez-vous m'en conseiller un autre ?
En fait, je suis très novice sur les macros et je dois avouer que ce tableau fonctionnait très bien sur mon ancienne version de libreoffice... mais ayant été obligé de migrer vers une autre version (obligation professionnelle), je me suis retrouvé avec un tableau inutilisable.
Que dois-je envoyer (et où le trouver ?) afin que vous puissiez m'aider ?
Ou alors, un tel tableau (permettant, en entrant un total, à partir d'une liste de valeurs, de retrouver toutes les combinaisons possibles qui me donnent ce total) existe-t-il ?
Encore merci.
PS : si je ne suis pas sur le bon site (j'ai bien peur qu'il n'y ait ici que des pros de LO), peut-être pourriez-vous m'en conseiller un autre ?
LibO 6.2.7.1.lin1 (x64) (obligation de version)
Windows 10 Professionnel
Windows 10 Professionnel
-
- ManitOOu
- Messages : 3031
- Inscription : 02 juil. 2014 17:25
Re: [Calc] Erreur d'exécution Basic
Bonjour,
Ton fichier contient une bibliothèque protégée par mot de passe ça va pas être simple d'y comprendre quelque chose sans y avoir accès.
@+
Ton fichier contient une bibliothèque protégée par mot de passe ça va pas être simple d'y comprendre quelque chose sans y avoir accès.
@+
-
- NOOuvel adepte
- Messages : 10
- Inscription : 19 avr. 2016 13:20
Re: [Calc] Erreur d'exécution Basic
Merci d'avoir cherché...
Je vais donc devoir continuer à me passer de ce tableau (et merci à l'administration de "bloquer" tous les programmes, macros... )...
Je vais donc devoir continuer à me passer de ce tableau (et merci à l'administration de "bloquer" tous les programmes, macros... )...
LibO 6.2.7.1.lin1 (x64) (obligation de version)
Windows 10 Professionnel
Windows 10 Professionnel
-
- ManitOOu
- Messages : 3031
- Inscription : 02 juil. 2014 17:25
Re: [Résolu][Calc] Erreur d'exécution Basic
Bonjour,
Le même problème avait déjà été découvert ici : [Résolu] [Calc] Exécution macro protégée
@+
Le même problème avait déjà été découvert ici : [Résolu] [Calc] Exécution macro protégée
Conclusion : on ne peut pas exploiter une bibliothèque protégée par mdp si elle contient un code vbaTout se passe comme si l'ajout d'un mot de passe à la bibliothèque désactivait la prise en charge VBA. Comme si on retirait, à la macro, la ligne invoquant l'interpréteur VBA :
@+