Ordre des contrôles sur une feuille

  • Initiateur de la discussion Initiateur de la discussion Jibse
  • 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 !

J

Jibse

Guest
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.
 
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+
 
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+
 
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+
 
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,
 
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,
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
171
Réponses
16
Affichages
626
Réponses
3
Affichages
231
  • Question Question
Microsoft 365 Contrôle sur date
Réponses
8
Affichages
424
Retour