Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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
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?
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
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"))
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
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?
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
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..
- 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