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:
Ma macro marche bien puisque si j'utilise depuis le bouton l'accès rapide, elle se lance.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".
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 xml : Sélectionner tout - Visualiser dans une fenêtre à part
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:
et une des 2 macros (dans un module à part chacune) que je cherche à lancer via un bouton:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci de l'aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
(Edit: Je passe par cette méthode car, je dois pouvoir utiliser la barre sous 2007)
Partager