OVH Cloud OVH Cloud

Problème de trait avec macro

44 réponses
Avatar
Guy72
Bonjour
Quelqu'un peut-il me dire pourquoi je ne peux pas faire l'itinéraire 24 du
plan ci-joint ?
J'ai beau chercher, je ne trouve pas.
Merci de votre aide.
http://cjoint.com/?gfjOxtAqx3
Cordialement
Guy

10 réponses

1 2 3 4 5
Avatar
JP25
Bonjour Guy
Attention dans ta Private sub couleur,
Private Sub Couleur(Mini As Long, Maxi As Long, Coul As Integer, Taille As
Integer)
Il faut supprimer Mini As Long, Maxi As Long,
Vu que tu n'utilises plus For i = Mini To Maxi

Dans tes ItIx, il faut suprimer les 2 premiers arguments puisqu'ils ne sont
plus dans ta private sub couleur

Ce qui donne :
Private Sub Couleur(Coul As Integer, Taille As Integer)
ActiveSheet.Shapes("groupe 329").Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With
End Sub

Sub iti3()
Call Couleur(3, 4) 'vert
End Sub

Tu fais pareil dans les autres ItIx

Tout ceci si tu as groupé tes lignes

Dur Dur !!
A+
JP25


"JP25" a écrit dans le message de news:

Ta proc fait appel à
If Target <> Range("AR1") Then
pourquoi cette ligne
Essai sur iti3
Dans ta Private Sub Couleur(Coul As Integer, Taille As Integer)
tu remplaces la boucle par
ActiveSheet.Shapes("groupe 328").Select (Groupe 328 créer par la sélection
de 3 lignes)
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With

Dans Iti3
Sub iti3()
Call Couleur(3, 4) 'vert
....

JP25
"Guy72" a écrit dans le message de news:

ça ne change pas de couleur ni d'épaisseur.
Guy

"JP25" a écrit dans le message de news:

Tu conserves ta private sub
Private Sub Couleur(Mini As Long, Maxi As Long, Coul As Integer, Taille
As
Integer)
For i = Mini To Maxi
With Selection.ShapeRange
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With
Next
A tester
JP25










Avatar
Guy72
Bonjour JP
Comme tu dit ...Dur Dur !!!!!!!

En faisant ça effectivement, je colore mes 3 traits portant le N° "Groupe
329"

1) Pourquoi c'est iti3 qui fonctionne ?

2) J'ai groupé les traits 12-13-14 en "Groupe 328";

3) Ou je mets : ActiveSheet.Shapes("groupe 328").Select.

4) Je ne peux pas cacher le "Groupe 329" pour afficher un autre groupe.

4) J'ai mis :

Sub iti2()
Call Couleur(2, 4) 'vert


End Sub

Je ne vois pas ????????????
Cordialement
Guy

"JP25" a écrit dans le message de news:

Bonjour Guy
Attention dans ta Private sub couleur,
Private Sub Couleur(Mini As Long, Maxi As Long, Coul As Integer, Taille As
Integer)
Il faut supprimer Mini As Long, Maxi As Long,
Vu que tu n'utilises plus For i = Mini To Maxi

Dans tes ItIx, il faut suprimer les 2 premiers arguments puisqu'ils ne
sont plus dans ta private sub couleur

Ce qui donne :
Private Sub Couleur(Coul As Integer, Taille As Integer)
ActiveSheet.Shapes("groupe 329").Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With
End Sub

Sub iti3()
Call Couleur(3, 4) 'vert
End Sub

Tu fais pareil dans les autres ItIx

Tout ceci si tu as groupé tes lignes

Dur Dur !!
A+
JP25


"JP25" a écrit dans le message de news:

Ta proc fait appel à
If Target <> Range("AR1") Then
pourquoi cette ligne
Essai sur iti3
Dans ta Private Sub Couleur(Coul As Integer, Taille As Integer)
tu remplaces la boucle par
ActiveSheet.Shapes("groupe 328").Select (Groupe 328 créer par la
sélection de 3 lignes)
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With

Dans Iti3
Sub iti3()
Call Couleur(3, 4) 'vert
....

JP25
"Guy72" a écrit dans le message de news:

ça ne change pas de couleur ni d'épaisseur.
Guy

"JP25" a écrit dans le message de news:

Tu conserves ta private sub
Private Sub Couleur(Mini As Long, Maxi As Long, Coul As Integer, Taille
As
Integer)
For i = Mini To Maxi
With Selection.ShapeRange
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With
Next
A tester
JP25














Avatar
JP25
Encore moi
Il serait bon de mettre en variable le nom de tes groupes.
Pour cela, dans vba Feuil4, tu mets au début
Public Group
Dans la private sub couleur, tu remplaces shapes("Groupe xx") par
Shapes([Group])
Dans chaque Iti, tu donnes la valeur à Group
ex :
Sub iti4()
Group = "Group 331"
Call Couleur(4, 4) 'bleu
Call Couleur(4, 4)
Call Couleur(4, 4)
End Sub
J'espère que je vais t'aider
JP25
"JP25" a écrit dans le message de news:

