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

Réinitialisation code procédure

  • Initiateur de la discussion Initiateur de la discussion lynyrd
  • Date de début Date de début

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 !

lynyrd

XLDnaute Impliqué
Bonjour le forum
Peut t'on réinitialiser automatiquement le code de la procédure d'un userform à l'ouverture du fichier ?
Merci.
 
Re : Réinitialisation code procédure

Bonjour, lynyrd.

Dans le module thisworkbook, tu peux appeler une procédure :
VB:
Private Sub Workbook_Open()
call LaProcédureDinitialisationDeMonUserform
End Sub
 
Re : Réinitialisation code procédure

Bonjour victor 21
Je comprends pas trop.
Je vais essayer d'expliquer mon souci.
Quand je veux utiliser la combobox de mon userform pour faire des recherches,excel me lance un message d'erreur
" erreur d'automation,une exception s'est produite " et me ferme excel.
j'ai remarqué que si avant de me servir de l'userform,je fais " exécution ----> réinitialiser " ca fonctionne normalement,donc je voudrais savoir si c'était possible à l'ouverture du fichier que cette manip se fasse automatiquement.
Merci.
 
Re : Réinitialisation code procédure

Bonjour


Ton fichier vient du futur ?
Macro réalisée en 2012 😉

[mon intuition]
Ce genre de message apparait quand un contrôle a été supprimé sur un userform mais qu'il reste un code VBA relatif à celui-ci.
[/mon intuition]

EDITION: Bonjour leti
 
Dernière édition:
Re : Réinitialisation code procédure

Ca bug toujours autant.
Laetitia,le code que tu m'avais fourni pour le module et le module de classe fonctionne très bien sur mon autre fichier ou il y a 2 userform (sous excel 2003 ).
j'ai adapté les mêmes codes sur le fichier joint (excel 2007)ou il n'y a qu'un userform et la ca bug.
 
Re : Réinitialisation code procédure

re,bonjour Jean Marie🙂🙂
quand pb automation cela peut etre aussi un pb de controles pas present renommees ect..

tout a fait d'accord avec jean marie🙂🙂 vu le nombres de controles sur ton user ca va pas etre simple
sans voir ton fichier en entier cela difficile
il faut proceder par ordre rajouter ton code a fur a mesure jusqu ' au blocage une solution!!
en 1 deja vider le code dans la class
Code:
Private Sub txt_Change()
 'rien
 End Sub
voir si la class pose pb dans 1 premier temps
 
Re : Réinitialisation code procédure

Non le problème ne viens pas de la.
Par contre pour l'ouverture des userforms dans le fichier précedent tu m'avais mis des commandbutton (4 et 5),je les ai supprimés pour les remplacer par une forme rectangulaire.
Dans le fichier joint plus haut le code pour ces 2 boutons était toujours dans la macro,je viens de supprimer le code mais le problème persiste
A+
 
Re : Réinitialisation code procédure

re , avant que je partes "squatter" la salle de bain dans tous les cas il faudrat arranger ton code on demande beaucoup a excel en une seule fois !!
ce que je dire... click sur combo on charge d'abord les données puis ensuite on active la class cela impose de rajouter une variable public
mais bon autre sujet!!!
 
Re : Réinitialisation code procédure

J'ai refait en totalité le fichier,même problème
Voici le fichier dans sa totalité
A+
Download Planning 2012-excel 2007.xlsm from Sendspace.com - send big files the easy way
 
Re : Réinitialisation code procédure

rebonjour tous 🙂🙂
je viens de regarder pas simple comme dit plus j'ai l'impression qu'on demande beaucoup a excel en une seule fois
je pense que le fichier sous excel2003 doit etre construit de cette maniere
premier user de janvier a juin & juillet a decembre vu que excel 2003 seulement 255 colonnes?? peut etre le fichier 2007 doit poser le meme PB sous 2003 a mon avis a tu teste ??
en 1 vu que tu as un user unique
la declaration classe dans user on supprime le module1
on essai de fractionner le chargement de la combo en 2
apres on verra😕

code user
Code:
Dim txt(3 To 368) As New Classe1, i As Long
Sub UserForm_Initialize()
For i = 3 To 368: Set txt(i).txt = Controls("Textbox" & i): Next i
Label1.Caption = "mode : Recherche"
initialisecombo
End Sub
Private Sub ComboBox1_Click()
CommandButton3.Visible = True
Label1.Caption = "mode : Modification"
With ComboBox1
For i = 1 To 221
Controls("TextBox" & i) = Sheets("feuil2").Cells(.List(.ListIndex, 1), i)
Next i
For i = 222 To 442
Controls("TextBox" & i) = Sheets("feuil2").Cells(.List(.ListIndex, 1), i)
Next i
End With
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub CommandButton3_Click()
With ComboBox1
For i = 1 To 369
     Sheets("feuil2").Cells(.List(.ListIndex, 1), i) = Controls("TextBox" & i)
     Controls("TextBox" & i) = ""
Next i
    .ListIndex = -1
End With
CommandButton3.Visible = False
CommandButton2.Visible = False
End Sub
Public Sub initialisecombo()
Dim i As Variant
With ComboBox1
    .ColumnCount = 2
    .ColumnWidths = "50;0"
End With
With Sheets("feuil2")
    For i = 2 To .Range("a65536").End(xlUp).Row
        ComboBox1.AddItem
        ComboBox1.List(ComboBox1.ListCount - 1, 0) = .Cells(i, 1) & " " & .Cells(i, 2)
        ComboBox1.List(ComboBox1.ListCount - 1, 1) = i
    Next i
End With
End Sub

la class change pas

Code:
Public WithEvents txt As MSForms.TextBox
 Private Sub txt_Change()
 txt = UCase(txt)
 With txt
     If .Value = "M" Then .BackColor = &HFF00&
     If .Value = "S" Then .BackColor = &HFFFF&
     If .Value = "GS" Then .BackColor = &HFFFF00
     If .Value = "J" Then .BackColor = &H80FF&
     If .Value = "RP" Then .BackColor = &HFF&
     If .Value = "RU" Then .BackColor = &HFF&
     If .Value = "VT" Then .BackColor = &H8080FF
     If .Value = "C" Then .BackColor = &HFFFFFF
     If .Value = "MA" Then .BackColor = &H808080
     If .Value = "GR" Then .BackColor = &H404080
     If .Value = "VM" Then .BackColor = &HFFC0C0
     If .Value = "FO" Then .BackColor = &H800080
     If .Value = "F" Then .BackColor = &HFF00FF
     If .Value = "D" Then .BackColor = &HC0C0C0
 End With
 End Sub

je declare i au debut du module

ps dit une betise on peut pas le tester sous 2003 255 colonnes 🙁🙁🙁
 
Dernière édition:
- 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

Réponses
13
Affichages
596
Réponses
14
Affichages
497
Réponses
2
Affichages
187
Réponses
8
Affichages
301
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…