Possibilité de 2 listes déroulante ?

Le
Guy72
Bonjour
Sur la Feuil1, j'utilise une liste déroulante (de1 à 19) en "A1".
Pour ça, j'ai le code suivant.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target <> Range("A1") Then Exit Sub
Select Case [Target]
Case 1 "à Case 19"
Call iti1 "Call iti19"

Avec en Module 1, la macro les macros suivantes.

Private Sub Couleur(Mini As Long, Maxi As Long, Coul As Integer, Taille As
Integer)
For i = Mini To Maxi
ActiveSheet.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With
Next
End Sub

'Remise à zéro des itinéraires
Sub RAZ()
For Each s In ActiveSheet.Shapes
If s.Type = 9 Then
s.Line.Weight = 1.5
s.Line.ForeColor.SchemeColor = 64
End If
Next
End Sub

Sub iti1()
Call RAZ
Call Couleur(1, 39, 0, 4) 'noir
End Sub

Je voudrais (si il est possible) faire sur la même feuille une liste
déroulante de(20 à 30) en "AQ1" et pouvoir l'utilisé avec les macros
suivantes.
Je ne sais pas si j'arrive à me faire comprendre, c'est pas évident à
expliquer ?

Sub iti21 etc

Cordialement
Guy
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
satanas09
Le #4564601
Bonjour,
pas vraiment claire la question, pourrai tu essayer de nous dire ce que tu
ve faire avec cette 2° liste, et quelle doit être son interaction avec tes
procédures....


"Guy72"
Bonjour
Sur la Feuil1, j'utilise une liste déroulante (de1 à 19) en "A1".
Pour ça, j'ai le code suivant.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target <> Range("A1") Then Exit Sub
Select Case [Target]
Case 1 "à Case 19"
Call iti1 "Call iti19"

Avec en Module 1, la macro les macros suivantes.

Private Sub Couleur(Mini As Long, Maxi As Long, Coul As Integer, Taille As
Integer)
For i = Mini To Maxi
ActiveSheet.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With
Next
End Sub

'Remise à zéro des itinéraires
Sub RAZ()
For Each s In ActiveSheet.Shapes
If s.Type = 9 Then
s.Line.Weight = 1.5
s.Line.ForeColor.SchemeColor = 64
End If
Next
End Sub

Sub iti1()
Call RAZ
Call Couleur(1, 39, 0, 4) 'noir
End Sub

Je voudrais (si il est possible) faire sur la même feuille une liste
déroulante de(20 à 30) en "AQ1" et pouvoir l'utilisé avec les macros
suivantes.
Je ne sais pas si j'arrive à me faire comprendre, c'est pas évident à
expliquer ?

Sub iti21 etc......

Cordialement
Guy



Guy72
Le #4564571
Bonjour
Effectivement c'est pas très clair, je m'en doutais un peu.

Je te joins un fichier avec les explication à l'intérieur.

Il me faudrait une liste pour chaque page à l'écran.

http://cjoint.com/?gcjazw38dE

Cordialement
Guy

"satanas09"
Bonjour,
pas vraiment claire la question, pourrai tu essayer de nous dire ce que tu
ve faire avec cette 2° liste, et quelle doit être son interaction avec tes
procédures....


"Guy72"
Bonjour
Sur la Feuil1, j'utilise une liste déroulante (de1 à 19) en "A1".
Pour ça, j'ai le code suivant.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target <> Range("A1") Then Exit Sub
Select Case [Target]
Case 1 "à Case 19"
Call iti1 "Call iti19"

Avec en Module 1, la macro les macros suivantes.

Private Sub Couleur(Mini As Long, Maxi As Long, Coul As Integer, Taille
As Integer)
For i = Mini To Maxi
ActiveSheet.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = Coul
.Weight = Taille
End With
Next
End Sub

'Remise à zéro des itinéraires
Sub RAZ()
For Each s In ActiveSheet.Shapes
If s.Type = 9 Then
s.Line.Weight = 1.5
s.Line.ForeColor.SchemeColor = 64
End If
Next
End Sub

