UserForm ce ferme avant de sortir de la macro...
Résolu/Fermé
Ant716
Messages postés
7
Date d'inscription
mercredi 10 juin 2020
Statut
Membre
Dernière intervention
12 juin 2020
-
10 juin 2020 à 09:19
Ant716 Messages postés 7 Date d'inscription mercredi 10 juin 2020 Statut Membre Dernière intervention 12 juin 2020 - 12 juin 2020 à 13:36
Ant716 Messages postés 7 Date d'inscription mercredi 10 juin 2020 Statut Membre Dernière intervention 12 juin 2020 - 12 juin 2020 à 13:36
A voir également:
- UserForm ce ferme avant de sortir de la macro...
- Uptobox fermé - Accueil - Services en ligne
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Rouvrir onglet fermé - Guide
- Macro word - Guide
6 réponses
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
10 juin 2020 à 11:33
10 juin 2020 à 11:33
Bonjour,
Pouvez mettre votre fichier a dispo?
Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com
Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
ou
'mon partage
https://mon-partage.fr/
Pouvez mettre votre fichier a dispo?
Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com
Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
ou
'mon partage
https://mon-partage.fr/
Ant716
Messages postés
7
Date d'inscription
mercredi 10 juin 2020
Statut
Membre
Dernière intervention
12 juin 2020
10 juin 2020 à 11:39
10 juin 2020 à 11:39
Bonjour,
Merci pour votre réponse, voici le liens du fichiers:
https://www.cjoint.com/c/JFkjM7rStZs
Cordialement
Antoine
Merci pour votre réponse, voici le liens du fichiers:
https://www.cjoint.com/c/JFkjM7rStZs
Cordialement
Antoine
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
10 juin 2020 à 11:52
10 juin 2020 à 11:52
Re,
chez moi bloque ici!
chez moi bloque ici!
Sub InitializeUserFormSubCat() Unload UserForm_SubFilter
Ant716
Messages postés
7
Date d'inscription
mercredi 10 juin 2020
Statut
Membre
Dernière intervention
12 juin 2020
>
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
10 juin 2020 à 13:14
10 juin 2020 à 13:14
Retire cette ligne elle me serre a décharger le userform quand je doit l'appeler plusieurs fois de suite.
Donc remplace par:
J'ai mis a jours le 1er post.
Cordialement, antoine
Donc remplace par:
'Unload UserForm_SubFilter
J'ai mis a jours le 1er post.
Cordialement, antoine
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
>
Ant716
Messages postés
7
Date d'inscription
mercredi 10 juin 2020
Statut
Membre
Dernière intervention
12 juin 2020
10 juin 2020 à 15:14
10 juin 2020 à 15:14
Re,
Toujours pas bon, pas possible d'entrer en mode arret ici
Toujours pas bon, pas possible d'entrer en mode arret ici
With Module.CodeModule .InsertLines .CountOfLines + 1, "Private Sub " & nameToggleButton .InsertLines .CountOfLines + 1, " Test(" & captionToggleButton & ")" .InsertLines .CountOfLines + 1, "End Sub" .InsertLines .CountOfLines + 1, "" End With
Ant716
Messages postés
7
Date d'inscription
mercredi 10 juin 2020
Statut
Membre
Dernière intervention
12 juin 2020
10 juin 2020 à 15:47
10 juin 2020 à 15:47
Je bosse sur Excel 2010, a mon post ca marche quand j'appuie sur le Bouton Init de la feuille 1.
Mais si je lance la macro pas a pas en mode arrêt ca plante ici:
Si je met cette ligne en commentaire, la ca plante aussi ici:
Quel version d'excel utilise tu?
Justement je cherche a savoir pourquoi en mode arrêt ça plante?
Mais si je lance la macro pas a pas en mode arrêt ca plante ici:
Delete_Code_ThisModule
Si je met cette ligne en commentaire, la ca plante aussi ici:
With Module.CodeModule .InsertLines .CountOfLines + 1, "Private Sub " & nameToggleButton .InsertLines .CountOfLines + 1, " Test(" & captionToggleButton & ")" .InsertLines .CountOfLines + 1, "End Sub" .InsertLines .CountOfLines + 1, "" End With
Quel version d'excel utilise tu?
Justement je cherche a savoir pourquoi en mode arrêt ça plante?
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
Modifié le 10 juin 2020 à 16:11
Modifié le 10 juin 2020 à 16:11
Re,
Excel 2013.
la ca plante aussi ici:
Pas chez moi, reecrit autant de fois que click bouton
Mais pas d'apparition de l'uf!
Suite:
pourquoi en mode arrêt ça plante?
A lire:
https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/can-t-enter-break-mode-at-this-time
Excel 2013.
la ca plante aussi ici:
Pas chez moi, reecrit autant de fois que click bouton
Mais pas d'apparition de l'uf!
Suite:
pourquoi en mode arrêt ça plante?
A lire:
https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/can-t-enter-break-mode-at-this-time
Ant716
Messages postés
7
Date d'inscription
mercredi 10 juin 2020
Statut
Membre
Dernière intervention
12 juin 2020
10 juin 2020 à 16:54
10 juin 2020 à 16:54
Voici un nouveau fichier:
https://www.cjoint.com/c/JFko1xonfus
Pour que tu vois le UserForm.
Mais comment ajouter une macro dynamiquement a chaque bouton?
https://www.cjoint.com/c/JFko1xonfus
Pour que tu vois le UserForm.
Mais comment ajouter une macro dynamiquement a chaque bouton?
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
Modifié le 10 juin 2020 à 18:15
Modifié le 10 juin 2020 à 18:15
Re,
En partant du code de ce lien:
https://www.developpez.net/forums/d1151084/logiciels/microsoft-office/excel/macros-vba-excel/userform-dynamique/#post6337599
fichier modifie avec creation et destruction UF en dynamique (plus simple, pas de delete de quoi que ce soit)
https://mon-partage.fr/f/27nfMFvd/
En partant du code de ce lien:
https://www.developpez.net/forums/d1151084/logiciels/microsoft-office/excel/macros-vba-excel/userform-dynamique/#post6337599
fichier modifie avec creation et destruction UF en dynamique (plus simple, pas de delete de quoi que ce soit)
https://mon-partage.fr/f/27nfMFvd/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ant716
Messages postés
7
Date d'inscription
mercredi 10 juin 2020
Statut
Membre
Dernière intervention
12 juin 2020
11 juin 2020 à 10:46
11 juin 2020 à 10:46
Salut,
Alors la création du UserForm c'est Top est plus propre.
Ta solution marche mais en mode Modale, en Non modale j'ai exactement le même problème qu'avant.
J'ai donc ajouter ceci au propriété du UserForm:
Et enlevé ceci a la fin:
Je pense qu'il serai judicieux de relever les information de la feuille2, les stocker dans des Variant, ensuite créer les macro dans un module et enfin créer le userform...
??
Alors la création du UserForm c'est Top est plus propre.
Ta solution marche mais en mode Modale, en Non modale j'ai exactement le même problème qu'avant.
J'ai donc ajouter ceci au propriété du UserForm:
Set UsfForm = ThisWorkbook.VBProject.VBComponents.Add(3) With UsfForm .Properties("Caption") = "Sous catégories" .Properties("ShowModal") = False End With UsfName = UsfForm.Name
Et enlevé ceci a la fin:
VBA.UserForms.Add(UsfName).Show 'ThisWorkbook.VBProject.VBComponents.Remove VBComponent:=UsfForm
Je pense qu'il serai judicieux de relever les information de la feuille2, les stocker dans des Variant, ensuite créer les macro dans un module et enfin créer le userform...
??
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
11 juin 2020 à 11:48
11 juin 2020 à 11:48
Bonjour,
créer les macro dans un module
Les procedures sont propres a l'UF, pourquoi un module?
créer les macro dans un module
Les procedures sont propres a l'UF, pourquoi un module?
Ant716
Messages postés
7
Date d'inscription
mercredi 10 juin 2020
Statut
Membre
Dernière intervention
12 juin 2020
12 juin 2020 à 13:36
12 juin 2020 à 13:36
Bonjour,
J'avais également poster le souci sur un autre forum, voici la solution:
Module Main:
Module de classe:
Userform
Si cela peut aider quelqu'un d'autre....
Merci beaucoup pour l'aide,
Bien cordialement
J'avais également poster le souci sur un autre forum, voici la solution:
Module Main:
Public Boutons_Cdes() As New Classe1 Sub ShowUsf() usfTest.Show 0 End Sub Sub Action(i$) MsgBox "Vous avez cliqué " & i End Sub
Module de classe:
Option Explicit Public WithEvents BoutonCde As MSForms.ToggleButton Private Sub BoutonCde_Click() Dim i$ i = BoutonCde.Caption Action i End Sub
Userform
Option Explicit Private Sub UserForm_Initialize() Dim Larg&, Haut&, i%, iColumn%, iRow%, k%, ii%, iMem Dim Obj As Control For Each Obj In usfTest.Controls If Left(Obj.Name, 2) = "tb" Then usfTest.Controls.Remove Obj.Name Next Larg = 70 Haut = 20 iColumn = ShB.Cells(4, 1).End(xlToRight).Column For i = 1 To iColumn Set Obj = usfTest.Controls.Add("Forms.Label.1") With Obj .Caption = ShB.Cells(4, i) With .Font .Bold = True .Size = 10 End With .Height = 15 .Width = Larg .Left = 10 + (Larg + 5) * (i - 1) .Top = 3 End With Next For i = 1 To iColumn If ShB.Cells(6, i) <> "" Then 'Si la celulle n'est pas vide On Error Resume Next ii = UBound(Boutons_Cdes) On Error GoTo 0 'iMem = iRow - 5 'iRow = ShB.Cells(6, i).End(xlDown).Row iRow = ShB.Cells(9 ^ 2, i).End(xlUp).Row If iRow - 5 > iMem Then iMem = iRow - 5 End If For k = 1 To iRow - 5 Set Obj = Me.Controls.Add("forms.ToggleButton.1") With Obj .Name = "tb" & k + ii .Caption = ShB.Cells(k + 5, i) .BackColor = &H808000 .ForeColor = &HFFFFFF With Font .Bold = True .Size = 8 End With .Height = Haut .Width = Larg .Left = 5 + (Larg + 5) * (i - 1) .Top = (Haut + 2) * (k) End With ReDim Preserve Boutons_Cdes(1 To k + ii) Set Boutons_Cdes(k + ii).BoutonCde = Obj Next End If Next Set Obj = Nothing usfTest.Height = 55 + ((Haut + 2) * iMem) usfTest.Width = 25 + ((Larg + 5) * iColumn) End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Erase Boutons_Cdes Unload Me End Sub
Si cela peut aider quelqu'un d'autre....
Merci beaucoup pour l'aide,
Bien cordialement