Incrémentation automatique

Bonjour à tous, je cherche depuis un moment sans trouver de formules qui me conviennent. Dans l'exemple en pièce jointe je souhaiterai

mettre les lignes de mon tableau, à la suite sur une même et unique ligne. Merci pour vos réponses

14test.xlsx (23.58 Ko)

Bonjour,

La même question que https://forum.excel-pratique.com/excel/incrementation-automatique-200097 en somme, juste que comme d'habitude vous souffrez d'une tendinite aiguë des index ce qui vous empêche de poser clairement le problème…

Donc pour la deuxième fois, les numéros de base (4,30 et max = 49) sont-ils susceptibles de changer ? Si oui, comment ?

Et vous vous avez certainement le syndrome du grincheux permanent, tous le monde n'est pas un génie d'excel. Exposer nos problèmes je pense est un peu le but des forums. si vous avez bien regarder mon exemple, ce n'est pas tout a fait la même question. Si cela vous embête de répondre vous pouvez vous abstenir, il y à certainement sur ce forum des personnes plus sympathiques que vous. Merci

Je ne me considère pas comme grincheux généralement mais je dois concéder que vos posts sont toujours lacunaires sur les explications du problème, ce qui me rends grincheux effectivement.

Essayez ceci :

=LET(
    _prefix; 4;
    _start; 30;
    _max; 49;
    _nbR; _max - _start - 1;
    _nbC; _nbR * 5;
    MAKEARRAY(
        _nbR;
        _nbC;
        LAMBDA(r; c;
            LET(
                rCte1; _start;
                rCte2; rCte1 + r;
                varC; rCte2 + QUOTIENT(c; 5) + 1;
                conc; JOINDRE.TEXTE("."; VRAI; _prefix; rCte1; rCte2; varC - 1);
                rCte1f; SI(varC > _max; ""; rCte1);
                rCte2f; SI(varC > _max; ""; rCte2);
                varCf; SI(varC > _max; ""; varC);
                concf; SI(varC - 1 > _max; ""; conc);
                pref; SI(varC > _max; ""; _prefix);
                SI.MULTIPLE(MOD(c; 5); 0; concf; 1; pref; 2; rCte1f; 3; rCte2f; 4; varCf)
            )
        )
    )
)

Vous changez dans les premières lignes les valeurs de prefix, start, max (4, 30, 49) par ce que vous voulez, ça devrait s'adapter.

bonjour bernyves, salut Saboh12617,

je suppose que ce sera chaque fois une autre algorithme à respecter, donc vous demandez quelque chose qui est facile à changer.

voici une macro qui, si tu n'es pas complètement débutant, est comme-ça.

Sub M_Combinations()
     Dim Arr(1 To 100, 1 To 100)             'matrice pour les résultats
     i1 = 4                                  'premier numéro fixe
     i2 = 30                                 '2ième numéro fix
     For istep = 1 To 100                     'intervalle entre 3ième et 4ième numéro + colonne dans la matrice
          i = 0                              'ligne de la matrice
          For i3 = 31 To 49                  '3ième numéro
               i4 = i3 + istep                '4ième numéro
               If i4 > 49 Then Exit For      '4ième hors limite
               i = i + 1
               If i <= UBound(Arr) And istep <= UBound(Arr, 2) Then Arr(i, istep) = Join(Array(i1, i2, i3, i4), ".")
          Next
     Next

     With Sheets.Add                         'nouvelle feuille
          With .Range("A1").Resize(UBound(Arr), UBound(Arr, 2))
               .Value = Arr
               .EntireColumn.AutoFit
          End With
     End With
End Sub

EDIT: c'était pas si malin d'utiliser un variable "step", parce que VBA utilise cela déjà pour des autres choses, c'était mieux de le renommer en "iStep" (je l'ai fait ici dans ce poste mais ne pas encore dans la PJ.

EDIT2 : beh, Saboh12617 grincheux

Bonjour à tous

Effectivement c'est peu clair

On met les 18 lignes bout à bout sur 855 colonnes ?

Ou bien, plus lisible, toutes les combinatoire de 5 colonnes sur 171 lignes ?

Faisable par PowerQuery...

Je suis désolé, je vais de continuer à faire avec mes 18 lignes, le reste fonctionne certainement mais est trop compliqué pour moi.

Ces 18 lignes je les incorporent une par une dans une autre feuille de calcul, ce qui me prend énormément de temps et susceptible

d'erreurs. Je pensais regrouper toutes ces lignes en une seule de manière à les incorporer dans mon autres feuille de calcul en une seule fois.

Merci quand même pour vos réponses.

Si jamais je vous mets ci-joint le fichier avec la formule et en B1,B2,B3 les paramètres.

Je ne vois pas trop comment on peut faire plus simple qu'une formule unique ou une macro VBA/requête PQ automatique...

12book1.xlsx (16.61 Ko)

Bonne continuation

@saboh12617, c'est l'explication qui manque, je suppose, TS veut chaque fois la même chose avec seulement 1 variable modifié, mais il ne sait pas encore dire lequel.

Donc bernyves, ceci sert à quoi exactement et ce regroupement, t'as un exemple de cela.

Mes fichiers sont trop lourds pour les envoyés en pièces jointes

RE

C'est un peu, beaucoup, un dialogue de sourds ce fil..

J'ai précisé 2 façons de comprendre mais aucune réponse

Saboh joint lui un fichier mais bernyves répond qu'il ne peut joindre le sien...

Mes fichiers sont trop lourds pour les envoyés en pièces jointes

Bonjour,

il suffit de faire une copie allégée dudit fichier et de le rendre anonyme en enlevant ce qui peut être privé...
Au besoin le déposer sur un site avec des explications CLAIRES.

Faut- il rappeler qu'ici les répondants sont bénévoles et donc non payés par M$ !!!
P.

Bonjour, je n'ai pas eut le temps de répondre hier, je vais aujourd'hui essayer de vous expliquer de que je souhaiterai faire. Pour cela je met en pièce jointe deux feuilles de calculs.

1ère feuille de calcul - j'ai sur plusieurs lignes une liste de numéro qui s'incrémente automatiquement. Je souhaiterai incrémenter automatiquement toutes ces lignes sur une seule et unique ligne pour pouvoir les copier/coller en une seule fois dans la ligne 3 de la feuille 2.

Actuellement je copie/coller ces lignes l'une après l'autres, ce qui est long et génère des risques d'erreurs importants.

Si vous avez des solutions je suis preneur

Merci pour vos réponses éclairées et bonne journée

12feuille-1.xlsx (21.86 Ko)
10feuille-2.xlsx (57.92 Ko)

Bonjour

vous disposez de la fonction DANSLIGNE pour mettre toutes les valeurs dans une seule ligne

=DANSLIGNE($A$2:$CL$19;1)

Par ailleurs, dans le 2d fichier vos formules peuvent être simplifiées

en P4 =N(OU($G4:$L4=P$3)) au lieu de =SIERREUR(SI($G4=P$3;1;SI($H4=P$3;1;SI($I4=P$3;1;SI($J4=P$3;1;SI($K4=P$3;1;SI($L4=P$3;1;))))));0)

en T4 =N(SOMME(P4:S4)=4) au lieu de =SI(NB.SI(P4:Q4:R4:S4;1)=4;1;0)

Stéphane

Merci Raccourcix, c'est exactement ce que je recherche, ça fonctionne super. Je ne connaissais pas du tout cette fonction.

Encore merci et bonne journée

Rechercher des sujets similaires à "incrementation automatique"