Bonjour,
Je cherche à sélection une plage qui est généré par un autre programme qu'un des membres ma fait précédemment.
Dans cette plage je voudrais faire une boucle pour tracer un certain nombre de ligne que l’opérateur choisit ces ligne seront a une certaine distance de la ligne supérieure du rectangle et devra être indiqué au préalable.
C'est le code pour générer le rectangle variable :
Et une bride de code pour tracer les lignes:
Je voulais sélectionner un rectangle et juste remplir la bordure inférieure mais ça ne marche pas...
Je joins aussi un fichier avec un exemple de résultat final.
Merci pour votre aide.
Je cherche à sélection une plage qui est généré par un autre programme qu'un des membres ma fait précédemment.
Dans cette plage je voudrais faire une boucle pour tracer un certain nombre de ligne que l’opérateur choisit ces ligne seront a une certaine distance de la ligne supérieure du rectangle et devra être indiqué au préalable.
C'est le code pour générer le rectangle variable :
VB:
Sub CentrerRectangle()
Const plage = "A1:CM48"
Dim hori&, verti&, cellHori&, cellVerti&, rgRectangle, s$
Cells.Borders.LineStyle = xlLineStyleNone
s = "Dimension horizontale en nombre de case?" & _
vbLf & "max = " & Range(plage).Columns.Count
hori = InputBox(s)
If hori > Range(plage).Columns.Count Then Exit Sub
If hori <= 0 Then Exit Sub
s = "Dimension verticale en nombre de case?" & _
vbLf & "max = " & Range(plage).Rows.Count
verti = InputBox(s)
If verti > Range(plage).Rows.Count Then Exit Sub
If verti <= 0 Then Exit Sub
cellHori = 1 + (Range(plage).Rows.Count - verti) / 2
cellVerti = 1 + (Range(plage).Columns.Count - hori) / 2
If cellHori <= 0 Then cellHori = 1
If cellVerti <= 0 Then cellVerti = 1
Set rgRectangle = Cells(cellHori, cellVerti).Resize(verti, hori)
rgRectangle.BorderAround 1, 3, , RGB(225, 0, 0)
End Sub
Et une bride de code pour tracer les lignes:
Code:
Set plage2 = Range(hori, verti)
Dim Ligne&, NbLigne&, s2$
s2 = "Nombres de Ligne?"
NbLigne = InputBox(s2)
For i = 1 To NbPLigne
s2 = "Dimmension verticale de la ligne en nombre de case" & _
vbLf & "max = " & Range(plage2).Columns.Count
horiL = hori
vertiL = InputBox(s)
If cellVerti <= 0 Then cellVerti = 1
Set rgRectangle2 = Cells(cellHori, cellVerti).Resize(verti, hori)
rgRectangle2.BorderInferrior 1, 1, , RGB(0, 0, 225)
Next i
Je voulais sélectionner un rectangle et juste remplir la bordure inférieure mais ça ne marche pas...
Je joins aussi un fichier avec un exemple de résultat final.
Merci pour votre aide.
Pièces jointes
Dernière édition: