Boucler avec une variable

Bonjour le forum,

J'essaie de mettre en place (Feuil1) un calcul du nombre de parties à jouer joueurs en tête à tête.

Je cherche depuis presque une semaine et ne trouve pas, J'en ai la migraine...

Pour mes tests, j'utilise 18 joueurs, mais ça doit pouvoir servir avec plus ou moins de joueurs varier

1 ère partie : 18/2 = 9 grilles,

2 eme partie : 9/2 = 4,5 que j'ajuste avec "If NbR / 2 <> 0 Then NbR = NbR / 2 + 1" pour avoir 5 grilles

3 eme partie : 5/2 = 2,5 avec le même traitement que ci dessus, donc 3 grilles

4 eme partie : 3/2 = 1,5 avec le même traitement que ci dessus, donc 2 grilles

5 eme partie : 2/2 = 1 donc 1 grille

et enfin un affichage du vainqueur.

Si de bonnes volontés voulaient me se pencher sur mon problème, j'en serais ravi, et vous remercie par avance.

La boucle en question est : "For x = PLig To PLig + (NbR / 2) + Saut Step 2" en fin de code.

Mon fichier réduit au minimum:

Bonjour

je n'ai pas ouvert le fichier, mais je suppose :
For x = PLig To worksheetfunction.roundup(PLig + (NbR / 2) + Saut,0) Step 2

Bonjour BsAlv,

Pardon de ne pas avoir répondu plus tôt, mais j'étais pris ailleurs et revient a peine sur le forum.

Merci de t'être intéressé a mon problème, J'ai testé ta ligne de code, Mais le résultat est le même.

Peut-être une autre idée...

font, alignment columnwidth, etc, fais-cela un fois pour toute les colonnes ...

     ' ///////////////////////////////////////////////      LA  GRILLE     ////////////////////////////////////////////////////////
     Dim c     As Range
     With Worksheets("Feuil1")

          .Range("B1", "F1").ColumnWidth = 28
          Set c = .Range("A4:G4")     '1iere ligne
          NbJ = Sheets("inscriptions").Cells(Rows.Count, "A").End(xlUp).Row - 1     'nombre de joueurs
          For NbR = 0 To NbJ / 2
               With c.Offset(NbR * 2)
                    .HorizontalAlignment = xlCenter
                    .VerticalAlignment = xlCenter
                    .Font.Bold = True
                    .Font.Name = "Calibri"
                    .Font.Size = 12
                    .Borders.LineStyle = xlContinuous
                    .Borders.Weight = xlMedium
                    .Cells(1).Offset(, 4).Value = "N°"
                    .Cells(1).Value = NbR * 2 + 1
                    .Cells(1, 2).Value = Sheets("inscriptions").Cells((NbR + 1) * 2, 1).Value
                    .Cells(1, 6).Value = Sheets("inscriptions").Cells(NbR * 2 + 3, 1).Value
               End With
          Next NbR
     End With

     Application.ScreenUpdating = True
End Sub

Merci BsAlv,

c'est une bonne idée, je vais étudier ça de plus prêt.

Rechercher des sujets similaires à "boucler variable"