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

Tri sur couples et incrementation de compteur

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 !

bobylaroche

XLDnaute Occasionnel
Bonsoir et bonne année à tous,

Encore des soucis pour le néophyte que je suis, je progresse mais je rencontre des problemes à chaque nouvelle idée. Pour le moment, je souhaiterai effectuer des tris et incrementer un compteur à chaque nouveau tri effectué.

Un fichier valant mieux qu'un long discours, veuillez voir la piece jointe.

Par avance merci pour votre aide.
 

Pièces jointes

Re : Tri sur couples et incrementation de compteur

Bonsoir bobylaroche, le forum,

C'est bien compliqué tout ça, surtout les deuxième et troisième parties.

Mais commençons par le début :

- En Feuil1 : pour obtenir tes couples, tu as des chiffres de 1 à 18. Est-ce que ce nombre peut augmenter ?

- En Feuil2 : tes couples sont en colonne A et il faut les décomposer ou bien les chiffres sont déjà séparés en colonne C et D ?

Voilà déjà 2 réponses attendues pour faire l'étape 1.

A te relire

Martial
 
Re : Tri sur couples et incrementation de compteur

Bonsoir Yaloo,

Merci pour ta réponse.

Pour répondre à tes questions.
En Feuil1, les couples sont formés par des chiffres compris entre 1 et 20 maxi.
Les chiffres sont déja séparés en colonne C et D, le point à souligner et qu'il peuvent être different.
La colonne A est présente uniquement pour info.

Pour cette raison et pour faciliter la chose, il serait peut être plus simple de partir sur une base comprenant tout
les couples possibles formés par les chiffres 1 à 20.
 
Re : Tri sur couples et incrementation de compteur

Re,

Bon entre temps j'ai avancé un peu, je suis à la phase 2.

Pour les S et E, il faut des explications complémentaires impérativement.

- En Colonne Q et S, les données sont rentrées à la main ? Aussi bien en ligne 3 que dans les lignes du dessous ?

Dans l'exemple, les couples formés en Tri selection et present en C1 C2 se voient attribuer la valeur de la cellule Q3.
Là, je n'y comprends absolument rien. Je ne vois pas les couples formés.

Il faut peut être mettre des explications en couleurs, car je ne vois pas les "couples formés".

Idem pour le tri elimination ou les couples communs se voient attribués la valeur de la cellule S3.
Idem pour le tri elimination ou les couples communs se voient attribués la valeur de la cellule S3.

C'est quoi : Elimination Q3 ou S3 ? Pour les couples c'est S3 ?

A+
 
Re : Tri sur couples et incrementation de compteur

Bonjour bobylaroche, le forum,

Tu dis que les couples sont formés tel que : 1,3 ; 1,5 ; 1,12 etc... l'inverse n'est pas vrai c'est à dire 3,1 ; 5,1 ; 12,1 ?

Tes "Tri sélection" et "Tri élimination" ne vont pas au-delà de la ligne 25 ?

A te relire

Martial
 
Re : Tri sur couples et incrementation de compteur

Bonjour Yaloo, bonjour à toutes et à tous,

Un couple et son inverse sont pour moi identique. 1,3 = 3,1.
Peut être quand formant l'ensemble des couples formés par les chiffres 1 à 20 à l'aide d'une macro ou formule serait plus facile.
L'ensemble des couples serait la base de travail pour mes tris.

Oui, c'est bien cela, "Tri sélection" et "Tri élimination" ne vont pas au-delà de la ligne 25.

Merci pour ton aide Martial, c'est bien sympa 🙂
 
Re : Tri sur couples et incrementation de compteur

Bonjour Martial, Bonjour à toutes et à tous,

Un grand merci pour le temps passé et ton savoir, c'est génial 🙂
Encore quelques "trucs" sur lesquels il me faudrait une formation !
Si tu en as le temps et la possibilté, c'est expliqué en pièce jointe.
En tout cas, merci pour ton travail.
 

Pièces jointes

Re : Tri sur couples et incrementation de compteur

Bonsoir bobylaroche,

Voici ta macro modifiée :

w = 6 puisque l'on commence à la 6 ième ligne

Cells(w, 3) = i --> 3 puisque C, 3 ième colonne
Cells(w, 4) = j --> 4 puisque D, 4 ième colonne

VB:
Sub Macro1()
Dim w&, bmax&, i&, j&
w = 6
bmax = InputBox("Maxi :")
For i = 1 To bmax - 1
  For j = i + 1 To bmax
          Cells(w, 3) = i
          Cells(w, 4) = j
          w = w + 1
Next j
Next i
End Sub

Je regarde le reste, mais cela ne m'a pas l'air très facile.

A+

Martial
 
Re : Tri sur couples et incrementation de compteur

Bonsoir bobylaroche,

Voir avec le fichier ci-dessous, il me semble que cela correspond à ta demande.

Bonne découverte

Martial

Edit : changement de fichier, mise en place de borne pour nombre de couple.
 

Pièces jointes

Dernière édition:
Re : Tri sur couples et incrementation de compteur

Re,

Voici un autre fichier, qui ne change rien par rapport aux tris.

Juste une modification au niveau des valeurs de tris de O6:O25 , Q6:Q25 , S6:S25.

Dans ces cellules, il n'est pas possible de mettre des valeurs supérieurs à la valeur en D2 ou bmax.

Voir si cela peut être intéressant pour toi.

Cela signifie qu'il faut lancer le "Lancement couple" avant de rentrer les valeurs en O6:O25 , Q6:Q25 , S6:S25.

A+

Martial
 

Pièces jointes

Re : Tri sur couples et incrementation de compteur

Bonjour Martial, Bonjour à toutes et à tous,

Merci, je suis trop content 🙂
Un sacré boulot que tu as réalisé et pas des plus simples, tu maîtrises comme dirait l'autre !
Un petit souci pour le dernier tri.
Bon dimanche à toi.

@+
 

Pièces jointes

Re : Tri sur couples et incrementation de compteur

Salut bobylaroche, bonjour à tous,

As-tu essayé le fichier du post #13, avec l'impossibilité de valider une valeur de tri supérieure à la valeur maxi de couple ?

Sinon pour ton premier tri, soit 1 valeur ou les 2 valeurs, correspondant aux valeurs de la zone de tri, voici la macro 2 modifiée

VB:
Private Sub CommandButton2_Click()
Dim DerL&, DerLCouple&, l&, i, j
Dim Plage As Range

DerLCouple = Feuil3.Cells(Rows.Count, 3).End(xlUp).Row
DerL = Feuil3.Cells(Rows.Count, 15).End(xlUp).Row

Set Plage = Range("O6:O" & DerL)
For l = 6 To DerLCouple
  On Error Resume Next
  i = Plage.Find(Cells(l, 3))
  j = Plage.Find(Cells(l, 4))
  If i > 0 Then i = 1 Else i = 0
  If j > 0 Then j = 1 Else j = 0
  If (i + j) > 0 Then
    Cells(l, 11) = Cells(l, 11) + [O3]
  End If
Next l
End Sub

A+

Martial
 

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…