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 :

Incompatilite de type dans tri


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 030
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 030
    Par défaut Incompatilite de type dans tri
    Bonjour au Forum

    Je sollicite votre aide pour un problème "d'incompatibilité de type"
    trouvé dans une procédure de tri que j'utilise souvent et grace au forum
    celle-ci provient lorsque je souhaite remplir ma combobox avec des données
    ( feuille E ) situées en colonnes A et dont le nombre de caractère varie

    Ici code de remplissage de la combobox6

    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
    18
    19
    20
     
     
    Dim T As Object
    Dim c As Range
    Dim temp
     
    ComboBox6.Clear ' MAZ de la combobox
    Set T = CreateObject("Scripting.Dictionary")
    'Remplissage de la ComboBox6 sans doublons
    With E
       For Each c In .Range("A3", .Cells(Rows.Count, 1).End(xlUp)) <= recherche des données colonne A
          If c.Value <> Empty Then
             T.Item(c.Value) = c.Value
          End If
       Next c
    End With
    temp = T.items
    Tri temp, LBound(temp), UBound(temp) <= appel à la procédure de tri ( init Forum ) 
    Me.ComboBox6.List = temp
    Set T = Nothing
    Puis appel à la procedure de tri

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    Public Sub Tri(Tableau, L As Integer, R As Integer)
    Dim G As Integer, D As Integer
    Dim Ref
     
    Ref = Tableau((L + R) \ 2)
    G = L
    D = R
    Do
       Do While Tableau(G) < Ref
          G = G + 1
       Loop
       Do While Ref < Tableau(D)
          D = D - 1
       Loop
       If G <= D Then   <= Plantage ici pour incompatilité de type ??
          temp = Tableau(G)
          Tableau(G) = Tableau(D)
          Tableau(D) = temp
          G = G + 1
          D = D - 1
       End If
    Loop While G <= D
    If G < R Then Tri Tableau, G, R
    If L < D Then Tri Tableau, L, D
    End Sub
    Cette procédure de tri marche très bien habituellement mais elle se plante sans je puisse en déterminer la cause sauf peut-être dans le fait que la recherche et le tri s'effectuent sur des données de longueur différente (?)

    Si quelqu'un avait une petite idée ce serait sympa

    merci mille fois pour votre aide
    A+

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Regarde le contenu de chaque élément de Tableau.
    Il doit y en avoir au moins un qui n'est pas un Integer.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 030
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 030
    Par défaut RE
    Bonjour AlainTech

    merci de t'intéresser à mon petit pb

    Regarde le contenu de chaque élément de Tableau.
    j'ai beau essayé je ne comprends pas ce qui passe , en fait dans mon appli
    j'utilise déjà cette procédure de tri pour remplir une combobox ( dans une autre page d'userform ) et avec la même procédure de tri
    j'ai donc créé une autre variable "temp" (= temp1 ) et là çà fonctionne
    ne serait-ce pas un pb de remise à zéro de cette même variable ?

    A+

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Désolé, mauvaise réponse de ma part.

    Au moment du plantage, passe en Debug et regarde les valeurs de D et G.
    Tu peux le faire soit en passant le curseur sur les 2 variables, soit en tapant ? D (ou G) puis [Enter] dans la fenêtre Exécution (Ctrl + G si elle n'est pas affichée).
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

Discussions similaires

  1. Trouver tous les objets d'un certain type dans un document?
    Par kobe dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 03/11/2005, 17h07
  2. Réponses: 1
    Dernier message: 27/07/2005, 17h08
  3. créer un type dans une fonction javascript
    Par amelhog dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/07/2005, 13h54
  4. Incompatibilité de types dans un formulaire
    Par ahage4x4 dans le forum ASP
    Réponses: 3
    Dernier message: 03/05/2005, 15h39
  5. "Différence de type dans une expression" Tquery
    Par Hakim dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/04/2004, 00h22

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