IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Tri ne s'effectue pas, sauf en exécutant le code pas à pas


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 206
    Par défaut Tri ne s'effectue pas, sauf en exécutant le code pas à pas
    Bonjour à tous,

    Je rencontre un petit problème : à partir d'un code simple, je souhaitais créer une liste déroulante avec le nom de mes Worksheets, en les triant dans l'ordre alphabétique.

    Mon code fonctionne quand je l’exécute pas à pas, mais impossible d'avoir le tri quand j'ouvre le formulaire !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub UserForm_Initialize()
    Dim wks As Worksheet
    Dim i As Integer
     
    Call triListe
     
    Me.cboGestion.ColumnCount = 1
    Me.cboGestion.Clear
     
    For i = 1 To Worksheets("TblTemporaire").Range("A65536").End(xlUp).Row
        Me.cboGestion.AddItem Worksheets("TblTemporaire").Range("A" & i)
    Next i
        Worksheets("TblTemporaire").Range("A:A").Clear
     
        Me.cboGestion.Value = Replace(Me.Name, "Frm", "")
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Function triListe()
    Dim wks As Worksheet
    Dim i As Integer
    i = 1
    For Each wks In Worksheets
        If Left(wks.Name, 8) = "TblListe" Then
            Worksheets("TblTemporaire").Range("A" & i).Value = Replace(wks.Name, "TblListe", "")
            i = i + 1
        End If
    Next
    Range("A:A").Sort key1:=Range("A:A"), order1:=xlAscending, Header:=xlNo
    End Function
    Auriez-vous une idée de ce qui peut causer ce problème, et comment le résoudre ?

    En vous remerciant d'avance,

    Wulfram

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 206
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("TblTemporaire").Range("A:A").Sort key1:=Worksheets("TblTemporaire").Range("A:A"), order1:=xlAscending, Header:=xlNo
    Permet d'effectuer le tri ; en fait, le problème ne venait pas du type d’exécution, mais du fait que lors de l'exécution pas à pas, j'avais activé moi-même la feuille...

    Désolé de débuter en VBA Excel !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/09/2014, 10h11
  2. Réponses: 6
    Dernier message: 19/02/2008, 11h45
  3. Réponses: 19
    Dernier message: 20/05/2007, 23h12
  4. [MySQL] Update ne fonctionnant pas à la première exécution
    Par isa150183 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 10/11/2006, 18h25
  5. [débutant] fonction s'exécutant en C mais pas en C++
    Par goran kajfes dans le forum Débuter
    Réponses: 8
    Dernier message: 28/12/2005, 21h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo