Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème exécution macro + userform

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Arnaud61

XLDnaute Occasionnel
Bonjour,

J'ai actuellement ma 'Feuill1' qui est constitué de ma 'Macro1'.

J'aimerais exécuter ma 'Macro1' à partir de mon 'Userform1'.

Dans mon 'Userform1', je mets:


Private Sub Button_Click()
Macro1
End Sub

Mais cela ne fonctionne pas...

Avez-vous une solution?

Merci
 
Re : Problème exécution macro + userform

Très bien, c'est ce que je pensais.

Malheureusement cela ne fonctionne pas.

Voici ma macro:

Code:
Option Explicit

Sub Macro1()
Dim x As Long
Dim y As Long
Dim z As Long
Dim n As Long
Dim o As Long
Dim p As Long
Dim q As Long

x = Sheets.Count
Sheets("Nouvelle Tâche - Arnaud").Copy After:=Sheets(x)
y = Sheets.Count
ActiveSheet.Name = "Tâche N°" & y - 3
Sheets("Tâche N°" & y - 3).Shapes("CommandButton1").Delete
Sheets("Tâche N°" & y - 3).Shapes("CommandButton2").Delete
z = Sheets.Count
Range("B2").Value = "" & z - 2
n = Sheets.Count
formule = CStr(Worksheets("Travaux Arnaud - Récap").Range("R1").FormulaLocal)
Worksheets("Travaux Arnaud - Récap").Range("B" & n + 2).FormulaLocal = Replace(formule, "1", CStr(n - 3))
o = Sheets.Count
formule = CStr(Worksheets("Travaux Arnaud - Récap").Range("T1").FormulaLocal)
Worksheets("Travaux Arnaud - Récap").Range("A" & o + 2).FormulaLocal = Replace(formule, "1", CStr(o - 3))
Hyperlinks.Add Anchor:=Sheets("Travaux Arnaud - Récap").Range("A" & o + 2), Address:="", SubAddress:=" 'Tâche N°" & o - 3 & "'!A1"
Worksheets("Travaux Arnaud - Récap").Range("A" & o + 2).Font.Size = 22
Worksheets("Travaux Arnaud - Récap").Range("A" & o + 2).Font.Underline = xlUnderlineStyleNone
Worksheets("Travaux Arnaud - Récap").Range("A" & o + 2).Font.ColorIndex = 53
p = Sheets.Count
formule = CStr(Worksheets("Travaux Arnaud - Récap").Range("S1").FormulaLocal)
Worksheets("Travaux Arnaud - Récap").Range("C" & p + 2).FormulaLocal = Replace(formule, "1", CStr(p - 3))

End Sub

Quand j'execute la macro , ça me dit "variable non définie" pour "formule ="
 
Re : Problème exécution macro + userform

Je viens de remarquer que si j'enlève "option explicit", ma macro fonctionne mais ne m'execute pas la dernière action de la macro...

Dans mon exemple:

Code:
p = Sheets.Count
formule = CStr(Worksheets("Travaux Arnaud - Récap").Range("S1").FormulaLocal)
Worksheets("Travaux Arnaud - Récap").Range("C" & p + 2).FormulaLocal = Replace(formule, "1", CStr(p - 3))

Puis ça fini par le message d'erreur: "erreur 424" "Objet Requis"

🙁
 
Re : Problème exécution macro + userform

Bonjour Arnaud et le forum,

Ce serait tellement simple avec le fichier contenant la macro.
De plus option explicit signifie que tu dois déclarer toutes tes variables. Personnellement je ne le met jamais. De plus tu n'as pas déclaré formule.
 
Dernière édition:
Re : Problème exécution macro + userform

Je viens de trouver de mon problème:

C'est cette ligne:

Code:
Hyperlinks.Add Anchor:=Sheets("Travaux Arnaud - Récap").Range("A" & o + 2), Address:="", SubAddress:=" 'Tâche N°" & o - 3 & "'!A1"
Worksheets("Travaux Arnaud - Récap").Range("A" & o + 2).Font.Size = 22
Worksheets("Travaux Arnaud - Récap").Range("A" & o + 2).Font.Underline = xlUnderlineStyleNone
Worksheets("Travaux Arnaud - Récap").Range("A" & o + 2).Font.ColorIndex = 53

Je l'ai enlevé et ça fonctionne!

Maintenant pourquoi si j'exécute ma macro à partir d'une feuille ça marche et pas dans un module?

Mystère!


🙄
 
Re : Problème exécution macro + userform

Bonsoir à tous

à priori, il faut préciser le nom de la feuille sur laquelle tu veux ajouter le lien, quand ton code est dans le module d'une feuille, pas de problème, vba considère celle ci comme destinatrice, sinon ca bogue, modifies comme ceci et tu pourras mettre ton code dans un module standard :

Code:
Worksheets("nomdetafeuille").Hyperlinks.Add Anchor:=Sheets("Travaux Arnaud - Récap").Range("A" & o + 2), Address:="", SubAddress:=" 'Tâche N°" & o - 3 & "'!A1"

bonne soirée
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
522
  • Question Question
XL 2021 listbox
Réponses
18
Affichages
740
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…