Trait discontinu de deux couleurs

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Boby71C

XLDnaute Impliqué
Bonsoir à tous
Je pense que je demande un miracle, mais on ne sais jamais.🙄🙄
En partant d'une ligne discontinue:
- - - - - - - - - - - - -

Est il possible de lui donner deux couleurs ( 1 trait vert, 1 trait jaune etc...)
Vous l'avez compris, je dessine un schémas électrique avec excel et je voudrais faire le fil de masse vert/jaune.

Merci pour votre aide.
 
Re : Trait discontinu de deux couleurs

Bonjour à tous,

Si c'est dans la même cellule, je ne sais pas.
Si c'est sur plusieurs cellules de la même ligne, voir le fichier joint et la MeFC.

Réponse sûrement inutile mais je n'aime pas voir 0 réponse...

A+
 

Pièces jointes

Re : Trait discontinu de deux couleurs

bonjour,

Impossible à moins de construire sa propre ligne, la première macro est une ébauche.
La seconde est un essai pour créer une connexion entre chaque pointillé, histoire de s'amuser (plutôt que d'utiliser un regroupement). Mais cela ne fonctionne pas

Une ébauche.
Sub ddd()

Dim cellule As Range, couleur
Dim CoinGaucheBasX, CoinGaucheBasY
Dim CoinGaucheHautX, CoinGaucheHautY
Dim CoinDroiteBasX, CoinDroiteBasY
Dim CoinDroiteHautX, CoinDroiteHautY
Set cellule = ActiveCell
CoinGaucheBasX = cellule.Left
CoinGaucheBasY = cellule.top
CoinGaucheHautX = cellule.Left
CoinGaucheHautY = cellule.top + cellule.Height
CoinDroiteBasX = cellule.Left + cellule.Width
CoinDroiteBasY = cellule.top
CoinDroiteHautX = cellule.Left + cellule.Width
CoinDroiteHautY = cellule.top + cellule.Height

couleur = vbGreen
For i = cellule.Left To (cellule.Left + cellule.Width) Step 10

With ActiveSheet.Shapes.AddLine(i, CoinGaucheBasY, i + 3, CoinDroiteBasY).Line
.DashStyle = msoLineDashDotDot
.Weight = xlThick
.ForeColor.RGB = couleur ' RGB(50, 0, 128)
couleur = IIf(couleur = vbGreen, vbYellow, vbGreen)
End With

If (i + 3) >= (cellule.Left + cellule.Width) Then Exit For

Next i
End Sub


Sub essai_de_connecteurs()
Dim firstShape As Shape
Dim cellule As Range, couleur
Dim CoinGaucheBasX, CoinGaucheBasY
Dim CoinGaucheHautX, CoinGaucheHautY
Dim CoinDroiteBasX, CoinDroiteBasY
Dim CoinDroiteHautX, CoinDroiteHautY
Set cellule = ActiveCell
CoinGaucheBasX = cellule.Left
CoinGaucheBasY = cellule.top
CoinGaucheHautX = cellule.Left
CoinGaucheHautY = cellule.top + cellule.Height
CoinDroiteBasX = cellule.Left + cellule.Width
CoinDroiteBasY = cellule.top
CoinDroiteHautX = cellule.Left + cellule.Width
CoinDroiteHautY = cellule.top + cellule.Height

couleur = vbGreen
For i = cellule.Left To (cellule.Left + cellule.Width) Step 10
Set currentShape = ActiveSheet.Shapes.AddLine(i, CoinGaucheBasY, i + 3, CoinDroiteBasY)
If firstShape Is Nothing Then Set firstShape = currentShape

With currentShape.Line
.DashStyle = msoLineDashDotDot
.Weight = xlThick
.ForeColor.RGB = couleur ' RGB(50, 0, 128)
couleur = IIf(couleur = vbGreen, vbYellow, vbGreen)
End With

If (i + 3) >= (cellule.Left + cellule.Width) Then Exit For
Next i

