Problème pour lancer une macro complémentaire via un bouton
Bonjour,
j'ai un soucis avec une macro complémentaire et un onglet que j'ai créé en modifiant l'XML via CustomUIEditor.
Mon onglet se crée bien avec mes boutons mais quand je clique mon bouton j'ai ce message d'erreur:
Citation:
Impossible d'exécuter la macro xxx. Il est possible qu'elle ne soit pas disponible dans ce classeur ou que toutes les macros soient désactivées".
Ma macro marche bien puisque si j'utilise depuis le bouton l'accès rapide, elle se lance.
Je dois avoir un soucis avec la captation de l'événement ou l'adressage de la macro mais je ne trouve pas.
Ma modif dans XML:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id = "ERRIC" label="ERRIC" insertAfterMso="TabHome">
<group id="Commande" label="Commande">
<button id="Ajoutlignes" label="Ajout de lignes" onAction="Ajouter_lignes" size="large" imageMso="SmartArtOrganizationCharRightHanging" />
<button id="Organomenc" label="Mise en page de Solid" onAction="Organisation_nomenclature_solid" size="large" imageMso="OutilineGroup" />
</group>
</tab>
</tabs>
</ribbon>
</customUI> |
Ma macro qui lance/capte via le bouton (sorti de CustomUIEditor directement) - Les deux sont dans le même module:
Code:
1 2 3 4 5 6
| 'Callback for Ajoutlignes onAction
Sub Ajouter_lignes(control As IRibbonControl)
End Sub
'Callback for Organomenc onAction
Sub Organisation_nomenclature_solid(control As IRibbonControl)
End Sub |
et une des 2 macros (dans un module à part chacune) que je cherche à lancer via un bouton:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| Sub Ajouter_lignes()
'Désactive l'écran
Application.ScreenUpdating = False
'Déclaration des variables
Dim numero_ligne As Integer
Dim nb_ligne_insert As Integer
'Valeurs des variables
numero_ligne = Selection.Row 'Numero de la ligne sélectionner
nb_ligne_insert = InputBox("Nombre de ligne à ajouter", "Titre") + 1 'Boite de saisie
'Instruction
'copier&insert
For i = 2 To nb_ligne_insert
Application.CutCopyMode = False
Selection.Copy
Rows(numero_ligne & ":" & numero_ligne).Select
Selection.Insert shift:=xlUp
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Next
Range(numero_ligne + 1 & ":" & numero_ligne + nb_ligne_insert - 1).SpecialCells(xlCellTypeConstants, 23).ClearContents
'Réactive l'écran
Application.ScreenUpdating = True
End Sub |
Merci de l'aide
(Edit: Je passe par cette méthode car, je dois pouvoir utiliser la barre sous 2007)