Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Bug affichage userform

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

Brigitte

XLDnaute Barbatruc
Bonjour les amis,

J'ai voulu adapter la super macro d'Hervé de mon fichier archives de mon ancien boulot, au nouveau.
Il me semble que ca marchait, et là plus du tout.
Quand je clique sur le bouton de l'UF RECHERCHE, ca bugge, ca me dit :

L'indice n'appartient pas à la sélection.

Peut être une toute petite chose dans la syntaxe (code du bouton pour cliquer ?).

PHP:
[CODE]Sub Bouton74_QuandClic()
Recherche.Show 0
End Sub[/CODE]

ca me parait bizarre ce recherche.show 0

Merci à vous si vous pouvez regarder comment me sauver !

PS : je ne peux pas joindre le fichier, trop gros... et je ne peux pas le réduire... Si qqun veut bien, je peux l'envoyer par mail.
 
Re : Bug affichage userform

Bonjour Brigitte🙂

le nom de l'usf n'a pas changé ? celui du bouton non plus ? le code en question se trouve où ? dans le module de la feuille ?

Aarf, Aarf que de questions.... sinon essaye peut être de placer en pièce jointe ton fichier avec juste l'usf et la feuille comportant le bouton....

bon après midi
@+
 
Re : Bug affichage userform

Bonjour Brigitte, Pierrot, le Forum,

@ Brigitte : si tu cliques sur "Débogage" quand le message d'erreur s'affiche, quelle ligne de code est-elle surlignée en jaune ?

A +
 
Re : Bug affichage userform

Bonjour Pierrot,

Non le nom n'a pas changé, le bouton non plus (idem que la dernière fois où il me semble que ca marchait, et idem que dans gros fichier d'origine).
Le code Recherche.show se trouve dans la feuille (comme dans le fichier d'origine où je viens de vérifier que ca marche bien).

Je viens de chercher le nom du fichier, que j'ai changé, il ne figure nulle part dans le projet, donc ce n'est pas ca non plus !

Mais impossible de le joindre ici, il fait 3 Mo et je peux passer une heure à le réduire, il fera tjs pareil, ou sera incompréhensible.

Donc si qqun le veut, je l'envoie... Sinon tant pis, je reste avec mon souci ! Merci à vous.
 
Re : Bug affichage userform

Coucou ma P'tites couettes 😉
Bonjour les hommes

Ton problème vient de l'évènement initialize de ton USF, il faudrait que tu passes en mode débogage
F9 sur la ligne
Code:
Recherche.Show 0

Tu peux m'envoyer le fichier sur mon adresse (dans mon profil 😉)

Bisous
 
Re : Bug affichage userform

Coucou Bruno,

Je t'avais pas vu... c'est fait, je t'ai envoyé les deux fichiers (le nouveau, l'ancien).
J'ai fait F9 sur la ligne, euh, ca fait rien du tout, un gros point marron et ca met tout en marron, mais c tout...
 
Re : Bug affichage userform

Re,

Le problème vient bien de ta ligne
Code:
ReDim tablo(1 To data.Count)
Si tu n'as pas de date dans tes colonnes
Code:
Case 6: Set plage = Feuil6.Range("p2:p" & Feuil6.Range("p65536").End(xlUp).Row)
            Case 7: Set plage = Feuil6.Range("r2:r" & Feuil6.Range("r65536").End(xlUp).Row)
            Case 8: Set plage = Feuil6.Range("j2:j" & Feuil6.Range("j65536").End(xlUp).Row)
            Case 9: Set plage = Feuil6.Range("o2:o" & Feuil6.Range("o65536").End(xlUp).Row)

Voici le code corrigé qu'il faut changer dans ton UsF 😉
VB:
Private Sub UserForm_Initialize()
  Dim c As Range
  Dim data As Collection
  Dim i As Byte, j As Byte, k As Byte
  Dim tablo()
  Dim item
  Dim plage As Range


  Application.ScreenUpdating = False
  Application.Calculation = xlCalculationManual


  With Sheets("Listes")  ' Feuil2 '"listes"
    'initialisation combo groupement et code
    ComboBox1.List = .Range("b2:b" & .Range("b65536").End(xlUp).Row).Value
    ComboBox2.List = .Range("a2:a" & .Range("a65536").End(xlUp).Row).Value
  End With


  Range("a1").AutoFilter
  Range("a1").AutoFilter


  'initialisation combobox4 (DUA) et combobox 10 sans doublons et triée
  With Feuil6
    For k = 4 To 11
      Select Case k
      Case 4: Set plage = .Range("k2:k" & .Range("k65536").End(xlUp).Row)
      Case 10: Set plage = .Range("n2:n" & .Range("n65536").End(xlUp).Row)
      Case 11: Set plage = .Range("e2:e" & .Range("e65536").End(xlUp).Row)
      Case Else: Set plage = Nothing
      End Select
      If Not plage Is Nothing Then
        Set data = New Collection
        For Each c In plage
          If c <> "" Then
            On Error Resume Next
            data.Add c, CStr(c)
            On Error GoTo 0
          End If
        Next c


        For Each item In data
          Controls("combobox" & k).AddItem item
        Next item


        With Controls("combobox" & k)
          For i = 0 To .ListCount - 1
            For j = 0 To .ListCount - 1
              If k = 4 Then
                If Val(.List(i)) < Val(.List(j)) Then
                  item = Val(.List(i))
                  .List(i) = .List(j)
                  .List(j) = item
                End If
              End If
              If k > 9 Then
                If .List(i) < .List(j) Then
                  item = .List(i)
                  .List(i) = .List(j)
                  .List(j) = item
                End If
              End If
            Next j
          Next i
        End With
      End If
    Next k
  End With


  'initialise combobox6, 7 et 8 et 9 sans doublons et triée
  For k = 6 To 9
    'If k <> 9 Then
    Set data = Nothing
    Set data = New Collection
    Select Case k
    Case 6: Set plage = Feuil6.Range("p2:p" & Feuil6.Range("p65536").End(xlUp).Row)
    Case 7: Set plage = Feuil6.Range("r2:r" & Feuil6.Range("r65536").End(xlUp).Row)
    Case 8: Set plage = Feuil6.Range("j2:j" & Feuil6.Range("j65536").End(xlUp).Row)
    Case 9: Set plage = Feuil6.Range("o2:o" & Feuil6.Range("o65536").End(xlUp).Row)
    End Select


    For Each c In plage
      If c <> "" Then
        On Error Resume Next
        If k = 8 Then
          data.Add c, CStr(c)
        Else
          data.Add Year(CDate(c)), CStr(Year(CDate(c)))
        End If
        On Error GoTo 0
      End If
    Next c
    
    ' *** Evite un BUG si aucune date dans les plages
    If data.Count > 0 Then
      ' Redimensionne le tablo selon la quantité de data
      ReDim tablo(1 To data.Count)
      
      For i = 1 To data.Count
        tablo(i) = data(i)
      Next i


      For i = 1 To UBound(tablo)
        For j = 1 To UBound(tablo)
          If Val(tablo(i)) < Val(tablo(j)) Then
            item = Val(tablo(i))
            tablo(i) = tablo(j)
            tablo(j) = item
          End If
        Next j
      Next i


      For i = 1 To UBound(tablo)
        Controls("combobox" & k).AddItem tablo(i)
      Next i
    End If
    Erase tablo
    ' End If
  Next k
  'initialisation combobox5 (sort)
  ComboBox5.List = Array("C", "D", "T")


  'année précise pour dua et éliminé par défaut
  OptionButton4 = True
  OptionButton6 = True
  OptionButton8 = True


  'alimentation combobox ai
End Sub

Bisous et au plaisir
 
Re : Bug affichage userform

Youhou,

Trop fort le Nono, comme d'hab ! Ca marche d'enfer, merci tout plein à toi... aux zotres aussi qui ont bien voulu écouter la néophyte que je suis.

Bisous à toi et Fanny. Contente de t'avoir entendu au fil ! Bonjour à la Z.
 
Re : Bug affichage userform

Re,

De rien ma P'tites couettes, c'est toujours un très grand plaisir de pouvoir t'aider 😉

Je lui est fait tous pleins de gros bisous ... à ma Z ...
haaaa zut j'me suis trompé ... c'était à Fanny

Bisouuuuusss
 
Dernière modification par un modérateur:
Re : Bug affichage userform

Bonsoir;

...
J'ai fait F9 sur la ligne, euh, ca fait rien du tout, un gros point marron et ca met tout en marron, mais c tout...

tant que ce n'est pas un point noir 😉 ... A partir d'ici, il suffit de relancer la macro et la touche F8 permet son déroulement ligne à ligne en s'arrêtant à la première erreur s'il y en a.
 
Re : Bug affichage userform

Bonjour (en retard) Fo_rum,

Désolée, mais je n'étais pas revenue ici, puisque le chevalier Bruno était venu à mon secours... et avait résolu le problème, tout en répondant aussi à mon interrogation de F9.

Merci à toi aussi...Tu n'avais pas dû rafraîchir, quand tu as posté... car l'eau avait coulé depuis mon F9, sinon j'aurais pris une crampe sur la touche. Merci pour l'astuce du F8, je vais tâcher de m'en souvenir (pas gagné).

Bisous pour la peine.
 
- 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

Discussions similaires

Réponses
1
Affichages
1 K
R
Réponses
0
Affichages
6 K
r_nicolas2
R
Réponses
5
Affichages
1 K
Compte Supprimé 979
C
M
Réponses
2
Affichages
842
missaudrey
M
O
Réponses
2
Affichages
1 K
Ours masqué
O
O
  • Question Question
Réponses
2
Affichages
1 K
Ours masqué
O
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…