XL 2016 Transposer à plus de 1048576 Lignes

Willam 76000

XLDnaute Nouveau
Bonjour
j 'utilise la fonction Transpose ci-jointe, copiée sur des pages (toutes les mêmes)
Au_delà de 43 données, la dernière ligne 1048576 est atteinte et la transposition s'arrête
sans produire aucune information, par effets, je suis limité à 43 éléments d'informations pour obtenir un résultat s'arrêtant à 942 000 ... lignes, au delà rien

Je n 'arrive pas à résoudre la continuité de la fonction " Transposition(sDat) " sur les colonnes à coté
Soit la Transposition commence en C1 je souhaiterai que la continuité de la " Transposition(sDat) " (au delà de 1048576 lignes) se réalise en J1 ou une autre Colonne

Est-il possible d'après les éléments joints d'inclure une ligne de code permettant de réaliser cette continuité de " Transposition(sDat) " ?
Si cela est possible, comment procéder ou quelle ligne faut-il modifiée la fonction ou la procédure pour inclure cette condition
maximum de ligne atteinte et basculer sur une autre colonne de la même feuille aux fins de permettre qu'au delà de 43 données en référence,
la fonction transpose soit utilisable

j'ai fait des essais de toutes sortes mais aucun n’aboutis (Toutes sortes : Mettre une condition incluant " sDat ", prendre référence sur le
nombre de lignes mais cela tombe à l'eau ... Je suis dans l'impasse, une information serait la bienvenue, sans vous obliger.

Question subsidiaire dans la raison d'optimiser la Fonction (Puisque à 43 données de références le temps d'exécution est de 10 minutes):
Utiliser toujours la même structure de Tableau pour le résultat des données avec la fonction transpose, est-il nécessaire de vérifier avec la deuxième Fonction,
la dimension du Tableau (Étant toujours le même : 5 colonnes) et la fonction Transpose n'est utilisée qu'avec la même colonne " A", source des données ?
On peut exprimer : Essayer sans ce contrôle ! Dans la fonction Transpose dont je n'ai pas assimilé convenablement le fonctionnement il est inclus
''MsgBox "Le tableau ne comporte pas une ou deux dimensions" soit ce complément est à priori indispensable ou alors ce message n'est pas inclus
par l 'auteur original de la Fonction diffusée. Novice, J'avoue y perdre mon latin

Merci par avance
 

Pièces jointes

  • Transpose_les_Radicaux.xlsm
    22.8 KB · Affichages: 20

Dranreb

XLDnaute Barbatruc
Bonsoir.
Et on peut savoir à quoi peut bien vous servir de consigner toutes les combinaisons ?
À part en ressortir une d'après de son numéro je ne vois pas.
Or pour faire ça on n'a pas besoin non plus de les consigner.
Pour en sortir une au hasard non plus, d'ailleurs.
 

Willam 76000

XLDnaute Nouveau
Si le principe est d'interroger le demandeur sur sa demande claire et de savoir ce qu'il veut en faire, je n'aurai pas pris le temps de poster ma demande, çà, je sais faire. Vous expliquer le but serait trop complexe pour ceux ne travaillant pas la physique. Vous maitrisez le VBA, moi, pas, je suis comme tout personne sachant structurer ce qu'il souhaite obtenir. En physique c'est différent. Succinctement : Les rapports radicaux et références uniques vous parle ? Non, je pense, alors ma demande est-elle assez claire avec les éléments que je fournis pour modifier cette fonction comme je le souhaite ? Vous savez ou pas. Pour vous rendre compte : Exemple : Radical A B C D E est une référence logique basique, AB C D E F est une extension sachant que : A est une formule exacte AB est l'extension du Radical A référence à la Formule exacte B d'où AB C D E F si AB ~ (dans la formulation) de C alors ABD .... Produisant AB extension de A (Formule exacte) B (associée) donnera ABD si les composants sont aussi exacts... Soit Radicaux et références ... Cela vous parle ... Alors, vous l'expliquer cela sert-il ma demande ? Non ! Vous savez faire ou pas la modification de cette fonction comme je le souhaiterai, ne vous posez pas de questions pour savoir à quoi cela va servir, ce n'est pas le but du forum non !
 

