Optimiser une extraction dans un tableau

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

O

OverSlach34

Guest
Bonjour,

Dans un module VBA d'une feuille excel je souhaiterais me positionner dans un tableau.
Actuellement je traite tous les postes dont le contenu est inférieur ou égale aux n 1ers caractères d'un critère de sélection saisie dans un prompt. Le contenu des postes avec correspondance de ces n 1ers caractères est affiché pour permettre à l'utilisateur de chosir.

Vos propositions pour se positionner directement sur le 1er poste en correspondance ?

For J1 = 0 To UBound(TDConc) Step 1
s = InStr(1, LCase(Trim(TDConc(J1))), " ", vbTextCompare)
xNom = Trim(Left(LCase(TDConc(J1)), s))
J2 = 0

For J2 = 1 To Len(xCharact) Step 1
If Left(xNom, J2) > Left(xCharact, J2) Then Exit Sub
If Left(xNom, J2) <> Left(xCharact, J2) Then Exit For
FlagChar = True
Next J2

If FlagChar = True Then
FlagChrs = True
ReDim Preserve TCC(J1)
ReDim Preserve TDC(J1)
TCC(J1) = TCConc(J1)
TDC(J1) = TDConc(J1)
MsgC = MsgC & J1 + 1 & Chr(46)
MsgC = MsgC & Chr(160) & TCC(J1) & Chr(160) & Chr(160) & Chr(45) & TDC(J1) & Chr(10) & Chr(10)
MaxiCC = J1 + 1
End If

Next J1

Merci
 
Optimiser une extraction dans un tableau 0réponse

ceci n'est pas une réponse. slt le forum
mon cher OverSlach34,
moi y en a pas comprendre quoi vouloir toi.
STP, mets un condensé de ton problème en pièce jointe ce sera plus aisé.

heu ... par exemple, on peut supposer que TDConc, TCC et xCharact
sont des variables ; mais quel format ont-elles et que contienennt-elles ?

heu ... ensuite veux-tu retourner à la cellule d'une feuille Excel ?
Si ou ton bout de code ne montre pas d'inter-action avec le classeur ...

heu ... veux-tu retourver la nième position de la xième dimension d'un tableau VBA ?

bonsoir, Virgile
 
Re : Optimiser une extraction dans un tableau 0réponse

bonjour,

Non il n'y pas pas de retour cellule.

Je n'aurais pas du donner le code car cela à troublé bien des esprits...
Peu importe le nom de la table et le type de son contenu.

La question est :
Existe-t-il une instruction en VBA qui permet de se positionner dans une table en fonction d'un critère de sélection.

Par exemple dans un table contenant des nom patronymiques je souhaite me positionner sur le 1er poste contenant les caractères "DUPOND"

Merci !

virgile à dit:
ceci n'est pas une réponse. slt le forum
mon cher OverSlach34,
moi y en a pas comprendre quoi vouloir toi.
STP, mets un condensé de ton problème en pièce jointe ce sera plus aisé.

heu ... par exemple, on peut supposer que TDConc, TCC et xCharact
sont des variables ; mais quel format ont-elles et que contienennt-elles ?

heu ... ensuite veux-tu retourner à la cellule d'une feuille Excel ?
Si ou ton bout de code ne montre pas d'inter-action avec le classeur ...

heu ... veux-tu retourver la nième position de la xième dimension d'un tableau VBA ?

bonsoir, Virgile
 
Re : Optimiser une extraction dans un tableau

salut Overslach,
salut le forum,

"La question est : "
"Existe-t-il une instruction en VBA qui permet de se positionner dans une table en ""fonction d'un critère de sélection. "

en remâchant cela, j'ai cru à un éclair de lucidité(?) ;
à toi de voir si cela répond à ton souci.

Pour retrouver immédiatement "DUPOND" dans un tableau (une table ?)
plutôt que de lire tous les indices (postes ?) du tableau,
j'utilise un "dictionary" (2 dimensions parallèles de même taille),
d'autres une "collection", que je connais moins.
Le "dictionnary" permet, à l'appel d'une clef alpha,
de renvoyer la valeur associée.
Pour moi, la valeur associée est l'indice d'un tableau multidimension
que je constitue en couple avec le dictionnaire.

Dictionnaire ("DUPOND") renvoie 12 ;
12 est l'indice du tableau où sont rangées les données relatives à "DUPOND".

NB si cela correspond à ton souhait :
Dictionnary ou Dictionary recueille des centaines de couples clef/valeur ;
même si l'espion n'en montre que 255.

Je ne sais plus si les clefs se distinguent selon Ucase ou Lcase.

L'aide fournit une instruction de création un peu bancale :
Set...(scripting.dictionary) ;
il faut mettre des " " " à l'intérieur des parenthèses, genre :
Set ... ("scripting.dictionary"), je ne sais la synthaxe exacte.

Dictionary n'enregistre que des couples,
pour associer davantage de valeurs à la clef, vois avec collection.

Espérant avoir deviné juste, Virgile
 
Re : Optimiser une extraction dans un tableau

Bonjour

Encore une fois avec un fichier, ce serait plus clair!

OverSlach34,je vois que tu débutes. Mais dans quelques temps, imagines qu'on te pose ta question, je pense que tu diras:"Ben le petit gars, il aurait pu mettre un petit fichier".
Alors pitié, nous ne sommes pas des esclaves d'Excel, avec un fichier c'est 50% du travail de fait.

Aller bonne soirée
A demain avec le petit fichier qui va bien.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
784
O
Réponses
4
Affichages
1 K
Olocsob
O
Retour