Ordre des contrôles sur une feuille

Jibse

XLDnaute Nouveau
Bonjour,

Est-il possible de modifier l'ordre dans lequel Excel examine les contrôles placés sur une feuille (quand on fait un For each..., par exemple) de manière à ce qu'il corresponde à l'ordre alphabétique des noms des contrôles ?
Merci.
 

job75

XLDnaute Barbatruc
Re : Ordre des contrôles sur une feuille

Bonsoir Jibse,

Je n'ai pas vérifié, mais je suppose qu'Excel étudie les contrôles dans l'ordre où ils ont été créés.

Donc si l'on veut qu'il les examine dans un ordre déterminé, les recréer (par Copier/Coller) dans cet ordre.

A+
 

Jibse

XLDnaute Nouveau
Re : Ordre des contrôles sur une feuille

Bonsoir Job75,

C'est ce que je pense aussi, mais j'ai beaucoup de contrôles sur ma feuille et j'aimerais les ordonner automatiquement par ordre alphabétique. Il doit bien y avoir une astuce. Je cherche.
A+
 
G

Guest

Guest
Re : Ordre des contrôles sur une feuille

Bonsoir Jibse, Job,

Tu peux faire quelque chose comme ceci avec des contrôles de feuille de calcul:

Code:
Private Sub Test()
 Dim ctl As OLEObject
 Dim listeControles
 Dim i As Integer
  listeControles = Array("CommandButton1", "TextBox1")
  For i = 0 To 1
       Set ctl = Sheets("Feuil1").Evaluate(listeControles(i))
 Next i
End Sub

Ou

Code:
Sub Test2()
 Dim ctl As OLEObject
 Dim listeControles
 Dim i As Integer
 listeControles = Array("CommandButton1", "TextBox1")
 For i = 0 To 1
    Set ctl = Sheets("Feuil1").OLEObjects(listeControles(i))
 Next i
End Sub

Dans Listecontroles tu mets l'ordre que tu veux.

A+
 

Jibse

XLDnaute Nouveau
Re : Ordre des contrôles sur une feuille

Merci Hasco,

Je fais peut-être une erreur, mais ça ne marche pas avec ma centaine de contrôles. ça marche semble-t-il avec une dizaine (mon code ne plante pas, mais je n'ai pas vérifié le résultat), mais pas avec 100. J'ai d'abord créé l'array par code, j'ai vérifié qu'il était correctement écrit, mais ça m'a donné Objet requis avec Evaluate et La méthode 'OLEObjects' de l'objet '_Worksheet' a échoué. J'ai ensuite essayé d'écrire directement tout l'array des 100 contrôles dans mon code, mais c'est impossible (ça reste toujours rouge).
Bonne soirée,
 

Jibse

XLDnaute Nouveau
Re : Ordre des contrôles sur une feuille

Bonjour,

J'ai réussi à créer correctement mon tableau Array, mon code marche, mais l'index des contrôles ne change pas. En fait, il semble que la propriété Index de OLEObjects soit en lecture seule. Cela dit, j'ai résolu mon problème autrement (je me passe de l'index).
Bonne journée,
 

Statistiques des forums

Discussions
312 412
Messages
2 088 196
Membres
103 763
dernier inscrit
p.michaux