Microsoft 365 tableau <>array

thenesol

XLDnaute Junior
bonjour à tous

je pense que le problème posé, si ce n'est un faux problème, est assez basique :

j'ai un tableau excel
je le charge dans un array pour faire diverses opérations,
quand je dois le retransférer dans mon tableau excel initial, comment m'assurer que les lignes iront aux bons endroits du tableau ?
y a t il une méthode particulière ?
je pensais importer dans l'array les numéros de lignes

et le problème se corse si rajout ou suppression de lignes

merci...
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

j'ai un tableau excel
je le charge dans un array pour faire diverses opérations,
quand je dois le retransférer dans mon tableau excel initial, comment m'assurer que les lignes iront aux bons endroits du tableau ?
y a t il une méthode particulière ?
je pensais importer dans l'array les numéros de lignes

et le problème se corse si rajout ou suppression de lignes
Si le tableau et l'Array doivent correspondre à 100 %, est-ce qu'il ne suffit pas de vider le tableau avant d'y déverser l'Array.
 

thenesol

XLDnaute Junior
bien sur que les lignes ont les mêmes formules 🙂
et certaines colonnes ne sont pas calculées (valeurs fixes)

je peux avoir besoin de formater (p. ex surligner) certaines cellules "manuellement" pour diverses raisons : donc lorsque je reimporte avec Application.Transpose il se peut que ces formats ne s'appliquent pas aux bonnes lignes, si l'array a été trié, non ?
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous :) ,
je peux avoir besoin de formater (p. ex surligner) certaines cellules "manuellement" pour diverses raisons : donc lorsque je reimporte avec Application.Transpose il se peut que ces formats ne s'appliquent pas aux bonnes lignes, si l'array a été trié, non ?
Il faut trier le tableau directement sur la feuille Excel et pas au niveau de l'array en mémoire (l'array n'a pas la composante Format des cellules).

On pourrait aussi faire :
  • copier le tableau Tableau Structuré source sur une feuille auxilliaire (on appelle ce nouveau TS txAux)
  • ajouter la ligne du tableau structuré source dans une colonne supplémentaire de tsAux
  • travailler sur l'array de tsAux (yc le tri)
  • puis retransférer les résultats de l'array dans tsAux
  • Boucler sur les lignes de tsAux pour y copier le format de la ligne source (dont le numéro est dans la dernière colonne)
  • recopier le tsAux (sauf la dernière colonne) sur le tableau source
  • supprimer la feuille auxiliaire
  • se verser un pastaga pour récupérer de tout le codage "Usine à gaz" qu'on a fait alors qu'en appliquant la 1ère méthode, tout est plus aisée et rapide.
 

patricktoulon

XLDnaute Barbatruc
re
Bonjour à tous
mais qui a eu l'idée de travailler sur un array copie d'un TS ?
un TS a des colonnes voir même des colonnes nomées des lignes (listrows)
je ne vois pas l'intérêt de traviller par un array passerelle
un TS a tout les outils qu'il faut
  1. ajouter une ligne (a un endroit precis ou au debut ou a la fin)
  2. supprimer une ligne(ou qu'elle soit)
  3. modifier une ligne(ou qu'elle soit)
bref :rolleyes: depuis 16 ans que ça existe
à quand le jour ou il n'y aura plus de range dans ce satané excel mais que des tableaux
oupss!! ca existe déjà (ACCES)

Bon d'accords je sort

refléchiquestion gif.gif
 

Dranreb

XLDnaute Barbatruc
je peux avoir besoin de formater (p. ex surligner) certaines cellules "manuellement" pour diverses raisons
Il vaudrait mieux prévoir une colonne "observation" à la fin. Parce que s'il n'y a pas de règle, vous pourriez aussi bien ne plus vous rappeler pourquoi elle a été surlignée, et si ça dépend de conditions liées aux autres informations de la ligne vous pourriez l'assumer par des mises en formes conditionnelles.
 

thenesol

XLDnaute Junior
ok merci à tous

en fait, c'est pour connaître les limites de transférer des données excel (tableau ou pas) vers un array, pour traitements: il y a donc le risque de perdre les formats non automatiques

@patricktoulon : mon tableau fait 30 colonnes x 9000 lignes, et p.ex le tri "excel" sur certaines colonnes peut prendre plusieurs secondes
je pensais passer par un array parce que j'ai cru comprendre que c'était plus "rapide" que de traiter nativement dans excel avec vba.
mais si c'est faux, je suis tout à fait d'accord, et autant que je reste avec les fonctions Excel de VBA !!
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 187
dernier inscrit
ebenhamel