Sub iti1()
Call RAZ
Call Couleur(1, 39, 0, 4) 'noir
End Sub

Je voudrais (si il est possible) faire sur la même feuille une liste
déroulante de(20 à 30) en "AQ1" et pouvoir l'utilisé avec les macros
suivantes.
Je ne sais pas si j'arrive à me faire comprendre, c'est pas évident à
expliquer ?

Sub iti21 etc......

Cordialement
Guy







Francois L
Le #4564531
Bonjour
Effectivement c'est pas très clair, je m'en doutais un peu.

Je te joins un fichier avec les explication à l'intérieur.

Il me faudrait une liste pour chaque page à l'écran.


Bonjour Guy,

Je vois que tu avances !

Une solution :
Dans Feuil4, tu modifies le code comme suit :
'-------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target <> Range("A1") Then
If Target <> Range("AQ1") Then
Exit Sub
End If
End If

Select Case [Target]
Case 1
Call iti1
Case 2
Call iti2
Case 3
Call iti3
Case 4
Call iti4
Case 5
Call iti5
Case 6
Call iti6
Case 7
Call iti7
Case 8
Call iti8
Case 21
Call iti21
Case 22
Call iti22
Case 23
Call iti23
Case Else
Call RAZ
End Select
End Sub
'-------------------------------------------

et tu met toutes les sub itiXX dans Module1

--
François L

Guy72
Le #4564451
Bonjour Pascal
Et oui ça avance.
Je n'arrive pas à le faire fonctionner avec la liste en AQ1.
http://cjoint.com/?gcl5uwoKhp
Cordialement
Guy

"Francois L"
Bonjour
Effectivement c'est pas très clair, je m'en doutais un peu.

Je te joins un fichier avec les explication à l'intérieur.

Il me faudrait une liste pour chaque page à l'écran.


Bonjour Guy,

Je vois que tu avances !

Une solution :
Dans Feuil4, tu modifies le code comme suit :
'-------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target <> Range("A1") Then
If Target <> Range("AQ1") Then
Exit Sub
End If
End If

Select Case [Target]
Case 1
Call iti1
Case 2
Call iti2
Case 3
Call iti3
Case 4
Call iti4
Case 5
Call iti5
Case 6
Call iti6
Case 7
Call iti7
Case 8
Call iti8
Case 21
Call iti21
Case 22
Call iti22
Case 23
Call iti23
Case Else
Call RAZ
End Select
End Sub
'-------------------------------------------

et tu met toutes les sub itiXX dans Module1

--
François L



Guy72
Le #4564431
Que suis bête, je n'avais pas changer le n° de Call 21 en 11.
Par contre si je met les itinéraires 11-12-13 cla efface celui que j'ai
choisi dans la page précédente (de 1 à 9).
http://cjoint.com/?gcmFj7GKYa
Cordialement
Guy

"Guy72"
Bonjour Pascal
Et oui ça avance.
Je n'arrive pas à le faire fonctionner avec la liste en AQ1.
http://cjoint.com/?gcl5uwoKhp
Cordialement
Guy

"Francois L" news:
Bonjour
Effectivement c'est pas très clair, je m'en doutais un peu.

Je te joins un fichier avec les explication à l'intérieur.

Il me faudrait une liste pour chaque page à l'écran.


Bonjour Guy,

Je vois que tu avances !

Une solution :
Dans Feuil4, tu modifies le code comme suit :
'-------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target <> Range("A1") Then
If Target <> Range("AQ1") Then
Exit Sub
End If
End If

Select Case [Target]
Case 1
Call iti1
Case 2
Call iti2
Case 3
Call iti3
Case 4
Call iti4
Case 5
Call iti5
Case 6
Call iti6
Case 7
Call iti7
Case 8
Call iti8
Case 21
Call iti21
Case 22
Call iti22
Case 23
Call iti23
Case Else
Call RAZ
End Select
End Sub
'-------------------------------------------

et tu met toutes les sub itiXX dans Module1

--
François L







Francois L
Le #4564421
Bonjour Pascal


Re,

Euh, c'est François L mais pas grave !

Je t'ai mis la solution que je te propose plus haut dans un classeur
http://cjoint.com/?gcmIyYdPTV

--
François L

Francois L
Le #4564401
Que suis bête, je n'avais pas changer le n° de Call 21 en 11.
Par contre si je met les itinéraires 11-12-13 cla efface celui que j'ai
choisi dans la page précédente (de 1 à 9).
http://cjoint.com/?gcmFj7GKYa
Cordialement
Guy



Re,

Compris... je cherche un truc pas trop usine à gaz !

--
François L

Guy72
Le #4564241
Bonjour François

Je ne sais pas pourquoi j'ai mis Pascal.

Dans le classeur ci-dessous:

J'arrive bien à avoir les itinéraires 21-22-23, mais cela m'efface
l'itinéraire choisi entre 1 et 9.

En fait, il faudrait que j'aie (par exemple) l'itinéraire 2 et 22 affichés
ensemble.

Pouvoir changer l'itinéraire 2 en 3 sans effacer l'itinéraire 22 ou
vis-versa, le 22 en 23 sans effacer le 2 et ainsi de suite.
Cordialement
Guy


"Francois L" %
Bonjour Pascal


Re,

Euh, c'est François L mais pas grave !

Je t'ai mis la solution que je te propose plus haut dans un classeur
http://cjoint.com/?gcmIyYdPTV

--
François L



Francois L
Le #4563981
Bonjour François

Je ne sais pas pourquoi j'ai mis Pascal.




Bonsoir Guy,

Dans le classeur joint une solution (que je n'aime pas vraiment car elle
n'est pas souple mais elle fonctionne et te permet de ne pas tout
refaire !).

Il faut que tu comprennes la logique car tu devras l'adapter au fur et à
mesure de l'évolution de ton projet.

Il y a maintenant une macro RAZ1 et une RAZ2. RAZ1 gère l'effacement des
couleurs sur la première partie de ton circuit (Lignes 1 à 160) et RAZ2
sur la deuxième partie (lignes 161 à 198).

Si la sélection est changée en A1, RAZ1 est appelé, si la sélection est
changée en AQ1, RAZ2 est appelée. L'appel de la macro RAZ dans les
macros iti est supprimé.

http://cjoint.com/?gctXe8OFRW

--
François L

Guy72
Le #4563961
Bonsoir François
C'est exactement ça qu'il me faut, je suppose que pour la 3ème page il
faudra que je fasse une macro RAZ3.
Si tu vois quelque chose de plus simple, (même si il faut tout refaire) faut
me le montrer, tu sais je ne suis capable de tout refaire quand je vois que
la solution est meilleure.
En attendant je te remercie de ton aide, c'est super.
Cordialement
Guy

"Francois L" %
Bonjour François

Je ne sais pas pourquoi j'ai mis Pascal.




Bonsoir Guy,

Dans le classeur joint une solution (que je n'aime pas vraiment car elle
n'est pas souple mais elle fonctionne et te permet de ne pas tout refaire
!).

Il faut que tu comprennes la logique car tu devras l'adapter au fur et à
mesure de l'évolution de ton projet.

Il y a maintenant une macro RAZ1 et une RAZ2. RAZ1 gère l'effacement des
couleurs sur la première partie de ton circuit (Lignes 1 à 160) et RAZ2
sur la deuxième partie (lignes 161 à 198).

Si la sélection est changée en A1, RAZ1 est appelé, si la sélection est
changée en AQ1, RAZ2 est appelée. L'appel de la macro RAZ dans les macros
iti est supprimé.

http://cjoint.com/?gctXe8OFRW

--
François L



Publicité
Poster une réponse
Anonyme