Bonjour Guy
Attention dans ta Private sub couleur,
Private Sub Couleur(Mini As Long, Maxi As Long, Coul As Integer, Taille As
Integer)
Il faut supprimer Mini As Long, Maxi As Long,
Vu que tu n'utilises plus For i = Mini To Maxi

Dans tes ItIx, il faut suprimer les 2 premiers arguments puisqu'ils ne
sont plus dans ta private sub couleur

Ce qui donne :
Private Sub Couleur(Coul As Integer, Taille As Integer)
ActiveSheet.Shapes("groupe 329").Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With
End Sub

Sub iti3()
Call Couleur(3, 4) 'vert
End Sub

Tu fais pareil dans les autres ItIx

Tout ceci si tu as groupé tes lignes

Dur Dur !!
A+
JP25


"JP25" a écrit dans le message de news:

Ta proc fait appel à
If Target <> Range("AR1") Then
pourquoi cette ligne
Essai sur iti3
Dans ta Private Sub Couleur(Coul As Integer, Taille As Integer)
tu remplaces la boucle par
ActiveSheet.Shapes("groupe 328").Select (Groupe 328 créer par la
sélection de 3 lignes)
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With

Dans Iti3
Sub iti3()
Call Couleur(3, 4) 'vert
....

JP25
"Guy72" a écrit dans le message de news:

ça ne change pas de couleur ni d'épaisseur.
Guy

"JP25" a écrit dans le message de news:

Tu conserves ta private sub
Private Sub Couleur(Mini As Long, Maxi As Long, Coul As Integer, Taille
As
Integer)
For i = Mini To Maxi
With Selection.ShapeRange
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With
Next
A tester
JP25














Avatar
JP25
J'ai mis iti3 comme ex, à toi d'adapter tes iti suivant tes groupes
JP25
"Guy72" a écrit dans le message de news:

Bonjour JP
Comme tu dit ...Dur Dur !!!!!!!

En faisant ça effectivement, je colore mes 3 traits portant le N° "Groupe
329"

1) Pourquoi c'est iti3 qui fonctionne ?

2) J'ai groupé les traits 12-13-14 en "Groupe 328";

3) Ou je mets : ActiveSheet.Shapes("groupe 328").Select.

4) Je ne peux pas cacher le "Groupe 329" pour afficher un autre groupe.

4) J'ai mis :

Sub iti2()
Call Couleur(2, 4) 'vert


End Sub

Je ne vois pas ????????????
Cordialement
Guy

"JP25" a écrit dans le message de news:

Bonjour Guy
Attention dans ta Private sub couleur,
Private Sub Couleur(Mini As Long, Maxi As Long, Coul As Integer, Taille
As Integer)
Il faut supprimer Mini As Long, Maxi As Long,
Vu que tu n'utilises plus For i = Mini To Maxi

Dans tes ItIx, il faut suprimer les 2 premiers arguments puisqu'ils ne
sont plus dans ta private sub couleur

Ce qui donne :
Private Sub Couleur(Coul As Integer, Taille As Integer)
ActiveSheet.Shapes("groupe 329").Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With
End Sub

Sub iti3()
Call Couleur(3, 4) 'vert
End Sub

Tu fais pareil dans les autres ItIx

Tout ceci si tu as groupé tes lignes

Dur Dur !!
A+
JP25


"JP25" a écrit dans le message de news:

Ta proc fait appel à
If Target <> Range("AR1") Then
pourquoi cette ligne
Essai sur iti3
Dans ta Private Sub Couleur(Coul As Integer, Taille As Integer)
tu remplaces la boucle par
ActiveSheet.Shapes("groupe 328").Select (Groupe 328 créer par la
sélection de 3 lignes)
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With

Dans Iti3
Sub iti3()
Call Couleur(3, 4) 'vert
....

JP25
"Guy72" a écrit dans le message de news:

ça ne change pas de couleur ni d'épaisseur.
Guy

"JP25" a écrit dans le message de news:

Tu conserves ta private sub
Private Sub Couleur(Mini As Long, Maxi As Long, Coul As Integer,
Taille As
Integer)
For i = Mini To Maxi
With Selection.ShapeRange
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With
Next
A tester
JP25


















Avatar
Guy72
ça me sélectionne en jaune la 2ème ligne avec message "Erreur 13
Incompatibilité de type

Private Sub Couleur(Coul As Integer, Taille As Integer)
ActiveSheet.Shapes([Group]).Select >With Selection.ShapeRange.Line
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With

End Sub
Guy

"JP25" a écrit dans le message de news:

Encore moi
Il serait bon de mettre en variable le nom de tes groupes.
Pour cela, dans vba Feuil4, tu mets au début
Public Group
Dans la private sub couleur, tu remplaces shapes("Groupe xx") par
Shapes([Group])
Dans chaque Iti, tu donnes la valeur à Group
ex :
Sub iti4()
Group = "Group 331"
Call Couleur(4, 4) 'bleu
Call Couleur(4, 4)
Call Couleur(4, 4)
End Sub
J'espère que je vais t'aider
JP25


