Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Lister les combinaisons de n chiffres pris 2 a 2

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 !

claude09

XLDnaute Occasionnel
Bonsoir.Ma demande n'est pas originale,j'ai bien consulté des sujets sur ce problème qui sont bien plus compliqués que ma demande.La seule difficulté ,serait d'afficher les couplés sur 2 colonnes.
Ci joint un fichier.
Merci de vos réponses.
 

Pièces jointes

Bonjour.
Pour 2 j'ai cette fonction perso :
VB:
Function Versus(ByVal VS As Long) As Variant()
Dim J As Long, A As Long
A = Int(Sqr(2 * VS - 1.75) + 1.5)
J = VS - A * (A - 3) \ 2 - 1
Versus = Array(J, A)
End Function
Elle serait utilisable directement dans une formule en F3, à propager sur 78 lignes et 2 colonnes :
Code:
=INDEX($D$3:$D$15;INDEX(Versus(LIGNE()-2);1;COLONNE()-5);1)
Attention, elle les sort dans un ordre différent. J'ai également la fonction inverse :
VB:
Function NumVS(ByVal J As Long, ByVal A As Long) As Long
If J > A Then
   NumVS = J * (J - 3) \ 2 + A + 1
ElseIf J < A Then
   NumVS = A * (A - 3) \ 2 + J + 1
Else: NumVS = 0: End If
If NumVS <= 0 Then Err.Raise 9999, , "NumVS(" & J & ", " & A & ") impossible."
End Function
 
Si vous voulez des formules plus simple sans fonction perso mais 2 colonnes supplémentaires vous pouves faire :
En H3 :
Code:
1
En H4, à propager sur 77 lignes :
Code:
=MOD(H3;I3-1)+1
En I3 :
Code:
2
En I4, à propager sur 77 lignes :
Code:
=I3+(H4=1)
En F3, à propager sur 78 lignes et 2 colonnes :
Code:
=DECALER($D$2;H3;0)
 
Bonsoir claude09, Bernard,

Une solution sans colonnes auxiliaires à condition d'accepter des lignes séparatrices.

En G2 à tirer vers le bas :
Code:
=SIERREUR(INDEX(DECALER(D$3:D$15;NB.SI(G$1:G1;"-");;MAX(NBVAL(D$3:D$15)-NB.SI(G$1:G1;"-");));LIGNE()-EQUIV("zzz";G$1:G1)-LIGNE(G$1)+1);"-")
En F2 à tirer vers le bas :
Code:
=SI(G2="-";"-";DECALER(D$2;NB.SI(F$1:F1;"-");))
Fichier joint.

Bonne fin de soirée.
 

Pièces jointes

Réactions: JHA
Bonjour le fil, le forum,

Formule matricielle en G2 pour traiter aussi bien des textes que des nombres :
Code:
=SIERREUR(INDEX(DECALER(D$3:D$15;NB.SI(G$1:G1;"-");;MAX(NBVAL(D$3:D$15)-NB.SI(G$1:G1;"-");));LIGNE()-EQUIV("zzz";SI(G$1:G1="-";G$1:G1))-LIGNE(G$1)+1);"-")
A valider par Ctrl+Maj+Entrée.

Fichier (2).

Bonne journée.
 

Pièces jointes

- 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

Discussions similaires

M
  • Question Question
Réponses
6
Affichages
753
marievirlouvet6
M
G
Réponses
1
Affichages
1 K
grleclercqauchan.com
G
M
  • Question Question
Réponses
5
Affichages
913
B
Réponses
4
Affichages
3 K
BOMBO
B
D
Réponses
8
Affichages
1 K
DukeDevlin
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…