Erreur lors d'une boucle

taj88 Messages postés 113 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 28 août 2007 - 27 juin 2007 à 14:43
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 28 juin 2007 à 23:30
Bonjour,
j'ai créer une boucle qui me créer des commandbutton avec des caractéristiques spécifiques, les uns après les autres voici le code :

Sub Créer_grille_macros()


For i = 0 To 100
    For j = 0 To 100
    ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
    , DisplayAsIcon:=False, Left:=0 + 18.5 * j, Top:=0 + 18.5 * i, Width:=18.5, Height:=18.5). _
    Select
    'Selection.ShapeRange.ZOrder msoSendToBack
    Selection.Object.BackStyle = 0 - fmBackStyleTransparent
    Selection.Object.BackColor = &H8000000B
    Selection.Object.Caption = " "
    Selection.ShapeRange.Fill.Visible = msoFalse
    Selection.ShapeRange.PictureFormat.Contrast = 1#
    Next j
   
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=0 + 18.5 * j, Top:=0 + 18.5 * i, Width:=18.5, Height:=18.5). _
Select
'Selection.ShapeRange.ZOrder msoSendToBack
Selection.Object.BackStyle = 0 - fmBackStyleTransparent
Selection.ShapeRange.Fill.Visible = msoFalse
Selection.Object.Caption = " "
Selection.ShapeRange.PictureFormat.Contrast = 1#
Selection.Object.BackColor = &H8000000B
Next i
End Sub

code pour les effacer (c'est utile si on veut pas les effacer un par un )
Sub Effacer_grille_macros()
    For Each X In ActiveSheet.OLEObjects
   If X.Object.BackStyle = 0 - fmBackStyleTransparent Then
       Call X.Delete
   End If
   Next
   Set X = Nothing
End Sub

Malheuresement au bout du 1208 eme commandbutton, il me met une erreur :

Run-time error '-2147319765(80028026)'
Automation error
Element not found

Voilà j'aimerais savoir si c'est parce qu'il y a une limite de commandbutton (apparament non car je peux en recrée d'autre après "à la main") ou alors un pb de mémoire.

Voilà si vous voulez vous pouvez éventuellement tester et me dire si vous connaissez cette erreur et si je peu y remedier

Merci d'avance, @+

PS: si vous avez cette erreur, vous avez juste a effacer le dernier bouton et à lancer Effacer_grille_macros

Je viens de découvrir le bonheur de programmer et le VB me le rend bien

6 réponses

cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
27 juin 2007 à 18:51
Salut,

Je pense que ton button "1208" n'existe pas, et c'est pour cela que ça plante...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 21
27 juin 2007 à 22:48
Voir ce post.
une dizaine en-dessous du tien ...

http://www.vbfrance.com/infomsg_FOR-EACH-BIZARRERIE_970354.aspx#6

MPi
0
taj88 Messages postés 113 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 28 août 2007
28 juin 2007 à 11:19
Je viens de découvrir le bonheur de programmer et le VB me le rend bien
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
28 juin 2007 à 11:31
Hein? Manque pas un bout de ton com ?

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
taj88 Messages postés 113 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 28 août 2007
28 juin 2007 à 11:59
Slt, oui mon message d'avant n'est pas passé (pb avec mon PC)

sinon, je pense avoir trouvé le pb, c'est que la limite du nb de commandButton est environ 1200, car je peux en rajouter à la main et leur associer code (j'ai essayer jusqu'à 2000), mais en fait dés que l'on rajoute un bouton de plus que cette "limite", ceci nous plante notre code, car si je lance une autre macro n'utilisant pas les commandbutton, il me remet encire l'erreur.

Et donc, la question que je me pose est : peut-on augmenter cette limite?

Je viens de découvrir le bonheur de programmer et le VB me le rend bien
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 21
28 juin 2007 à 23:30
1200, ça m'étonnerait ...
1024, peut-être ...(?)

MPi
0