Problème avec macro excel

Résolu
etoumat
Messages postés
54
Date d'inscription
vendredi 2 février 2007
Statut
Membre
Dernière intervention
5 juillet 2007
- 6 févr. 2007 à 16:32
etoumat
Messages postés
54
Date d'inscription
vendredi 2 février 2007
Statut
Membre
Dernière intervention
5 juillet 2007
- 7 févr. 2007 à 17:24
Bonjour à tous.
J'ai un petit souci. J'ai créé un fichier excel rempli de macro afin de qualifier le fichier client de mon entreprise. J'ai donc des boutons (pour activer tel ou tel macro) dans une feuil excel. Parmi eux un bouton ouvre un userform où il y a un combobox. Le userform initialize doit remplir ce combobox. LA EST LE PROBLEME. En faite tout marche bien temps que VBE est ouvert. Une fois qu'il est fermé mon userform de marche qu'une fois sur deux, une fois le combobox est rempli (car le userform initialize s'exécute) l'autre fois le combox est vide (le userform initialise ne s'exécute pa). Puis sa remarche et sa replante......
Quelqu'un aurait-il une idée S'IL VOUS PLAIT ?????

voila le userform initialize :

private Sub UserForm_Initialize()


Dim b As Integer
Dim k As Integer
Dim l As Integer
Dim m As Integer
b = 40
k = 40
m = 0


Sheets("resultat").Select



'ici le programme cherche les noms d'entreprise. 1 entreprise=9 lignes
'la première commence à la ligne 40
'je copie le nom des entreprises dans une autre colonne afin des les trier
For b = 40 To 30000
If Not m = 10 Then
    If Not Cells(b, 1) = "" Then
    Sheets("resultat").Cells(k, 128) = Sheets("resultat").Cells(b, 1)
    k = k + 1
    m = 0
    Else
    m = m + 1
    End If
Else
Exit For
End If
Next b


l = 1



'macro 23 = triage dans l'ordre croissant de la clonne précédente
Macro23
m = 0
z = 0
'les noms trier par ordre croissant sont insérés dans le combox list3
For l = 1 To 30000
If Not m = 30 Then
    If Not Cells(l, 128) = "" Then
    list3.AddItem Cells(l, 128)
    z = z + 1
    Else
    m = m + 1
    End If
Else
Exit For
End If


Next l


End Sub

4 réponses

mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
6 févr. 2007 à 17:46
Salut,

l'évènement Load ne fonctionne pas en VBA (mais vb6 ), ce qu'il faut savoir, c'est comment fermes-tu ton UserForm ?
Par la croix ou un bouton et une ligne de code ?
Sache que si tu utilises Me.Hide, cela ne fait que cacher ton UserForm. Il est conseillé de le fermer par Unload Me afin de décharger tous les objets du UserForm.

Sinon, des erreurs peuvent se produire lors d'une réouverture du formulaire.

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
3
drikce06
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
6 févr. 2007 à 16:36
Salut fais la même chose mais dans l'évènement activate ou load!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
Salade007
Messages postés
76
Date d'inscription
dimanche 30 novembre 2003
Statut
Membre
Dernière intervention
30 janvier 2019

6 févr. 2007 à 19:06
Bonsoir,

il faut jouer avec "useforme".hide
                          "useforme".show
et la fonction unload"useforme"

"useforme" etant le nom qui a été donne.
Bon courage

à++++++++[8D]
0
etoumat
Messages postés
54
Date d'inscription
vendredi 2 février 2007
Statut
Membre
Dernière intervention
5 juillet 2007

7 févr. 2007 à 17:24
Merci bocoup mortalino tu a complètement raison. Le seul fait de changer tout mes userform.hide en unload userform à complètement effacer le problème. Tes un GENIE MERCI.
0