Dranreb

XLDnaute Barbatruc
Ce que représentent ces combinaisons c'est une chose, mais vous ne dites en rien pourquoi vous avez besoin de les ranger exhaustivement dans une feuille de calcul.
Peut être auriez vous meilleurs temps de les ranger dans un fichier annexe ou une base de données plutôt que dans une feuille de calcul.
 

Dranreb

XLDnaute Barbatruc
Cela dit, ce code le fait :
VB:
Sub Transposer_les_Radicaux()
   Dim TDon(), TRés(), N0 As Long, N1 As Long, N2 As Long, N3 As Long, N4 As Long, L As Long, C As Long
   TDon = [A1].Resize([A1000].End(xlUp).Row).Value
   ReDim TRés(1 To 10000, 1 To 500)
   L = 0: C = 1
   For N0 = 1 To UBound(TDon, 1) - 4
      For N1 = N0 + 1 To UBound(TDon, 1) - 3
         For N2 = N1 + 1 To UBound(TDon, 1) - 2
            For N3 = N2 + 1 To UBound(TDon, 1) - 1
               For N4 = N3 + 1 To UBound(TDon, 1)
                  If L >= UBound(TRés, 1) Then L = 1: C = C + 6 Else L = L + 1
                  TRés(L, C) = TDon(N0, 1)
                  TRés(L, C + 1) = TDon(N1, 1)
                  TRés(L, C + 2) = TDon(N2, 1)
                  TRés(L, C + 3) = TDon(N3, 1)
                  TRés(L, C + 4) = TDon(N4, 1)
                  Next N4, N3, N2, N1, N0
   [C1].Resize(UBound(TRés, 1), UBound(TRés, 2)).Value = TRés
   End Sub
 

Willam 76000

