Barré en diagonales 1 plage de donnée
Invité
Invité
Bonjour pascal selvam,
Un essai : la barre se dessine de la cellule "U20" à la cellule "B51". Si la barre existe, elle ne sera pas ajoutée un autre fois.
Mouliné dans ChatGPT.
Sub AddConnector()
Dim ws As Worksheet
Dim shape As shape
Dim startCell As Range
Dim endCell As Range
Dim startX As Single
Dim startY As Single
Dim endX As Single
Dim endY As Single
Dim shp As shape
Dim shpName As String
Dim shpExists As Boolean
' Définir la feuille de calcul
Set ws = ThisWorkbook.Sheets("Table 1") ' Remplacez "Sheet1" par le nom de votre feuille
shpName = "Connector1" ' Nom de la barre de connexion
shpExists = False
' Vérifie si la barre existe déjà
For Each shp In ws.Shapes
If shp.Name = shpName Then
shpExists = True
Exit For
End If
Next shp
' Ajoute la barre seulement si elle n'existe pas déjà
If Not shpExists Then
With ws.Shapes.AddConnector(msoConnectorStraight, 100, 100, 200, 200)
.Name = shpName
.Line.Weight = 2
.Line.ForeColor.RGB = RGB(0, 0, 0)
End With
' Définir les cellules de début et de fin
Set startCell = ws.Range("U20")
Set endCell = ws.Range("B51")
' Calculer les coordonnées de départ et d'arrivée
startX = startCell.Left + startCell.Width / 2
startY = startCell.Top + startCell.Height / 2
endX = endCell.Left + endCell.Width / 2
endY = endCell.Top + endCell.Height / 2
' Ajouter le connecteur
Set shape = ws.Shapes.AddConnector(msoConnectorStraight, startX, startY, endX, endY)
' (Optionnel) Formater le connecteur
With shape.Line
.ForeColor.RGB = RGB(0, 0, 255) ' Couleur bleue
.Weight = 2 ' Épaisseur de la ligne
End With
Else
MsgBox "La barre existe déjà."
End If
End SubBizz
Invité
Bonjour,
Merci, beaucoup bizarre, mais 1 autre membre m'a fait un programme plus simple à réaliser.
Mais, j'ai une autre question par rapport à excel. J'ai mis des saut de page pour séparer en 3 feuilles. Première partie qui s'arrête à la partie orange. Il y a t-il une solution
