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

XL 2013 SOS Ma ListBox plante

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

En fait, je ne comprends pas pourquoi lorsque je sélectionne autre chose que "Tous", l'affichage de l'objet sélectionné dans les textbox ne suit pas. J'ai dû faire une erreur de code pour que les index soient perturbés..

NB: Le bouton supprimer j'ai déjà réussi à le traiter..
Merci
 
Bonsoir le Forum,

Ma question est restée sans réponse, malgré les 52 affichages.
Dois-je comprendre qu'il n'existe pas de solution ou que les problématiques soulevées ne sont pas assez clairement exposées?

Faut-il recréer une discussion exprès pour cela?
 
Bonjour jeanba
Bonjour le Fil ,le Forum
je pense que ton problème vient du fait que tu prends comme référence de la Ligne Source le ListIndex de ta ListBox +2
VB:
Me.ComboBox3.Value = .Cells(Me.ListBox1.ListIndex + 2, 3)  '   Compte Tiers
Ce qui fait que quand tu sélectionnes la première ligne tu auras toujours ListIndex=0 puis 1 ,2 etc etc
donc si tu as sélectionné "Tous" tu auras bien la localisation dans le Tableau .
mais si tu sélectionnes par exemple "Salarié" , la première ligne Source est la Ligne 18 dans le Tableau.
ta listBox renverra elle :
VB:
.Cells(Me.ListBox1.ListIndex + 2, 3)
soit première ligne =0+2 = 2 ---> CLIENT 1. et Non = 18 ----> SALARIE 1
Bonne journée
jean marie
 
Bonsoir Jean Marie,
Bonsoir le Fil + Forum,

Merci Jean Marie, c'était effectivement cela le problème pour ce qui concerne la problématique N°2 sur les 6 soumis.
A cet effet, quelqu'un a-t-il une idée de comment on pourrait traduire en code vba cette formule:

Code:
'6 Je souhaite gérer par code vba la création des comptes Tiers
'Le procédé se trouve dans la formule excel en colonne 3 comme suit:
=CONCATENER(GAUCHE([@Type];1);TEXTE(NB.SI($A$2:A21;$A21);"0000"))

Merci encore par avance et pour tout!

Jeanba
 
Re
pour la problématique 1
j'ai ajouter
VB:
 With .ListBox1
              .ColumnCount = 12
              .ColumnWidths = "60;150;35;110;110;30;60;110;90;90;50;50"
              .List = [Tableau4].Value
              .ListIndex = 0 '------- >ici
  End With
pour la problématique 3 a tester
VB:
Sub TrierTiers()
Application.DisplayAlerts = False
 With ActiveWorkbook.Worksheets("Plan Tiers")
   With .ListObjects("Tableau4").Sort
     With .SortFields
        .Clear
        .Add Key:=Range("Tableau4[Compte]"), SortOn:=xlSortOnValues, Order:= _
         xlAscending, DataOption:=xlSortNormal
     End With
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
 End With
    ActiveWorkbook.Save
Application.DisplayAlerts = True
End Sub
jean marie
 

Ce code s'exécute sans retour de message d'erreur!
Cependant, le programme devient très très lent, je veux dire que le code prend trop de temps pour son exécution.
Il doit être possible de faire en sorte que ce soit moins long, non?

Merci beaucoup!
 
Bonjour jeanba
Bonjour le Fil ,le Forum
pour ce qui est du message d'erreur !
C'est quelle instruction ?
VB:
.ListIndex=0
'ou
.List(L,.Columns.count-1)=1 +L
si c'est la deuxième !
Voir si tu as bien 13 colonnes dans ta ListBox (car dans ton post #10 ,tu as 12 en haut et 13 ou il y a l'erreur?)
ou alors
voir la déclaration de la variable "L" la mettre en Long
VB:
Dim L as Long  'cela dépend du nombre de lignes à traiter
pour ce qui est de la lenteur , je l'ai constaté lors de l'enregistrement de ton fichier à la fin du Tri (ActiveWorkbook.Save).
je pense qu'il y a un problème avec Tes Objects Tableau (que je n'utilise pas ).
Tu utilises le fichier que j'ai joins ou un autre ?
jean marie
 
Bonjour Jean Marie, Bonjour le Fil,

Le message d'erreur concerne l'instruction

Pour la lenteur, j'utilise un autre fichier dont les éléments soumis au Forum ne sont qu'un minuscule aspect (le fichier total a maintenant une taille de près de 5000Ko!!).

D'ailleurs à ce sujet, je me demandais si c'était pas mieux de loger certaines feuilles de type bases de données dans d'autres classeurs et faire des liasons avec Power Query ou autre? Peut-être que ce serait moins long...
 
Oui, je crois.
Au début, je me suis lancé dans le tas, et au fûr et à mesure, je réalise que programmer c'est toute une méthodologie.
Faut apparemment d'abord tout penser et écrire même ce qu'on veut faire..

Merci pour tout!

Jeanba
 
- 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
6
Affichages
457
Réponses
0
Affichages
230
Réponses
18
Affichages
204
Réponses
10
Affichages
511
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…