Re : Tri dynamique impossible avec une matrice ?
Question 1
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
m = Target
[E8:G36].Sort Key1:=[E8]
[A:A].Find(What:=m, LookIn:=xlValues).Select
End If
End Sub
Si j'ai bien compris, tu lances un tri sur le tableau E8:G36 de la feuille "O.Prix Unitaire" à chaque
fois que tu modifies la valeur d'une cellule de la colonne A:A
- C'est tres particulier puisque cette colonne contient en même temps des données et des boutons de commandes!
- Cette colonne ne contient pas d'étiquette de colonne
- Cette colonne ne contient pas une donnée pour chaque ligne de ton tableau E8:G36
Question II
Avec une procédure événementielle à chaque changement de données
A ) Tu saisis tes données dans quelle feuille, "0.Prix Unitaires" OU "0.Récap"
B ) Si j'ai bien compris, tu veux que la donnée que tu saisies dans une feuille x s'inscrive automatiquement dans
l'autre feuille y à l'adresse de la cellule correspondante de la feuille d'origine X
C'est impossible puisque les cellules de la feuille "O.Recap" extrait les données par formules.
Dans la colonne de la feuille "O.Recap", tu as cette fonction personnalisée
Function conso3D(champ As String, Liste As Range)
Dans cette fonction "Liste" fait référence à
ART.0_BASE
ART.ass
ART.123
qui sont des noms de feuille de ton classeur.
Dans cette énumération, on ne retrouve pas le nom de la feuille "O.Prix Unitaires"
La fonction personnalisée boucle sur chaque plage "Champ" (E19:E100) de chaque feuille et extrait à l'aide
d'un objet dictionnaire chacune des données et les classe par ordre alphabétique dans la colonne E8:E43
de laa feuille "O.Recap"
En conclusion, je ne comprends pas ce que tu veux faire et moi j'abdique. Je passe la main à quelqu'un d'autre!