Set lastShape = currentShape
Set connexion = ActiveSheet.Shapes.AddConnector(msoConnectorStraight, 0, 0, 100, 100)

With connexion.ConnectorFormat
.BeginConnect ConnectedShape:=firstShape, ConnectionSite:=1
.EndConnect ConnectedShape:=lastShape, ConnectionSite:=1
End With
connexion.RerouteConnections
End Sub
 
Re : Trait discontinu de deux couleurs

Bonjour à tous
Merci pour votre participation sur un sujet certainement impossible à résoudre.

Il s'agit d'un objet, une ligne faite avec le bouton ligne de la barre "dessin" et non d'une cellule.

Pour JCGL
Désolé, mais mes cellules sont formatées pour l'appareillage, donc ta solution ne convient pas.

Pour Stéphane
Le second code ne fonctionne pas.
j'ai une erreur sur la ligne:
Set connexion = ActiveSheet.Shapes.AddConnector(msoConnectorStraig ht, 0, 0, 100, 100)

Le premier est transforme bien en vert jaune mais l'idéal serait qu'il transforme une ligne (objet) en vert jaune et non un pourtour de cellule car j'ai besoin verticalement ou horizontalement.
Je sais qu ' excel n'est pas un outil de schémas électriques, mais je n'ai pas envie d'acheter un logiciel spécifique pour faire un schéma occasionnel.

Merci pour votre aide.
 
Dernière édition:
Re : Trait discontinu de deux couleurs

est-ce l'espace entre g & ht dans le mot "msoConnectorStraight" ?

de toute façon, le second code n'est pas abouti comme je l'indiquai dans mon précédent post, ils ne connectent pas le premier et le dernier élément, et je crois qui plus est qu'il faudrait peut-être connecter chaque bout de ligne.



Set connexion = ActiveSheet.Shapes.AddConnector(msoConnectorStraig ht, 0, 0, 100, 100)
je me demande aussi à partir de quelle version marche la méthode "addConnector".



pardon, j'oublie toujours d'utiliser les balises [ code ].
 
Re : Trait discontinu de deux couleurs

Bonjour Boby71C, bonjour le forum

Pourquoi ne pas tracer un trait et puis faire :
1/ Format de la forme automatique
2/ Couleurs lignes avec motifs
3/ Prendre rayures verticales puis premier plan vert et arrière plan jaune.

Tout simplement, ou alors je n'ai rien compris.
Cordialement
Quincy
 
Re : Trait discontinu de deux couleurs

Bonsoir
La méthode de Quincy, est celle que j'ai opté pour l'instant, mais dans un schéma électrique, il y a de nombreux fils dans tous les sens, verticaux, obliques, horizontaux et c'est assez long à faire. S'l n'y a pas d'autre solution, je continuerais comme cela.

La méthode de Lili est pas mal mais très lourde pour les même raisons que ci dessus.

Merci pour votre participation.
 
Re : Trait discontinu de deux couleurs

Bonsoir,

Si tu saisis une série de signes négatifs suivis d'un espace dans la cellule A1
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim Longueur As Integer
Set Target = Range("A1")
Target.Font.Size = 36
Longueur = Len(Target)
For i = 1 To Longueur Step 4
With Target
.Characters(Start:=i, Length:=1).Font.ColorIndex = 4
.Characters(Start:=i + 2, Length:=1).Font.ColorIndex = 6
End With
Next i
End Sub
Tu obtiendras grosso modo ta ligne ... et pour l'orientation, tu peux utiliser
Target.Orientation = 90

A +
 
Dernière édition:
Re : Trait discontinu de deux couleurs

Bonjour Boby71C voisin de qq km, pour ma part depuis 5ans j'utilise Grids et ça me donne entière satisfaction, je colle mes chémas dans excel ou word et tout est nikel , je suis sous XP je ne sais pas s'il fonctionne sous vita..?

ci-joint lien de téléchargement
thttp://www.clubic.com/lancer-le-telechargement-8796-0-grids.html


A+ Paulux
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
1 K
Réponses
125
Affichages
13 K
Retour