Adaptation macro

Bonjour le forum,

J'essaie d'adapter cette macro pour qu'elle puisse servir a la création d'une grille pour un programme de tirage au sort à la pétanque...

Visuel en "Feuil1"

elle doit se reproduire 1 fois pour le tirage tête à tête

2 fois pour les doublettes

et 3 fois pour les triplettes

Tout se passe bien avec la macro mise en commentaire pour la désa

Et je ne comprends pas pourquoi quand je la lance, elle m'affiche une alerte "Next sans For" alors que le "For" est bien là...

Auriez vous une idée de ce qu'il se passe?

Merci de votre aide.

Mon fichier joint:

26classeur1.xlsm (14.26 Ko)

bonjour,

le next LGN se trouve à l'intérieur d'un bloc with ... end with, dans lequel il n'y a pas d'instruction for.

inverse ces 2 instructions

        Next Lgn
    End With

bonjour

voila déjà pour les Bordures

Sub EfaceCellEncadrer()
Cells.Borders.LineStyle = xlNone
   Range("A3:G3").Borders.Weight = xlMedium
   Range("A5:G6").Borders.Weight = xlMedium
   Range("A9:G11").Borders.Weight = xlMedium
End Sub

A+

Maurice

bonjour

tien je pense que ses bon

Sub EfaceCellEncadrer()
Application.ScreenUpdating = False
Cells.Borders.LineStyle = xlNone
Rows("3:3").RowHeight = 25
   Range("A3:G3").Borders.Weight = xlMedium
Rows("5:6").RowHeight = 25
   Range("A5:G6").Borders.Weight = xlMedium
Rows("9:11").RowHeight = 25
   Range("A9:G11").Borders.Weight = xlMedium
   Columns(1).ColumnWidth = 4.75
   Columns(2).ColumnWidth = 28
   Columns(3).ColumnWidth = 3.75
   Columns(4).ColumnWidth = 11
   Columns(5).ColumnWidth = 4.75
   Columns(6).ColumnWidth = 28
   Columns(7).ColumnWidth = 3.75
Columns("A:G").Select
   With Selection
       .HorizontalAlignment = xlCenter
       .VerticalAlignment = xlCenter
       .Font.Name = "Calibri"
       .Font.Size = 13
       .Font.Bold = True
   End With
Application.Goto [A1], True
End Sub

A+

Maurice

Bonsoir h2so4,

Merci de ton intervention, effectivement, ça ne m'avais pas sauté aux yeux, je suis débutant en VBA et je ne vois pas toujours l'évidence...

je cherche parfois des solutions compliquées, alors qu'elles sont simple...

Merci de ton aide.

A+


Bonsoir archer,

heureux de te retrouver...

Quelle simplicité.... j'adopte!

Merci de ton aide.

A+

Bonjour archer,

Le code est propre, mais je me rends compte que j'avais mal formulé ma demande;

Pardon pour ce manque de précision...

En fait ce que je voudrais, c'est une seule grille, la 1ère, que l'on appellerait d'une boucle répétée 1 fois pour construire la 2 ème, ou 2 fois pour la 3 ème ..., 4 fois..., 5 fois, etc...

archer a écrit :

bonjour

tien je pense que ses bon

Sub EfaceCellEncadrer()
Application.ScreenUpdating = False
Cells.Borders.LineStyle = xlNone
Rows("3:3").RowHeight = 25
   Range("A3:G3").Borders.Weight = xlMedium
Rows("5:6").RowHeight = 25
   Range("A5:G6").Borders.Weight = xlMedium
Rows("9:11").RowHeight = 25
   Range("A9:G11").Borders.Weight = xlMedium
   Columns(1).ColumnWidth = 4.75
   Columns(2).ColumnWidth = 28
   Columns(3).ColumnWidth = 3.75
   Columns(4).ColumnWidth = 11
   Columns(5).ColumnWidth = 4.75
   Columns(6).ColumnWidth = 28
   Columns(7).ColumnWidth = 3.75
Columns("A:G").Select
   With Selection
       .HorizontalAlignment = xlCenter
       .VerticalAlignment = xlCenter
       .Font.Name = "Calibri"
       .Font.Size = 13
       .Font.Bold = True
   End With
Application.Goto [A1], True
End Sub

A+

Maurice

Merci encore pour ton aide

bon dimanche,

A+

bonjour

je ne comprend rien donne un modèle de se que tu veux

A+

Maurice

Bonjour archer,

Ce que je souhaites en fait, c'est 1 seule grille sur une seule ligne au départ:

Sub EfaceCellEncadrer()

Application.ScreenUpdating = False

Cells.Borders.LineStyle = xlNone

Rows("3:3").RowHeight = 25

Range("A3:G3").Borders.Weight = xlMedium

Columns(1).ColumnWidth = 4.75

Columns(2).ColumnWidth = 28

Columns(3).ColumnWidth = 3.75

Columns(4).ColumnWidth = 11

Columns(5).ColumnWidth = 4.75

Columns(6).ColumnWidth = 28

Columns(7).ColumnWidth = 3.75

Columns("A:G").Select

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlCenter

.Font.Name = "Calibri"

.Font.Size = 13

.Font.Bold = True

End With

Application.Goto [A1], True

End Sub

avec une boucle qui rappelle cette procédure 1 fois, 2 fois, n fois, Etc... en n'ayant que la valeur de "i" ("i" = nombre de rappels) à changer...

"i" remplace:

pour 2 fois:

Range("A5:G5").Borders.Weight = xlMedium ' i = 1

Range("A6:G6").Borders.Weight = xlMedium ' i = i + 1

et pour 3 fois:

Range("A9:G9").Borders.Weight = xlMedium ' i = 1

Range("A10:G10").Borders.Weight = xlMedium ' i = i + 1

Range("A11:G11").Borders.Weight = xlMedium ' i = i + 2

J' espères être plus clair,

Merci à toi,

A+

Bonjour

après des testes il faut copier par ligne

comme ca on récupère touts les format

regarde si ca te va

Sub TestCopyLigne()
Application.ScreenUpdating = False
' pour 2 fois:
D = 5
F = 6
Rows(3).Copy
Rows(D & ":" & F).PasteSpecial xlPasteAll
' pour 3 fois:
D = 8
F = 10
Rows(D & ":" & F).PasteSpecial xlPasteAll
Application.CutCopyMode = False
Application.Goto [A1], True
End Sub

A+

Maurice

Rechercher des sujets similaires à "adaptation macro"