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:
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 Withbonjour
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 SubA+
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 SubA+
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 SubA+
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 SubA+
Maurice