Avatar
JP25
pas te pb avec cette proc

Sub iti2()
Group = "groupe 331"
Call Couleur(2, 4) 'rouge
End Sub
JP25
"Guy72" a écrit dans le message de news:

Tu mets
ActiveSheet.Shapes("grp1").Select
dans ton code It1 etc...
JP25


Ok pour ça.
Mais...

Je n'ai pas la couleur et la grosseur du trait qui le différencie des
autres.

Si je veux faire un autre groupe, je ne peux pas reprendre un morceau
commun au 1er groupe.

J'ai donné un nom en faisant "Insertion", en sélectionnant pareil.

Est-ce que cela peut fonctionner aussi ?

Mai il va y avoir le même problème de couleur et d'épaisseur ?

Il faut que je puisse appeler un itinéraire et que celui-ci soit de
couleur et de grosseur différente et même de style (si possible) et quand
je sélectionne 0 il redevienne comme à l'origine.

Cordialement
Guy
"JP25" a écrit dans le message de news:





Avatar
JP25
J'ai fait un tit exemple sur le lien ci-dessous
A adapter
la ligne 0 correspond à RAZ
j'ai créé les lignes 1 et 2 en groupe
Lig1, Lig2
Ton idée est fascinante
JP25


http://cjoint.com/?ggm2Bnmp5X
"Guy72" a écrit dans le message de news:

ça me sélectionne en jaune la 2ème ligne avec message "Erreur 13
Incompatibilité de type

Private Sub Couleur(Coul As Integer, Taille As Integer)
ActiveSheet.Shapes([Group]).Select >With Selection.ShapeRange.Line
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With

End Sub
Guy

"JP25" a écrit dans le message de news:

Encore moi
Il serait bon de mettre en variable le nom de tes groupes.
Pour cela, dans vba Feuil4, tu mets au début
Public Group
Dans la private sub couleur, tu remplaces shapes("Groupe xx") par
Shapes([Group])
Dans chaque Iti, tu donnes la valeur à Group
ex :
Sub iti4()
Group = "Group 331"
Call Couleur(4, 4) 'bleu
Call Couleur(4, 4)
Call Couleur(4, 4)
End Sub
J'espère que je vais t'aider
JP25






Avatar
Guy72
Là tu m'intéresse, je regarde ça et je te rappelle.
Guy

"JP25" a écrit dans le message de news:

J'ai fait un tit exemple sur le lien ci-dessous
A adapter
la ligne 0 correspond à RAZ
j'ai créé les lignes 1 et 2 en groupe
Lig1, Lig2
Ton idée est fascinante
JP25


http://cjoint.com/?ggm2Bnmp5X


Avatar
Guy72
Résultat des courses.
Mais OUI c'est parfait.
J'ai donc créé des lignes en groupe Lig11 que j'ai pu faire apparaître.
MAIS....il y a toujours un Mais.
J'ai créé une liste en K pour les Lig de 11 à 19.
Mais je ne sais pas ou caser " [A1].Select " dans le module.
Et je ne suis pas sure que ce que j'ai fait en Code Feuil1 soit bon.
J'essaye de triturer ça dans tous les sens (en essayant d'être logique) mais

je ne trouve pas.
Guy

"JP25" a écrit dans le message de news:

J'ai fait un tit exemple sur le lien ci-dessous
A adapter
la ligne 0 correspond à RAZ
j'ai créé les lignes 1 et 2 en groupe
Lig1, Lig2
Ton idée est fascinante
JP25


http://cjoint.com/?ggm2Bnmp5X


Avatar
Guy72
Fichier Joint
http://cjoint.com/?ggpqLU4OGh
Guy


"JP25" a écrit dans le message de news:

J'ai fait un tit exemple sur le lien ci-dessous
A adapter
la ligne 0 correspond à RAZ
j'ai créé les lignes 1 et 2 en groupe
Lig1, Lig2
Ton idée est fascinante
JP25


http://cjoint.com/?ggm2Bnmp5X
"Guy72" a écrit dans le message de news:

ça me sélectionne en jaune la 2ème ligne avec message "Erreur 13
Incompatibilité de type

Private Sub Couleur(Coul As Integer, Taille As Integer)
ActiveSheet.Shapes([Group]).Select >With Selection.ShapeRange.Line
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With

End Sub
Guy

"JP25" a écrit dans le message de news:

Encore moi
Il serait bon de mettre en variable le nom de tes groupes.
Pour cela, dans vba Feuil4, tu mets au début
Public Group
Dans la private sub couleur, tu remplaces shapes("Groupe xx") par
Shapes([Group])
Dans chaque Iti, tu donnes la valeur à Group
ex :
Sub iti4()
Group = "Group 331"
Call Couleur(4, 4) 'bleu
Call Couleur(4, 4)
Call Couleur(4, 4)
End Sub
J'espère que je vais t'aider
JP25










1 2 3 4 5