XLDnaute Nouveau
Ce que représentent ces combinaisons c'est une chose, mais vous ne dites en rien pourquoi vous avez besoin de les ranger exhaustivement dans une feuille de calcul.
Peut être auriez vous meilleurs temps de les ranger dans un fichier annexe ou une base de données plutôt que dans une feuille de calcul.
Merci de votre attention,
Je vous informe sommairement de la raison :
Nous ne pouvons pas reprendre les mêmes données (Colonne "A") pour redéfinir des références absolues mais, celles produites sont des références dit Radical. Le Radical est à cette image :
L'assemblage d'éléments quelconques se réalise selon des protocoles généraux , particuliers et spécifiques (Devant s'appliquer qu'à cet élément ou immuable à l'élément). L'assemblage partant d'un élément Absolu (Radical) "A" ou autre identification, est lié avec un élément B. Si l'observation de cet assemblage ne provoque pas de réactions néfaste, le radical de cet assemblage sera AB, S'il est testé , tout est correct, il peut être à nouveau assemblé avec un autre radical testé et ainsi de suite.
Oui, des Bases de Données permettent un Classement des résultats vains servant de support pour ne pas refaire les mêmes tests avec les références ayant été déjà produites et devant être détectées sur un nouveau référencement, si elles apparaissent exemple ABC 1 20 AC BN. Si ABC est exclu, cette référence est exclue de la base puisque ABC est inclus dans celle-ci. Il est vain de tester et de prendre cette référence. Soit les Références sont reprises en Données et ainsi de suite ... Aucune limite de combinaisons et cela évite de perdre un temps aux tests après que celles-ci soient mises en comparaison avec celles exclues, puisque par effets, remettre en partiel des références en données produira des partiels de tests vains

Arrivé à plus de 43 Références absolues, nous sommes bloqués
Je vais tester votre Procédure et vous informe. A priori, j'ai déjà cette procédure et n'ai plus souvenance du pourquoi elle avait été abonnée. Je vais scruter mes archives macros. Cette Macro devait venir de PierreJean de mémoire. PierreJean impressionnant dans le pragmatisme de ses solutions.
Merci pour votre sollicitude, cordialement W.H

Bonjour, Chris
" La résolution d'une problématique est toujours à l'origine de ceux qui ont un esprit éclairé dans leur matière et en marge des possibilités impossibles parce qu'ils ont construit leur intelligence et ne l'on jamais apprise. Les autres passent parce qu'ils sont à l'opposé et uniquement dans leurs sens ordinaires. L'écrire n'est pas se valoriser, c'est faire savoir qu'ils sont, ce qu'ils ne pourront jamais être "
W.H. Juste pour rendre à César ce qui ne lui appartient pas de dire et donner matière à réflexion, sans désirer sortir de l'humilité qui est mienne. Après plusieurs essais infructueux devenant un casse tête Chinois,, il y a des mots que l'on ne désire pas lire, je m'autorise à sortir de mes réserves d’où l'expression " rendre à César " Sans rancune
 

Willam 76000

XLDnaute Nouveau
Cela dit, ce code le fait :
VB:
Sub Transposer_les_Radicaux()
   Dim TDon(), TRés(), N0 As Long, N1 As Long, N2 As Long, N3 As Long, N4 As Long, L As Long, C As Long
   TDon = [A1].Resize([A1000].End(xlUp).Row).Value
   ReDim TRés(1 To 10000, 1 To 500)
   L = 0: C = 1
   For N0 = 1 To UBound(TDon, 1) - 4
      For N1 = N0 + 1 To UBound(TDon, 1) - 3
         For N2 = N1 + 1 To UBound(TDon, 1) - 2
            For N3 = N2 + 1 To UBound(TDon, 1) - 1
               For N4 = N3 + 1 To UBound(TDon, 1)
                  If L >= UBound(TRés, 1) Then L = 1: C = C + 6 Else L = L + 1
                  TRés(L, C) = TDon(N0, 1)
                  TRés(L, C + 1) = TDon(N1, 1)
                  TRés(L, C + 2) = TDon(N2, 1)
                  TRés(L, C + 3) = TDon(N3, 1)
                  TRés(L, C + 4) = TDon(N4, 1)
                  Next N4, N3, N2, N1, N0
   [C1].Resize(UBound(TRés, 1), UBound(TRés, 2)).Value = TRés
   End Sub

Merci,
L'impatience de voir le résultat et surtout si la problématique peut se résoudre, mieux ...
Nous pouvons entrevoir un automatisme plus pratique avec la méthode. Nous passons à C +10 nous permettant de mettre les contrôles des références partielles entre les Tableaux.
En ce qui concerne la Procédure la vitesse d'exécution est divisée par 10, j'ai même cru qu'il y avait une erreur d'exécution lors du premier lancement.
La pensée qu'une fonction permet de la rapidité d'exécution, dans ce cas, non.
Outre le nombre de lignes permettant le saut pour la continuité, est un atout pour d'autres applications du même accabit.

La procédure que je possède est sur un déterminant fixe produisant un nombre illimité de références mais ne pouvant pas les reprendre pour en reformuler d'autres. Exemple 15 références donnent 3003 références et ne pouvaient pas être reprises, elle ne prenait qu'une seule constante.

Notre gratitude aura la pensée calibrée de vous citer.

Je n'avais pas tout lu de Chris : La philanthropie est souvent l'enfant de la passion. Si nous avions du ramener notre passion à la fortune qu'elle aurait pu nous apporter, nous signerons " Crésus "

Merci encore de votre attention, cordialement W.H
 

Discussions similaires

Statistiques des forums

Discussions
315 133
Messages
2 116 607
Membres
112 803
dernier inscrit
Falcon