Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Coloriage d'objet dessin

52 réponses
Avatar
rthompson
Bonjour à toutes et tous

Je suis à nouveau plongé dans mon désir de créer une carte active
(Eh oui je sais, je suis con mais persistant)

Je voudrais savoir si il y a moyen de changer la couleur d'un objet suivant
la valeur d'une cellule


J'explique


Une forme dessinnée et nommée Rixensart (comme par hasard)
Cette forme est placée sur une feuille nommée Wallonie (encore un hasard)

Sur une feuille nommée ENTREE (mais quelle immagination!) j'ai des données
dans le style

Communes Revendeurs Utilisateurs Tableaux
Rixensart 1 5
14
etc 4 25
53


Et je voudrais que la forme "Rixensart" soit verte si on est à moins de 10,
rouge si on est entre 11 et 20
Bleu si on est entre 21 et 30

Le tout par VBA, (j'en ai bien peur) et mise à jour par bouton
Le dernier truc je pourrais le faire

Mais c'est la création des couleurs qui me chiffonne

C'est pas possible, hein? Mais si! (j'ai demandé à la SNCF, mais il m'ont
dit que cette pub était périmé)


A bientôt

Rex

2 réponses

2 3 4 5 6
Avatar
denis Jaubert
Utiliser GraphiMap disponible sur http://www.deixsys.com
Coloriage automatique des formes suivant les couleurs de format conditionnel d'Excel.




rthompson wrote:

Coloriage d'objet dessin
03-Feb-10

Bonjour ? toutes et tou

Je suis ? nouveau plong? dans mon d?sir de cr?er une carte activ
(Eh oui je sais, je suis con mais persistant

Je voudrais savoir si il y a moyen de changer la couleur d'un objet suivan
la valeur d'une cellul

J'expliqu

Une forme dessinn?e et nomm?e Rixensart (comme par hasard
Cette forme est plac?e sur une feuille nomm?e Wallonie (encore un hasard

Sur une feuille nomm?e ENTREE (mais quelle immagination!) j'ai des donn?e
dans le styl

Communes Revendeurs Utilisateurs Tableau
Rixensart 1
1
etc 4 2
5

Et je voudrais que la forme "Rixensart" soit verte si on est ? moins de 10
rouge si on est entre 11 et 2
Bleu si on est entre 21 et 3

Le tout par VBA, (j'en ai bien peur) et mise ? jour par bouto
Le dernier truc je pourrais le fair

Mais c'est la cr?ation des couleurs qui me chiffonn

C'est pas possible, hein? Mais si! (j'ai demand? ? la SNCF, mais il m'on
dit que cette pub ?tait p?rim?

A bient?

Rex

Previous Posts In This Thread:

On Wednesday, February 03, 2010 5:08 AM
rthompson wrote:

Coloriage d'objet dessin
Bonjour ? toutes et tou

Je suis ? nouveau plong? dans mon d?sir de cr?er une carte activ
(Eh oui je sais, je suis con mais persistant

Je voudrais savoir si il y a moyen de changer la couleur d'un objet suivan
la valeur d'une cellul

J'expliqu

Une forme dessinn?e et nomm?e Rixensart (comme par hasard
Cette forme est plac?e sur une feuille nomm?e Wallonie (encore un hasard

Sur une feuille nomm?e ENTREE (mais quelle immagination!) j'ai des donn?e
dans le styl

Communes Revendeurs Utilisateurs Tableau
Rixensart 1
1
etc 4 2
5

Et je voudrais que la forme "Rixensart" soit verte si on est ? moins de 10
rouge si on est entre 11 et 2
Bleu si on est entre 21 et 3

Le tout par VBA, (j'en ai bien peur) et mise ? jour par bouto
Le dernier truc je pourrais le fair

Mais c'est la cr?ation des couleurs qui me chiffonn

C'est pas possible, hein? Mais si! (j'ai demand? ? la SNCF, mais il m'on
dit que cette pub ?tait p?rim?

A bient?

Rex

On Wednesday, February 03, 2010 5:31 AM
rthompson wrote:

Bonjpur ? toutes et tousQuand je me relis je constate que c'est pas trop
Bonjpur ? toutes et tou

Quand je me relis je constate que c'est pas trop clai

Voici ce que j'a

xxxxxxxxxxxxxxxxxxxxxx
Sheets("Wallonie").Shapes("Rixensart").Selec
Selection.ShapeRange.Fill.ForeColor.SchemeColor =
Selection.ShapeRange.Fill.Visible = msoTru
Selection.ShapeRange.Fill.Soli
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Eh! Vous avez remarqu? PAS DE SELECT!!!!! J'apprends!!

Et ce que je voudrais, ce sont deux astuce
Une pour que la valeur de la couleur soit celle afficher dans une cellul
(D5 dans ce cas-ci
Je calculerai la valeur de cette cellule par formul

Deuxi?me astuce
Comment faire pour que cela se passe pour toutes les formes de ma feuille
En prenant bien sur le chiffre de couleur dans la colonne D sur la m?m
ligne que le nom de la form

Oui, je sais ce n'est peut-?tre pas plus clair, mais j'essai

A bient?

Re

"rthompson" a ?crit dans le message de

On Wednesday, February 03, 2010 6:12 AM
Daniel.C wrote:

Bonjour.Mets ce code dans le module de la feuille "ENTREE" en rempla?
Bonjour
Mets ce code dans le module de la feuille "ENTREE" en rempla?ant C2 pa
la cellule ? tester

Private Sub Worksheet_Calculate(
Sheets("Wallonie").Selec
Set f = Sheets("ENTREE"
With ActiveSheet.Shapes.Range("Rixensart"
If f.[C2] <= 10 The
.Fill.ForeColor.RGB = RGB(0, 176, 80
ElseIf f.[C2] > 10 And f.[C2] <= 20 The
.Fill.ForeColor.RGB = RGB(255, 0, 0
ElseIf f.[C2] > 20 And f.[C2] <= 30 The
.Fill.ForeColor.RGB = RGB(0, 176, 240)
End If
End With
End Sub

Daniel

On Wednesday, February 03, 2010 6:31 AM
rthompson wrote:

Bonjour et merci DanielVoil? d?j? un pas dans la bonne directionEt cela
Bonjour et merci Daniel

Voil? d?j? un pas dans la bonne direction

Et cela fonctionne MERCI

Maintenant la deuxi?me ?tape est la r?p?tition

En effet j'ai 255 formes sur Wallonie
Et dans ENTREE j'ai ces 255 noms

MAIS

Les valeurs attribu?es aux couleurs seront les m?mes pour tous

si on tiens compte du fait que le nom est dans la colonne N et la valeur de
ce nom en colonne O

Comment faire?

Peut-on dire que toutes les formes doivent suivre cette macro suivant la
valeur sur la m?me ligne?

Si toi, ou quelqu'un a une id?e

D'avance merci

Rex

On Wednesday, February 03, 2010 7:14 AM
FFO wrote:

Salut ?? toi1??
Salut ?? toi

1?? astuce :

Selection.ShapeRange.Fill.ForeColor.SchemeColor = Range("D5")


2?? astuce

For i = 1 To Sheets("Wallonie").Shapes.Count
Sheets("Wallonie").Shapes(i).Select
On Error Resume Next
Ligne = 0
Ligne = Cells.Find(What:=Sheets("Wallonie").Shapes(i).Name,
LookIn:=xlValues, LookAt:=xlWhole).Row
If Ligne <> 0 Then
Selection.ShapeRange.Fill.ForeColor.SchemeColor = Range("D" & Ligne)
Else
MsgBox("Le nom " & Sheets("Wallonie").Shapes(i).Name & " est inexistant")
End If
Next

Cel?? devrait faire

Dis moi !!!!!!

On Wednesday, February 03, 2010 7:16 AM
Modeste wrote:

Bonsour® rthompson avec ferveur ;o))) vous nous disiez : 1 - Feuilles
Bonsour® rthompson avec ferveur ;o))) vous nous disiez :


1 - Feuilles ENTREE
nommer les plages Communes et Tableaux
2 - Feuille WALLONIE
associer aux différentes shapes souhaitées la macro ci-dessous

Option Explicit

Sub ColorShape()
Dim myshape As Shape
Dim selectedshape As String
Dim myindex As Long
'------ retrieve selected shape name
selectedshape = Application.Caller
' ------retrieve current line from Communes
myindex = Application.Index([tableaux], Application.Match(selectedshape, [Communes], 0), 1)
MsgBox selectedshape & Chr(10) & myindex & " Tableaux"
'------- qualification of the correct shape to avoid physical selection
Set myshape = Sheets("Wallonie").Shapes(selectedshape)
With myshape.Fill
..Visible = msoTrue
..Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor for blue
..ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10, 12))
End With

End Sub

On Wednesday, February 03, 2010 7:29 AM
michdenis wrote:

Bonjour,Quelques questions :Dans ta colonne "Rixensart" est-ce que tu
Bonjour,

Quelques questions :

Dans ta colonne "Rixensart" est-ce que tu renseignes
ces valeurs manuellement ou as-tu des formules dans
ces cellules qui affichent le r?sultat ?

Veux-tu dire que tu as une "shape" dans la cellule de la
colonne D li?e ? la valeur de la cellule de la colonne A
sur la m?me ligne ?

Ce que tu veux comme r?sultat : Si la valeur en colonne A,
la shape en D prend une certaine couleur... c'est ?a ?




"rthompson" a ?crit dans le message de groupe de
Bonjour ? toutes et tous

Je suis ? nouveau plong? dans mon d?sir de cr?er une carte active
(Eh oui je sais, je suis con mais persistant)

Je voudrais savoir si il y a moyen de changer la couleur d'un objet suivant
la valeur d'une cellule


J'explique


Une forme dessinn?e et nomm?e Rixensart (comme par hasard)
Cette forme est plac?e sur une feuille nomm?e Wallonie (encore un hasard)

Sur une feuille nomm?e ENTREE (mais quelle immagination!) j'ai des donn?es
dans le style

Communes Revendeurs Utilisateurs Tableaux
Rixensart 1 5
14
etc 4 25
53


Et je voudrais que la forme "Rixensart" soit verte si on est ? moins de 10,
rouge si on est entre 11 et 20
Bleu si on est entre 21 et 30

Le tout par VBA, (j'en ai bien peur) et mise ? jour par bouton
Le dernier truc je pourrais le faire

Mais c'est la cr?ation des couleurs qui me chiffonne

C'est pas possible, hein? Mais si! (j'ai demand? ? la SNCF, mais il m'ont
dit que cette pub ?tait p?rim?)


A bient?t

Rex

On Wednesday, February 03, 2010 7:30 AM
rthompson wrote:

Bonjour et merciJe ne comprends pas tr?s bien la deuxi?meOu vas-tu chercher la
Bonjour et merci

Je ne comprends pas tr?s bien la deuxi?me

Ou vas-tu chercher la valeur?
Que signifie tes Ligne et tes LookIn?

Je travail avec des plages nomm?es
mes Communes sont nomm?es EntreeCommunes
Et les valeurs EntreeTotal

A bient?t

Rex





On Wednesday, February 03, 2010 7:37 AM
rthompson wrote:

Bonjnour ModesteBen cette fois-ci j'y comprends rienEt c'est bien la premi?re
Bonjnour Modeste

Ben cette fois-ci j'y comprends rien

Et c'est bien la premi?re fois que ta r?ponse me semble tellement
"n?buleuse"

Si j'affecte une macro ? un objet, je dois cliquer dessus pour qu'elle
agisse, non?

Alors que ce que je cherche ? faire et d'avoir une carte de Wallonie dont
les zones sont colori?es
en fonctions de leurs chiffres

Donc une macro g?n?rale affect?e ? un bouton


De toute fa?on merci pour ton aide

Et ? tr?s bient?t

Rex


Bonsour? rthompson avec ferveur ;o))) vous nous disiez :


1 - Feuilles ENTREE
nommer les plages Communes et Tableaux
2 - Feuille WALLONIE
associer aux diff?rentes shapes souhait?es la macro ci-dessous

Option Explicit

Sub ColorShape()
Dim myshape As Shape
Dim selectedshape As String
Dim myindex As Long
'------ retrieve selected shape name
selectedshape = Application.Caller
' ------retrieve current line from Communes
myindex = Application.Index([tableaux], Application.Match(selectedshape,
[Communes], 0), 1)
MsgBox selectedshape & Chr(10) & myindex & " Tableaux"
'------- qualification of the correct shape to avoid physical selection
Set myshape = Sheets("Wallonie").Shapes(selectedshape)
With myshape.Fill
..Visible = msoTrue
..Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor
for blue
..ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10,
12))
End With

End Sub

On Wednesday, February 03, 2010 7:42 AM
Modeste wrote:

deshttp://www.cijoint.fr/cjlink.php?file=cj201002/cijO5XxIOc.xls
des

http://www.cijoint.fr/cjlink.php?file=cj201002/cijO5XxIOc.xls

On Wednesday, February 03, 2010 7:44 AM
rthompson wrote:

Bonjour MichdenisLa valeur est calcul?eEt les shapes sont sur une autres
Bonjour Michdenis

La valeur est calcul?e
Et les shapes sont sur une autres feuille dessin?es ? main lev?


Voici ce que j'aurais du faire au d?but

http://www.cijoint.fr/cjlink.php?file=cj201002/cijcoSHW79.xls

Un petit dessin vaut mieux qu'un long discours

Si tu y jette un oeil tu verras ce que je cherche ? faire et tu pourras me
r?pondre

Enfin j'esp?re

A bient?t

Rex




On Wednesday, February 03, 2010 7:44 AM
rthompson wrote:

Voici le fichierhttp://www.cijoint.fr/cjlink.php?
Voici le fichier

http://www.cijoint.fr/cjlink.php?file=cj201002/cijcoSHW79.xls

Rex

Bonsour? rthompson avec ferveur ;o))) vous nous disiez :


1 - Feuilles ENTREE
nommer les plages Communes et Tableaux
2 - Feuille WALLONIE
associer aux diff?rentes shapes souhait?es la macro ci-dessous

Option Explicit

Sub ColorShape()
Dim myshape As Shape
Dim selectedshape As String
Dim myindex As Long
'------ retrieve selected shape name
selectedshape = Application.Caller
' ------retrieve current line from Communes
myindex = Application.Index([tableaux], Application.Match(selectedshape,
[Communes], 0), 1)
MsgBox selectedshape & Chr(10) & myindex & " Tableaux"
'------- qualification of the correct shape to avoid physical selection
Set myshape = Sheets("Wallonie").Shapes(selectedshape)
With myshape.Fill
..Visible = msoTrue
..Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor
for blue
..ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10,
12))
End With

End Sub

On Wednesday, February 03, 2010 7:44 AM
rthompson wrote:

Et voici le fichierhttp://www.cijoint.fr/cjlink.php?
Et voici le fichier

http://www.cijoint.fr/cjlink.php?file=cj201002/cijcoSHW79.xls

Rex




On Wednesday, February 03, 2010 7:49 AM
rthompson wrote:

Bonjour et merciJe comprends un peu mieux ce que tu me montresMais ce n'est
Bonjour et merci

Je comprends un peu mieux ce que tu me montres
Mais ce n'est pas le but recherch?

Je gardes ton fichier, il me servira j'en suis certains

Merci

J'ai post? mon fichier, tu l'as vu?

Rex




http://www.cijoint.fr/cjlink.php?file=cj201002/cijO5XxIOc.xls

On Wednesday, February 03, 2010 7:51 AM
Modeste wrote:

Bonsour® rthompson avec ferveur ;o))) vous nous disiez : alors
Bonsour® rthompson avec ferveur ;o))) vous nous disiez :

alors simplement :

Sub ColorShape()
Dim myindex As Long
Dim c As Shape
For Each c In Sheets("Wallonie").Shapes
myindex = Application.Index([tableaux], Application.Match(c.Name, [Communes], 0), 1)
With c.Fill
..Visible = msoTrue
..Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor for blue
..ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10, 12))
End With
Next

End Sub

On Wednesday, February 03, 2010 8:06 AM
Daniel.C wrote:

Quelle est la plage de cellules servant au coloriage ?
Quelle est la plage de cellules servant au coloriage ?

On Wednesday, February 03, 2010 8:21 AM
Modeste wrote:

Bonsour® rthompson avec ferveur ;o))) vous nous disiez : ;o)))beaucoup
Bonsour® rthompson avec ferveur ;o))) vous nous disiez :


;o)))
beaucoup de boulot (creation des shapes et de manques ....
les noms de communes ne sont pas propres (présence d'espaces et car(0160))
la shape Estampuis est crée mais il n'y a pas de commune Estampuis

Sub ColorShape()
Dim myindex As Long
Dim c As Shape
On Error GoTo suivant
For Each c In Sheets("Wallonie").Shapes
myindex = Application.Index([Totcommunes], Application.Match(UCase(c.Name), [Communes], 0), 1)
With c.Fill
..Visible = msoTrue
..Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor for blue
..ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10, 12))
End With
suivant:

Next

End Sub

On Wednesday, February 03, 2010 8:25 AM
rthompson wrote:

BonjourBien vu!!
Bonjour

Bien vu!!

Je viens de cr?er deux nouvelles plages

EntreeListeCommuneTotal pour les chiffres
EntreeListeCommuneTotal pour les noms des communes


Rex

On Wednesday, February 03, 2010 8:27 AM
Daniel.C wrote:

Tu peux renvoyer le classeur ?Daniel
Tu peux renvoyer le classeur ?
Daniel

On Wednesday, February 03, 2010 8:29 AM
rthompson wrote:

BonjourVoici ton code avec mes plages nomm?esxxxxxxxxxxxxxxxxxxxxxxxxxxSub
Bonjour

Voici ton code avec mes plages nomm?es

xxxxxxxxxxxxxxxxxxxxxxxxxx
Sub ColorShape()
Dim myindex As Long
Dim c As Shape
For Each c In Sheets("Wallonie").Shapes
myindex = Application.Index([EntreeListeCommuneTotal],
Application.Match(c.Name, [EntreeListeCommune], 0), 1)
With c.Fill
..Visible = msoTrue
..Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor
for blue
..ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10,
12))
End With
Next

End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Et il me met Error 13 Type Mismatch

Que cherche-t-il?

Rex

Bonsour? rthompson avec ferveur ;o))) vous nous disiez :

alors simplement :

Sub ColorShape()
Dim myindex As Long
Dim c As Shape
For Each c In Sheets("Wallonie").Shapes
myindex = Application.Index([tableaux], Application.Match(c.Name,
[Communes], 0), 1)
With c.Fill
..Visible = msoTrue
..Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor
for blue
..ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10,
12))
End With
Next

End Sub

On Wednesday, February 03, 2010 8:30 AM
FFO wrote:

Rebonjour ??
Rebonjour ?? toi

Tu demandes :
Comment faire pour que cela se passe pour toutes les formes de ma feuille?
En prenant bien sur le chiffre de couleur dans la colonne D sur la m??me
ligne que le nom de la forme


Le nom de la form est donc dans une cellule dont on doit d??terminer la ligne

Je te propose :

Ligne = Cells.Find(What:=Sheets("Wallonie").Shapes(i).Name,
LookIn:=xlValues, LookAt:=xlWhole).Row


Je cherche dans la feuille le nom de la Shape
(What:=Sheets("Wallonie").Shapes(i).Name) je regarde les valeurs des cellules
(LookIn:=xlValues) et dans leur entier (LookAt:=xlWhole)
Je r??cup??re ainsi le num??ro de la ligne :

Ligne = Cells.Find(What:=Sheets("Wallonie").Shapes(i).Name,
LookIn:=xlValues, LookAt:=xlWhole).Row

Tu demandes :

Comment faire pour que cela se passe pour toutes les formes de ma feuille?

Je te propose:
d'effectuer la recherche des lignes sur l'ensemble des Shape avec la
variable i :

For i = 1 To Sheets("Wallonie").Shapes.Count

Ce qui donne le code au final

'Toutes les Shape
For i = 1 To Sheets("Wallonie").Shapes.Count
'Selection de la Shape
Sheets("Wallonie").Shapes(i).Select
On Error Resume Next
Ligne = 0
'Determination de la ligne de la cellule qui porte le nom de la Shape
Ligne = Cells.Find(What:=Sheets("Wallonie").Shapes(i).Name,
LookIn:=xlValues, LookAt:=xlWhole).Row
'Si la cellule est trouv?? je donne la couleur ?? la Shape en fonction de la
valeur colonne D de la m??me ligne
If Ligne <> 0 Then
Selection.ShapeRange.Fill.ForeColor.SchemeColor = Range("D" & Ligne)
'Sinon j'informe de l'absence du nom de la Shape dans la feuille
Else
MsgBox("Le nom " & Sheets("Wallonie").Shapes(i).Name & " est inexistant")
End If
Next


Est ce plus claire ainsi

Je crois avoir scrupuleusement r??pondu ?? ton cahier des charges

Dans la n??gative merci de m'expliquer

Dans l'attente de te lire

On Wednesday, February 03, 2010 8:32 AM
rthompson wrote:

Y a qu'? demanderhttp://www.cijoint.fr/cjlink.php?
Y a qu'? demander

http://www.cijoint.fr/cjlink.php?file=cj201002/cij7RWsSr8.xls


Rex

On Wednesday, February 03, 2010 8:35 AM
rthompson wrote:

Bonjour et merciJ'?tudie ta propositionMAIS en attendant voici la derni?re
Bonjour et merci

J'?tudie ta proposition

MAIS en attendant voici la derni?re version de mon fichier

http://www.cijoint.fr/cjlink.php?file=cj201002/cij7RWsSr8.xls

Rex




On Wednesday, February 03, 2010 8:41 AM
FFO wrote:

Rebonjour ?? toiPeux tu me dire dans ton document o??
Rebonjour ?? toi

Peux tu me dire dans ton document o?? je trouve ceci

"En prenant bien sur le chiffre de couleur dans la colonne D sur la m??m
ligne que le nom de la forme

La colonne D est desesp??r??ment vide !!!!!

Il n'y a nulle par des noms de for

Je n'y comprend absolument rie

Merci de me sortir de cet ??pais brouillard

On Wednesday, February 03, 2010 8:55 AM
michdenis wrote:

Je te propose ceci :En supposant que tes shapes sont nomm?
Je te propose ceci

En supposant que tes shapes sont nomm?es suivan
le processus suivant
Rixensart + et le num?ro de la ligne de la commune en colonne
En K2 : la commune est Alleur : Nom Shape : Rixenart
En K3 : La commune est Amay : Nom Shape : Rixenart
ainsi de suite..

Tu copies ceci dans la feuille module o? s'affich
le r?sultat de tes donn?es "Sheet2
? chaque fois que tu vas modifier tes donn?es dans les colonne
F, G ou H en Sheet2, s'il y a lieu, la couleur de la shape associ?
va changer de couleur..

'------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range
Dim Rg As Range, R As Range, X As Intege
Set Rg = Intersect(Range("F2:H" &
Range("K65536").End(xlUp).Row), Target
If Not Rg Is Nothing The
For Each R In Rg.Row
X = R.Ro
Select Case Range("H" & X).Valu
Case Is <= 1
couleur = vbGree
Case Is <= 2
couleur = vbRe
Case Is <= 3
couleur = vbBlu
End Selec
With Sheet
.Shapes("Rixensart" & X - 1).Fill.ForeColor.RGB = couleu
End Wit
Nex
End I
End Su
'------------------------------------------


"rthompson" a ?crit dans le message de groupe de discussio
Bonjour Michdeni

La valeur est calcul?
Et les shapes sont sur une autres feuille dessin?es ? main lev

Voici ce que j'aurais du faire au d?bu

http://www.cijoint.fr/cjlink.php?file=cj201002/cijcoSHW79.xl

Un petit dessin vaut mieux qu'un long discour

Si tu y jette un oeil tu verras ce que je cherche ? faire et tu pourras m
r?pondr

Enfin j'esp?r

A bient?

Re



On Wednesday, February 03, 2010 9:01 AM
Daniel.C wrote:

Fais attention aux noms de commune, il y a des espaces avant et par?
Fais attention aux noms de commune, il y a des espaces avant et par?
le nom, notamment pour Rixensart, ce qui fausse les calculs
Daniel

On Wednesday, February 03, 2010 9:09 AM
rthompson wrote:

BonjourLe chiffre de la couleur a boug? depuis ce matin et ce trouve PMAIS il
Bonjou

Le chiffre de la couleur a boug? depuis ce matin et ce trouve
MAIS il ne s'agit pas du chiffre couleur EXCEL mais du tota
Et je voudrais avoir une couleur diff?rente pour des quantit? entre 0 et 10
11 et 20; 21 et 30; et

Les noms des formes sont d?finis lors de leur cr?ations en indiquant le no
dans la case au dessus de A
Et ces noms sont des noms de communes qui se trouve dans la colonne
Ces deux info sont des plages nomm?es EntreeListeCommuneTotal e
EntreeListeCommun

MAIS je viens de constater une erreur de ma par
Et copiant les noms de communes il y a chaque fois un espace devan
Donc je suis entrain de corriger cel

Pour le moment toutes les formes ne sont pas encore cr?es
je voudrais savoir si cela fonctionne avant d'y passer des heure

Ai-je allum? un tout petit peu tes phares anti-brouillard

Dis-moi quoi et je r?agi

En tous les cas merci de t'int?resser ? mon ca

Re






On Wednesday, February 03, 2010 9:25 AM
Daniel.C wrote:

Regarde le classeur ci-dessous.
Regarde le classeur ci-dessous. le changement de couleur se produi
quand tu entres une valeur dans les colonnes G, H ou I. Pour Rixensar
(B55), entre une valeur diff?rente des valeurs pr?sentes et la cart
est actualis?e

http://cjoint.com/?cdps5iRVs

Daniel

On Wednesday, February 03, 2010 9:29 AM
michdenis wrote:

J'ai apport? une correction suite ? une meilleurecompr?hension de la pr?
J'ai apport? une correction suite ? une meilleur
compr?hension de la pr?sentation de tes donn?es

'--------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range
Dim Rg As Range, R As Range, X As Integer
Dim Commune As String, Ligne As Integer
Set Rg = Intersect(Range("F2:H" & _
Range("K65536").End(xlUp).Row), Target)
If Not Rg Is Nothing Then
For Each R In Rg.Rows
X = R.Row
Commune = Application.Index(Range("B:B"), X)
Ligne = Application.Match(Commune, Range("K:K"), 1)
Select Case Range("H" & Ligne).Value
Case Is <= 10
couleur = vbGreen
Case Is <= 20
couleur = vbRed
Case Is <= 30
couleur = vbBlue
End Select

With Sheet1
..Shapes("Rixensart" & Ligne).Fill.ForeColor.RGB = couleur
End With
Next
End If
End Sub
'---------------------------------------------



Je te propose ceci :

En supposant que tes shapes sont nomm?es suivant
le processus suivant :
Rixensart + et le num?ro de la ligne de la commune en colonne K
En K2 : la commune est Alleur : Nom Shape : Rixenart2
En K3 : La commune est Amay : Nom Shape : Rixenart3
ainsi de suite...

Tu copies ceci dans la feuille module o? s'affiche
le r?sultat de tes donn?es "Sheet2"
? chaque fois que tu vas modifier tes donn?es dans les colonnes
F, G ou H en Sheet2, s'il y a lieu, la couleur de la shape associ?e
va changer de couleur...

'-------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, R As Range, X As Integer
Set Rg = Intersect(Range("F2:H" & _
Range("K65536").End(xlUp).Row), Target)
If Not Rg Is Nothing Then
For Each R In Rg.Rows
X = R.Row
Select Case Range("H" & X).Value
Case Is <= 10
couleur = vbGreen
Case Is <= 20
couleur = vbRed
Case Is <= 30
couleur = vbBlue
End Select
With Sheet1
..Shapes("Rixensart" & X - 1).Fill.ForeColor.RGB = couleur
End With
Next
End If
End Sub
'-------------------------------------------




"rthompson" a ?crit dans le message de groupe de discussion
Bonjour Michdenis

La valeur est calcul?e
Et les shapes sont sur une autres feuille dessin?es ? main lev?


Voici ce que j'aurais du faire au d?but

http://www.cijoint.fr/cjlink.php?file=cj201002/cijcoSHW79.xls

Un petit dessin vaut mieux qu'un long discours

Si tu y jette un oeil tu verras ce que je cherche ? faire et tu pourras me
r?pondre

Enfin j'esp?re

A bient?t

Rex

On Wednesday, February 03, 2010 9:59 AM
FFO wrote:

Rebonjour ?? toi"Le chiffre de la couleur a boug??
Rebonjour ?? toi

"Le chiffre de la couleur a boug?? depuis ce matin et ce trouve P"

D??sol?? je ne trouve absolument rien en colonne P dans ton document fourni


"Les noms des formes sont d??finis lors de leur cr??ations en indiquant le nom
dans la case au dessus de A1"

Il serait bon de nous transmettre un exemple ficel?? pour que l'on comprenne
et adapte nos propositions

"Pour le moment toutes les formes ne sont pas encore cr??es,
je voudrais savoir si cela fonctionne avant d'y passer des heures"

Un exemple ou deux serait salutaire pour tester nos propositions et certain
de bien r??pondre ?? ton besoin


Dans l'attente d'un exemplaire complet pour mieux te r??pondre

On Wednesday, February 03, 2010 9:59 AM
Daniel.C wrote:

Erratum.Lire :Pour Rixensart (C55)au lieu de :Pour Rixensart (B55)Daniel
Erratum.
Lire :
Pour Rixensart (C55)
au lieu de :
Pour Rixensart (B55)
Daniel

On Wednesday, February 03, 2010 10:00 AM
rthompson wrote:

BonjourCette fois on avanceCela r?agit mais les formes deviennent VERTQuelle
Bonjour

Cette fois on avance

Cela r?agit mais les formes deviennent VERT

Quelle que soit le chiffre
Dons ? mon avis il faut changer cette partie-ci
xxxxxxxxxxxxxxxxxxxxxxx
Select Case Range("H" & X).Value
Case Is <= 10
couleur = vbGreen
Case Is <= 20
couleur = vbRed
Case Is <= 30
couleur = vbBlue


xxxxxxxxxxxxxxxxxxxxxx
Comment fait-on pour dire que le montant est entre 11 et 20 par exemple

A bient?t

Rex

On Wednesday, February 03, 2010 10:11 AM
michdenis wrote:

As-tu utilis? la derni?re version que j'ai publi?e?| Cela r?
As-tu utilis? la derni?re version que j'ai publi?e?

| Cela r?agit mais les formes deviennent VERT

Peu importe la valeur dans la cellule de cette
colonne Range("H" & Ligne).Value ?

On Wednesday, February 03, 2010 10:12 AM
rthompson wrote:

BonjourVoici la version actuelleRexhttp://www.cijoint.fr/cjlink.php?
Bonjour

Voici la version actuelle

Rex

http://www.cijoint.fr/cjlink.php?file=cj201002/cijQ8VAI9B.xls




On Wednesday, February 03, 2010 10:17 AM
rthompson wrote:

Ben ouihttp://www.cijoint.fr/cjlink.php?
Ben oui

http://www.cijoint.fr/cjlink.php?file=cj201002/cijQ8VAI9B.xls

Voici la version que j'utilise actuellement

Rex

On Wednesday, February 03, 2010 10:23 AM
rthompson wrote:

Bonjour et merciCela fonctionneMAISJe dois absolument m'absenter pour quelques
Bonjour et merci

Cela fonctionne

MAIS
Je dois absolument m'absenter pour quelques heures

Je te r?ponds tout ? l'heure

Rex

On Wednesday, February 03, 2010 10:25 AM
rthompson wrote:

BonjourOUI OUI OUIJe sais que la petite aide m?nag?re dois passer faire le
Bonjour

OUI OUI OUI

Je sais que la petite aide m?nag?re dois passer faire le m?nage

Je dois m'absenter quelques heures j'y travail tant?t et je te tiens au
courant

Rex


Bonsour? rthompson avec ferveur ;o))) vous nous disiez :


;o)))
beaucoup de boulot (creation des shapes et de manques ....
les noms de communes ne sont pas propres (pr?sence d'espaces et car(0160))
la shape Estampuis est cr?e mais il n'y a pas de commune Estampuis

Sub ColorShape()
Dim myindex As Long
Dim c As Shape
On Error GoTo suivant
For Each c In Sheets("Wallonie").Shapes
myindex = Application.Index([Totcommunes], Application.Match(UCase(c.Name),
[Communes], 0), 1)
With c.Fill
..Visible = msoTrue
..Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor
for blue
..ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10,
12))
End With
suivant:

Next

End Sub

On Wednesday, February 03, 2010 10:31 AM
michdenis wrote:

| Voici la version que j'utilise actuellementD?sol?
| Voici la version que j'utilise actuellement

D?sol?, s'il doit y avoir des modifications ? faire
suite ? ta pr?sente version, c'est ? toi de le faire !
je t'ai donn? l'id?e de base !

On Wednesday, February 03, 2010 12:51 PM
rthompson wrote:

Et je t'en remercieJe commence ? avoir une id?e de la piste que je vais
Et je t'en remercie

Je commence ? avoir une id?e de la piste que je vais suivre

A bient?t

Rex

On Wednesday, February 03, 2010 1:21 PM
Modeste wrote:

Bonsour® rthompson avec ferveur ;o))) vous nous disiez : tu ne peux
Bonsour® rthompson avec ferveur ;o))) vous nous disiez :


tu ne peux utiliser la colonne C (plage nommée [EntreeCommune]) pour faire une recherche efficace :
il y a des doublons !!!!!

il faut utiliser les colonnes L et M
après avoir nettoyé les espaces superfétatoires et car(0160)

http://www.cijoint.fr/cjlink.php?file=cj201002/cijx30boTF.xls

On Wednesday, February 03, 2010 2:34 PM
michdenis wrote:

| tu ne peux utiliser la colonne C (plage nomm?
| tu ne peux utiliser la colonne C (plage nomm?e
| [EntreeCommune]) pour faire une recherche efficace :
| il y a des doublons !!!!!

A ) Lorsqu'il saisit une donn?e dans une des colonnes G, H ou I
En utilisant l'?v?nement Worksheet_Change, il r?cup?re
le num?ro de la ligne du target.
En utilisant la formule Index(C:C,Ligne) , il va obtenir le nom
de la commune ou il vient d'effectuer une modification.

B ) dans un deuxi?me temps, equiv(nom_commune;L:L;1) donne la
ligne ou la somme de la commune affect?e par la modification.

C ) s'il y a une correspondance entre le nom (l'index) de la shape et
la ligne de la commune en L:L , ce sera suffisant pour affecter seulement
la bonne couleur ? cette shape.

D ) Cette fa?on de faire permet de boucler sur chacune des lignes qu'un
utilisateur peut modifier : Exemple : supprime les donn?es de 2 lignes
en m?me temps....


il faut utiliser les colonnes L et M
apr?s avoir nettoy? les espaces superf?tatoires et car(0160)

http://www.cijoint.fr/cjlink.php?file=cj201002/cijx30boTF.xls

On Wednesday, February 03, 2010 2:42 PM
rthompson wrote:

BonsoirAvant m?me de regarder de plus pr?s ta propositionet avant que je ne
Bonsoir

Avant m?me de regarder de plus pr?s ta proposition
et avant que je ne l'oublie

Comment as-tu fais pour supprimer tous les espaces des noms de communes

Quand moi j'ai fais un Replace cela n'a pas fonctionn?

As tant?t

Rex

PS
Pour le reste je suis encore occup?




Bonsour? rthompson avec ferveur ;o))) vous nous disiez :


tu ne peux utiliser la colonne C (plage nomm?e [EntreeCommune]) pour faire
une recherche efficace :
il y a des doublons !!!!!

il faut utiliser les colonnes L et M
apr?s avoir nettoy? les espaces superf?tatoires et car(0160)

http://www.cijoint.fr/cjlink.php?file=cj201002/cijx30boTF.xls

On Wednesday, February 03, 2010 2:49 PM
michdenis wrote:

Dans la fen?
Dans la fen?tre Rechercher/Remplacer

Dans la case Rechercher : en tenant la touche Alt enfonc?e ? gauche
de la barre d'espacement , tu tapes, 0160... lorsque tu rel?cheras
un espace sera ajout?. Dans la case remplacer, tu la laisses totalement
vide.



"rthompson" a ?crit dans le message de groupe de discussion
Bonjour

OUI OUI OUI

Je sais que la petite aide m?nag?re dois passer faire le m?nage

Je dois m'absenter quelques heures j'y travail tant?t et je te tiens au
courant

Rex


Bonsour? rthompson avec ferveur ;o))) vous nous disiez :


;o)))
beaucoup de boulot (creation des shapes et de manques ....
les noms de communes ne sont pas propres (pr?sence d'espaces et car(0160))
la shape Estampuis est cr?e mais il n'y a pas de commune Estampuis

Sub ColorShape()
Dim myindex As Long
Dim c As Shape
On Error GoTo suivant
For Each c In Sheets("Wallonie").Shapes
myindex = Application.Index([Totcommunes], Application.Match(UCase(c.Name),
[Communes], 0), 1)
With c.Fill
..Visible = msoTrue
..Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor
for blue
..ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10,
12))
End With
suivant:

Next

End Sub

On Wednesday, February 03, 2010 3:37 PM
rthompson wrote:

Ben nonIl me met le m?me message d'erreur que si j'y mets juste un espaceIl
Ben non

Il me met le m?me message d'erreur que si j'y mets juste un espace

Il n'y a pas de donn?es ? remplacer

Et il y en a des espaces dans les cellules

Et cela m?me si je s?lectionne toute la feuille ou une seule cellule

Bizarre, bizarre

Si tu as une id?e????????


Mais pour le reste je vais faire une r?ponse g?n?rale dans une minute

Rex




On Wednesday, February 03, 2010 3:40 PM
rthompson wrote:

Bonsoir ? tous et toutesMis ? part le petit souci d'espaceAvec toutes les
Bonsoir ? tous et toutes

Mis ? part le petit souci d'espace

Avec toutes les infos que j'ai pris ? l'un et ? l'autre
je crois pouvoir s?rieusement avancer dans ce fichier

Je vous remercie tous et nous nous retrouverons certainement tr?s bient?t

Mais en attendant je vais essayer d'avancer tout seul COMME UN GRAND


A tr?s bient?t

Rex

On Wednesday, February 03, 2010 3:41 PM
rthompson wrote:

Bonsoir ? tous et toutesMis ? part le petit souci d'espaceAvec toutes les
Bonsoir ? tous et toutes

Mis ? part le petit souci d'espace

Avec toutes les infos que j'ai pris ? l'un et ? l'autre
je crois pouvoir s?rieusement avancer dans ce fichier

Je vous remercie tous et nous nous retrouverons certainement tr?s bient?t

Mais en attendant je vais essayer d'avancer tout seul COMME UN GRAND


A tr?s bient?t

Rex




On Wednesday, February 03, 2010 3:41 PM
rthompson wrote:

Bonsoir ? tous et toutesMis ? part le petit souci d'espaceAvec toutes les
Bonsoir ? tous et toutes

Mis ? part le petit souci d'espace

Avec toutes les infos que j'ai pris ? l'un et ? l'autre
je crois pouvoir s?rieusement avancer dans ce fichier

Je vous remercie tous et nous nous retrouverons certainement tr?s bient?t

Mais en attendant je vais essayer d'avancer tout seul COMME UN GRAND


A tr?s bient?t

Rex


Bonsour? rthompson avec ferveur ;o))) vous nous disiez :


;o)))
beaucoup de boulot (creation des shapes et de manques ....
les noms de communes ne sont pas propres (pr?sence d'espaces et car(0160))
la shape Estampuis est cr?e mais il n'y a pas de commune Estampuis

Sub ColorShape()
Dim myindex As Long
Dim c As Shape
On Error GoTo suivant
For Each c In Sheets("Wallonie").Shapes
myindex = Application.Index([Totcommunes], Application.Match(UCase(c.Name),
[Communes], 0), 1)
With c.Fill
..Visible = msoTrue
..Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor
for blue
..ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10,
12))
End With
suivant:

Next

End Sub

On Wednesday, February 03, 2010 3:41 PM
rthompson wrote:

Bonsoir ? tous et toutesMis ? part le petit souci d'espaceAvec toutes les
Bonsoir ? tous et toutes

Mis ? part le petit souci d'espace

Avec toutes les infos que j'ai pris ? l'un et ? l'autre
je crois pouvoir s?rieusement avancer dans ce fichier

Je vous remercie tous et nous nous retrouverons certainement tr?s bient?t

Mais en attendant je vais essayer d'avancer tout seul COMME UN GRAND


A tr?s bient?t

Rex





On Wednesday, February 03, 2010 3:42 PM
Daniel.C wrote:

J'ai eu un cas semblable ce matin. Ca ne s'ex?
J'ai eu un cas semblable ce matin. Ca ne s'ex?cutait pas avec Excel
mais une macro en venait ? bout :

Sub Nettoyer()
Dim c As Range
Application.ScreenUpdating = False
For Each c In ActiveSheet.UsedRange
c.Value = WorksheetFunction.Clean(c.Value)
c.Value = WorksheetFunction.Trim(c.Value)
Next c
Application.ScreenUpdating = True
End Sub

Daniel

On Wednesday, February 03, 2010 7:44 PM
Modeste wrote:

Bonsour® rthompson avec ferveur ;o))) vous nous disiez : pour t'éviter
Bonsour® rthompson avec ferveur ;o))) vous nous disiez :


pour t'éviter la mise en place de shapes représentant le contour des communes
voici une alternative ( à toi de continuer de l'enrichir)
validée
- avec ma proc : click sur la shape de la commune
- avec la proc : WorkBookChange de Denis

http://www.cijoint.fr/cjlink.php?file=cj201002/cijakjF8nt.xls

@+

On Saturday, February 06, 2010 11:45 AM
rthompson wrote:

Bonjour DanielAvec tellemnt de retard que le rouge de la honte me monte au
Bonjour Daniel

Avec tellemnt de retard que le rouge de la honte me monte au visage

Permet moi de te dire


MERCI

Ta petite macro fait merveille


A bient?t

Rex


Submitted via EggHeadCafe - Software Developer Portal of Choice
How to display a Gravatar Image with 100 Percent Client Script Code
http://www.eggheadcafe.com/tutorials/aspnet/3c8a04cd-471e-48b7-8dcc-b0877c10ecb4/how-to-display-a-gravatar.aspx
Avatar
thomas erati
BeGraphic est LA solution gratuite qui correspond ? ce besoin.

De nombreux exemples sont pr?sent?s sur www.begraphic.com

On Wednesday, February 03, 2010 5:08 AM rthompson wrote:

Bonjour ? toutes et tous

Je suis ? nouveau plong? dans mon d?sir de cr?er une carte active
(Eh oui je sais, je suis con mais persistant)

Je voudrais savoir si il y a moyen de changer la couleur d'un objet suivant
la valeur d'une cellule


J'explique


Une forme dessinn?e et nomm?e Rixensart (comme par hasard)
Cette forme est plac?e sur une feuille nomm?e Wallonie (encore un hasard)

Sur une feuille nomm?e ENTREE (mais quelle immagination!) j'ai des donn?es
dans le style

Communes Revendeurs Utilisateurs Tableaux
Rixensart 1 5
14
etc 4 25
53


Et je voudrais que la forme "Rixensart" soit verte si on est ? moins de 10,
rouge si on est entre 11 et 20
Bleu si on est entre 21 et 30

Le tout par VBA, (j'en ai bien peur) et mise ? jour par bouton
Le dernier truc je pourrais le faire

Mais c'est la cr?ation des couleurs qui me chiffonne

C'est pas possible, hein? Mais si! (j'ai demand? ? la SNCF, mais il m'ont
dit que cette pub ?tait p?rim?)


A bient?t

Rex


On Wednesday, February 03, 2010 5:31 AM rthompson wrote:

Bonjpur ? toutes et tous

Quand je me relis je constate que c'est pas trop clair

Voici ce que j'ai

xxxxxxxxxxxxxxxxxxxxxxx
Sheets("Wallonie").Shapes("Rixensart").Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 5
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.Solid
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Eh! Vous avez remarqu? PAS DE SELECT!!!!! J'apprends!!!

Et ce que je voudrais, ce sont deux astuces
Une pour que la valeur de la couleur soit celle afficher dans une cellule
(D5 dans ce cas-ci)
Je calculerai la valeur de cette cellule par formule

Deuxi?me astuces
Comment faire pour que cela se passe pour toutes les formes de ma feuille?
En prenant bien sur le chiffre de couleur dans la colonne D sur la m?me
ligne que le nom de la forme

Oui, je sais ce n'est peut-?tre pas plus clair, mais j'essaie

A bient?t

Rex


"rthompson" a ?crit dans le message de


On Wednesday, February 03, 2010 6:12 AM Daniel.C wrote:

Bonjour.
Mets ce code dans le module de la feuille "ENTREE" en rempla?ant C2 par
la cellule ? tester :

Private Sub Worksheet_Calculate()
Sheets("Wallonie").Select
Set f = Sheets("ENTREE")
With ActiveSheet.Shapes.Range("Rixensart")
If f.[C2] <= 10 Then
.Fill.ForeColor.RGB = RGB(0, 176, 80)
ElseIf f.[C2] > 10 And f.[C2] <= 20 Then
.Fill.ForeColor.RGB = RGB(255, 0, 0)
ElseIf f.[C2] > 20 And f.[C2] <= 30 Then
.Fill.ForeColor.RGB = RGB(0, 176, 240)
End If
End With
End Sub

Daniel


On Wednesday, February 03, 2010 6:31 AM rthompson wrote:

Bonjour et merci Daniel

Voil? d?j? un pas dans la bonne direction

Et cela fonctionne MERCI

Maintenant la deuxi?me ?tape est la r?p?tition

En effet j'ai 255 formes sur Wallonie
Et dans ENTREE j'ai ces 255 noms

MAIS

Les valeurs attribu?es aux couleurs seront les m?mes pour tous

si on tiens compte du fait que le nom est dans la colonne N et la valeur de
ce nom en colonne O

Comment faire?

Peut-on dire que toutes les formes doivent suivre cette macro suivant la
valeur sur la m?me ligne?

Si toi, ou quelqu'un a une id?e

D'avance merci

Rex


On Wednesday, February 03, 2010 7:14 AM FFO wrote:

Salut ?? toi

1?? astuce :

Selection.ShapeRange.Fill.ForeColor.SchemeColor = Range("D5")


2?? astuce

For i = 1 To Sheets("Wallonie").Shapes.Count
Sheets("Wallonie").Shapes(i).Select
On Error Resume Next
Ligne = 0
Ligne = Cells.Find(What:=Sheets("Wallonie").Shapes(i).Name,
LookIn:=xlValues, LookAt:=xlWhole).Row
If Ligne <> 0 Then
Selection.ShapeRange.Fill.ForeColor.SchemeColor = Range("D" & Ligne)
Else
MsgBox("Le nom " & Sheets("Wallonie").Shapes(i).Name & " est inexistant")
End If
Next

Cel?? devrait faire

Dis moi !!!!!!


On Wednesday, February 03, 2010 7:16 AM Modeste wrote:

Bonsour® rthompson avec ferveur ;o))) vous nous disiez :


1 - Feuilles ENTREE
nommer les plages Communes et Tableaux
2 - Feuille WALLONIE
associer aux différentes shapes souhaitées la macro ci-dessous

Option Explicit

Sub ColorShape()
Dim myshape As Shape
Dim selectedshape As String
Dim myindex As Long
'------ retrieve selected shape name
selectedshape = Application.Caller
' ------retrieve current line from Communes
myindex = Application.Index([tableaux], >>>>>> Application.Match(selectedshape, [Communes], 0), 1)
MsgBox selectedshape & Chr(10) & myindex & " Tableaux"
'------- qualification of the correct shape to avoid physical selection
Set myshape = Sheets("Wallonie").Shapes(selectedshape)
With myshape.Fill
.Visible = msoTrue
.Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is >>>>>> schemecolor for blue
.ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, >>>>>> 10, 12))
End With

End Sub


On Wednesday, February 03, 2010 7:29 AM michdenis wrote:

Bonjour,

Quelques questions :

Dans ta colonne "Rixensart" est-ce que tu renseignes
ces valeurs manuellement ou as-tu des formules dans
ces cellules qui affichent le r?sultat ?

Veux-tu dire que tu as une "shape" dans la cellule de la
colonne D li?e ? la valeur de la cellule de la colonne A
sur la m?me ligne ?

Ce que tu veux comme r?sultat : Si la valeur en colonne A,
la shape en D prend une certaine couleur... c'est ?a ?




"rthompson" a ?crit dans le message de groupe de
Bonjour ? toutes et tous

Je suis ? nouveau plong? dans mon d?sir de cr?er une carte active
(Eh oui je sais, je suis con mais persistant)

Je voudrais savoir si il y a moyen de changer la couleur d'un objet suivant
la valeur d'une cellule


J'explique


Une forme dessinn?e et nomm?e Rixensart (comme par hasard)
Cette forme est plac?e sur une feuille nomm?e Wallonie (encore un hasard)

Sur une feuille nomm?e ENTREE (mais quelle immagination!) j'ai des donn?es
dans le style

Communes Revendeurs Utilisateurs Tableaux
Rixensart 1 5
14
etc 4 25
53


Et je voudrais que la forme "Rixensart" soit verte si on est ? moins de 10,
rouge si on est entre 11 et 20
Bleu si on est entre 21 et 30

Le tout par VBA, (j'en ai bien peur) et mise ? jour par bouton
Le dernier truc je pourrais le faire

Mais c'est la cr?ation des couleurs qui me chiffonne

C'est pas possible, hein? Mais si! (j'ai demand? ? la SNCF, mais il m'ont
dit que cette pub ?tait p?rim?)


A bient?t

Rex


On Wednesday, February 03, 2010 7:30 AM rthompson wrote:

Bonjour et merci

Je ne comprends pas tr?s bien la deuxi?me

Ou vas-tu chercher la valeur?
Que signifie tes Ligne et tes LookIn?

Je travail avec des plages nomm?es
mes Communes sont nomm?es EntreeCommunes
Et les valeurs EntreeTotal

A bient?t

Rex






On Wednesday, February 03, 2010 7:37 AM rthompson wrote:

Bonjnour Modeste

Ben cette fois-ci j'y comprends rien

Et c'est bien la premi?re fois que ta r?ponse me semble tellement
"n?buleuse"

Si j'affecte une macro ? un objet, je dois cliquer dessus pour qu'elle
agisse, non?

Alors que ce que je cherche ? faire et d'avoir une carte de Wallonie dont
les zones sont colori?es
en fonctions de leurs chiffres

Donc une macro g?n?rale affect?e ? un bouton


De toute fa?on merci pour ton aide

Et ? tr?s bient?t

Rex


Bonsour? rthompson avec ferveur ;o))) vous nous disiez :


1 - Feuilles ENTREE
nommer les plages Communes et Tableaux
2 - Feuille WALLONIE
associer aux diff?rentes shapes souhait?es la macro ci-dessous

Option Explicit

Sub ColorShape()
Dim myshape As Shape
Dim selectedshape As String
Dim myindex As Long
'------ retrieve selected shape name
selectedshape = Application.Caller
' ------retrieve current line from Communes
myindex = Application.Index([tableaux], Application.Match(selectedshape,
[Communes], 0), 1)
MsgBox selectedshape & Chr(10) & myindex & " Tableaux"
'------- qualification of the correct shape to avoid physical selection
Set myshape = Sheets("Wallonie").Shapes(selectedshape)
With myshape.Fill
.Visible = msoTrue
.Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor
for blue
.ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10,
12))
End With

End Sub


On Wednesday, February 03, 2010 7:42 AM Modeste wrote:

des

http://www.cijoint.fr/cjlink.php?file=cj201002/cijO5XxIOc.xls


On Wednesday, February 03, 2010 7:44 AM rthompson wrote:

Bonjour Michdenis

La valeur est calcul?e
Et les shapes sont sur une autres feuille dessin?es ? main lev?


Voici ce que j'aurais du faire au d?but

http://www.cijoint.fr/cjlink.php?file=cj201002/cijcoSHW79.xls

Un petit dessin vaut mieux qu'un long discours

Si tu y jette un oeil tu verras ce que je cherche ? faire et tu pourras me
r?pondre

Enfin j'esp?re

A bient?t

Rex





On Wednesday, February 03, 2010 7:44 AM rthompson wrote:

Voici le fichier

http://www.cijoint.fr/cjlink.php?file=cj201002/cijcoSHW79.xls

Rex

Bonsour? rthompson avec ferveur ;o))) vous nous disiez :


1 - Feuilles ENTREE
nommer les plages Communes et Tableaux
2 - Feuille WALLONIE
associer aux diff?rentes shapes souhait?es la macro ci-dessous

Option Explicit

Sub ColorShape()
Dim myshape As Shape
Dim selectedshape As String
Dim myindex As Long
'------ retrieve selected shape name
selectedshape = Application.Caller
' ------retrieve current line from Communes
myindex = Application.Index([tableaux], Application.Match(selectedshape,
[Communes], 0), 1)
MsgBox selectedshape & Chr(10) & myindex & " Tableaux"
'------- qualification of the correct shape to avoid physical selection
Set myshape = Sheets("Wallonie").Shapes(selectedshape)
With myshape.Fill
.Visible = msoTrue
.Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor
for blue
.ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10,
12))
End With

End Sub


On Wednesday, February 03, 2010 7:44 AM rthompson wrote:

Et voici le fichier

http://www.cijoint.fr/cjlink.php?file=cj201002/cijcoSHW79.xls

Rex





On Wednesday, February 03, 2010 7:49 AM rthompson wrote:

Bonjour et merci

Je comprends un peu mieux ce que tu me montres
Mais ce n'est pas le but recherch?

Je gardes ton fichier, il me servira j'en suis certains

Merci

J'ai post? mon fichier, tu l'as vu?

Rex




http://www.cijoint.fr/cjlink.php?file=cj201002/cijO5XxIOc.xls


On Wednesday, February 03, 2010 7:51 AM Modeste wrote:

Bonsour® rthompson avec ferveur ;o))) vous nous disiez :

alors simplement :

Sub ColorShape()
Dim myindex As Long
Dim c As Shape
For Each c In Sheets("Wallonie").Shapes
myindex = Application.Index([tableaux], Application.Match(c.Name, >>>>>>>>>>>>>>> [Communes], 0), 1)
With c.Fill
.Visible = msoTrue
.Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is >>>>>>>>>>>>>>> schemecolor for blue
.ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, >>>>>>>>>>>>>>> 10, 12))
End With
Next

End Sub


On Wednesday, February 03, 2010 8:06 AM Daniel.C wrote:

Quelle est la plage de cellules servant au coloriage ?


On Wednesday, February 03, 2010 8:21 AM Modeste wrote:

Bonsour® rthompson avec ferveur ;o))) vous nous disiez :


;o)))
beaucoup de boulot (creation des shapes et de manques ....
les noms de communes ne sont pas propres (présence d'espaces et >>>>>>>>>>>>>>>>> car(0160))
la shape Estampuis est crée mais il n'y a pas de commune Estampuis

Sub ColorShape()
Dim myindex As Long
Dim c As Shape
On Error GoTo suivant
For Each c In Sheets("Wallonie").Shapes
myindex = Application.Index([Totcommunes], >>>>>>>>>>>>>>>>> Application.Match(UCase(c.Name), [Communes], 0), 1)
With c.Fill
.Visible = msoTrue
.Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is >>>>>>>>>>>>>>>>> schemecolor for blue
.ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, >>>>>>>>>>>>>>>>> 10, 12))
End With
suivant:

Next

End Sub


On Wednesday, February 03, 2010 8:25 AM rthompson wrote:

Bonjour

Bien vu!!

Je viens de cr?er deux nouvelles plages

EntreeListeCommuneTotal pour les chiffres
EntreeListeCommuneTotal pour les noms des communes


Rex


On Wednesday, February 03, 2010 8:27 AM Daniel.C wrote:

Tu peux renvoyer le classeur ?
Daniel


On Wednesday, February 03, 2010 8:29 AM rthompson wrote:

Bonjour

Voici ton code avec mes plages nomm?es

xxxxxxxxxxxxxxxxxxxxxxxxxx
Sub ColorShape()
Dim myindex As Long
Dim c As Shape
For Each c In Sheets("Wallonie").Shapes
myindex = Application.Index([EntreeListeCommuneTotal],
Application.Match(c.Name, [EntreeListeCommune], 0), 1)
With c.Fill
.Visible = msoTrue
.Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor
for blue
.ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10,
12))
End With
Next

End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Et il me met Error 13 Type Mismatch

Que cherche-t-il?

Rex

Bonsour? rthompson avec ferveur ;o))) vous nous disiez :

alors simplement :

Sub ColorShape()
Dim myindex As Long
Dim c As Shape
For Each c In Sheets("Wallonie").Shapes
myindex = Application.Index([tableaux], Application.Match(c.Name,
[Communes], 0), 1)
With c.Fill
.Visible = msoTrue
.Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor
for blue
.ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10,
12))
End With
Next

End Sub


On Wednesday, February 03, 2010 8:30 AM FFO wrote:

Rebonjour ?? toi

Tu demandes :
Comment faire pour que cela se passe pour toutes les formes de ma feuille?
En prenant bien sur le chiffre de couleur dans la colonne D sur la m??me
ligne que le nom de la forme


Le nom de la form est donc dans une cellule dont on doit d??terminer la ligne

Je te propose :

Ligne = Cells.Find(What:=Sheets("Wallonie").Shapes(i).Name,
LookIn:=xlValues, LookAt:=xlWhole).Row


Je cherche dans la feuille le nom de la Shape
(What:=Sheets("Wallonie").Shapes(i).Name) je regarde les valeurs des cellules
(LookIn:=xlValues) et dans leur entier (LookAt:=xlWhole)
Je r??cup??re ainsi le num??ro de la ligne :

Ligne = Cells.Find(What:=Sheets("Wallonie").Shapes(i).Name,
LookIn:=xlValues, LookAt:=xlWhole).Row

Tu demandes :

Comment faire pour que cela se passe pour toutes les formes de ma feuille?

Je te propose:
d'effectuer la recherche des lignes sur l'ensemble des Shape avec la
variable i :

For i = 1 To Sheets("Wallonie").Shapes.Count

Ce qui donne le code au final

'Toutes les Shape
For i = 1 To Sheets("Wallonie").Shapes.Count
'Selection de la Shape
Sheets("Wallonie").Shapes(i).Select
On Error Resume Next
Ligne = 0
'Determination de la ligne de la cellule qui porte le nom de la Shape
Ligne = Cells.Find(What:=Sheets("Wallonie").Shapes(i).Name,
LookIn:=xlValues, LookAt:=xlWhole).Row
'Si la cellule est trouv?? je donne la couleur ?? la Shape en fonction de la
valeur colonne D de la m??me ligne
If Ligne <> 0 Then
Selection.ShapeRange.Fill.ForeColor.SchemeColor = Range("D" & Ligne)
'Sinon j'informe de l'absence du nom de la Shape dans la feuille
Else
MsgBox("Le nom " & Sheets("Wallonie").Shapes(i).Name & " est inexistant")
End If
Next


Est ce plus claire ainsi

Je crois avoir scrupuleusement r??pondu ?? ton cahier des charges

Dans la n??gative merci de m'expliquer

Dans l'attente de te lire


On Wednesday, February 03, 2010 8:32 AM rthompson wrote:

Y a qu'? demander

http://www.cijoint.fr/cjlink.php?file=cj201002/cij7RWsSr8.xls


Rex


On Wednesday, February 03, 2010 8:35 AM rthompson wrote:

Bonjour et merci

J'?tudie ta proposition

MAIS en attendant voici la derni?re version de mon fichier

http://www.cijoint.fr/cjlink.php?file=cj201002/cij7RWsSr8.xls

Rex





On Wednesday, February 03, 2010 8:41 AM FFO wrote:

Rebonjour ?? toi

Peux tu me dire dans ton document o?? je trouve ceci :

"En prenant bien sur le chiffre de couleur dans la colonne D sur la m??me
ligne que le nom de la forme"


La colonne D est desesp??r??ment vide !!!!!!

Il n'y a nulle par des noms de form

Je n'y comprend absolument rien

Merci de me sortir de cet ??pais brouillard


On Wednesday, February 03, 2010 8:55 AM michdenis wrote:

Je te propose ceci :

En supposant que tes shapes sont nomm?es suivant
le processus suivant :
Rixensart + et le num?ro de la ligne de la commune en colonne K
En K2 : la commune est Alleur : Nom Shape : Rixenart2
En K3 : La commune est Amay : Nom Shape : Rixenart3
ainsi de suite...

Tu copies ceci dans la feuille module o? s'affiche
le r?sultat de tes donn?es "Sheet2"
? chaque fois que tu vas modifier tes donn?es dans les colonnes
F, G ou H en Sheet2, s'il y a lieu, la couleur de la shape associ?e
va changer de couleur...

'-------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, R As Range, X As Integer
Set Rg = Intersect(Range("F2:H" & _
Range("K65536").End(xlUp).Row), Target)
If Not Rg Is Nothing Then
For Each R In Rg.Rows
X = R.Row
Select Case Range("H" & X).Value
Case Is <= 10
couleur = vbGreen
Case Is <= 20
couleur = vbRed
Case Is <= 30
couleur = vbBlue
End Select
With Sheet1
.Shapes("Rixensart" & X - 1).Fill.ForeColor.RGB = couleur
End With
Next
End If
End Sub
'-------------------------------------------




"rthompson" a ?crit dans le message de groupe de discussion
Bonjour Michdenis

La valeur est calcul?e
Et les shapes sont sur une autres feuille dessin?es ? main lev?


Voici ce que j'aurais du faire au d?but

http://www.cijoint.fr/cjlink.php?file=cj201002/cijcoSHW79.xls

Un petit dessin vaut mieux qu'un long discours

Si tu y jette un oeil tu verras ce que je cherche ? faire et tu pourras me
r?pondre

Enfin j'esp?re

A bient?t

Rex





On Wednesday, February 03, 2010 9:01 AM Daniel.C wrote:

Fais attention aux noms de commune, il y a des espaces avant et par?s
le nom, notamment pour Rixensart, ce qui fausse les calculs.
Daniel


On Wednesday, February 03, 2010 9:09 AM rthompson wrote:

Bonjour

Le chiffre de la couleur a boug? depuis ce matin et ce trouve P
MAIS il ne s'agit pas du chiffre couleur EXCEL mais du total
Et je voudrais avoir une couleur diff?rente pour des quantit? entre 0 et 10;
11 et 20; 21 et 30; etc

Les noms des formes sont d?finis lors de leur cr?ations en indiquant le nom
dans la case au dessus de A1
Et ces noms sont des noms de communes qui se trouve dans la colonne O
Ces deux info sont des plages nomm?es EntreeListeCommuneTotal et
EntreeListeCommune

MAIS je viens de constater une erreur de ma part
Et copiant les noms de communes il y a chaque fois un espace devant
Donc je suis entrain de corriger cela

Pour le moment toutes les formes ne sont pas encore cr?es,
je voudrais savoir si cela fonctionne avant d'y passer des heures

Ai-je allum? un tout petit peu tes phares anti-brouillard?

Dis-moi quoi et je r?agis

En tous les cas merci de t'int?resser ? mon cas

Rex











On Wednesday, February 03, 2010 9:25 AM Daniel.C wrote:

Regarde le classeur ci-dessous. le changement de couleur se produit
quand tu entres une valeur dans les colonnes G, H ou I. Pour Rixensart
(B55), entre une valeur diff?rente des valeurs pr?sentes et la carte
est actualis?e :

http://cjoint.com/?cdps5iRVsU

Daniel


On Wednesday, February 03, 2010 9:29 AM michdenis wrote:

J'ai apport? une correction suite ? une meilleure
compr?hension de la pr?sentation de tes donn?es !

'---------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, R As Range, X As Integer
Dim Commune As String, Ligne As Integer
Set Rg = Intersect(Range("F2:H" & _
Range("K65536").End(xlUp).Row), Target)
If Not Rg Is Nothing Then
For Each R In Rg.Rows
X = R.Row
Commune = Application.Index(Range("B:B"), X)
Ligne = Application.Match(Commune, Range("K:K"), 1)
Select Case Range("H" & Ligne).Value
Case Is <= 10
couleur = vbGreen
Case Is <= 20
couleur = vbRed
Case Is <= 30
couleur = vbBlue
End Select

With Sheet1
.Shapes("Rixensart" & Ligne).Fill.ForeColor.RGB = couleur
End With
Next
End If
End Sub
'---------------------------------------------



Je te propose ceci :

En supposant que tes shapes sont nomm?es suivant
le processus suivant :
Rixensart + et le num?ro de la ligne de la commune en colonne K
En K2 : la commune est Alleur : Nom Shape : Rixenart2
En K3 : La commune est Amay : Nom Shape : Rixenart3
ainsi de suite...

Tu copies ceci dans la feuille module o? s'affiche
le r?sultat de tes donn?es "Sheet2"
? chaque fois que tu vas modifier tes donn?es dans les colonnes
F, G ou H en Sheet2, s'il y a lieu, la couleur de la shape associ?e
va changer de couleur...

'-------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, R As Range, X As Integer
Set Rg = Intersect(Range("F2:H" & _
Range("K65536").End(xlUp).Row), Target)
If Not Rg Is Nothing Then
For Each R In Rg.Rows
X = R.Row
Select Case Range("H" & X).Value
Case Is <= 10
couleur = vbGreen
Case Is <= 20
couleur = vbRed
Case Is <= 30
couleur = vbBlue
End Select
With Sheet1
.Shapes("Rixensart" & X - 1).Fill.ForeColor.RGB = couleur
End With
Next
End If
End Sub
'-------------------------------------------




"rthompson" a ?crit dans le message de groupe de discussion
Bonjour Michdenis

La valeur est calcul?e
Et les shapes sont sur une autres feuille dessin?es ? main lev?


Voici ce que j'aurais du faire au d?but

http://www.cijoint.fr/cjlink.php?file=cj201002/cijcoSHW79.xls

Un petit dessin vaut mieux qu'un long discours

Si tu y jette un oeil tu verras ce que je cherche ? faire et tu pourras me
r?pondre

Enfin j'esp?re

A bient?t

Rex


On Wednesday, February 03, 2010 9:59 AM FFO wrote:

Rebonjour ?? toi

"Le chiffre de la couleur a boug?? depuis ce matin et ce trouve P"

D??sol?? je ne trouve absolument rien en colonne P dans ton document fourni


"Les noms des formes sont d??finis lors de leur cr??ations en indiquant le nom
dans la case au dessus de A1"

Il serait bon de nous transmettre un exemple ficel?? pour que l'on comprenne
et adapte nos propositions

"Pour le moment toutes les formes ne sont pas encore cr??es,
je voudrais savoir si cela fonctionne avant d'y passer des heures"

Un exemple ou deux serait salutaire pour tester nos propositions et certain
de bien r??pondre ?? ton besoin


Dans l'attente d'un exemplaire complet pour mieux te r??pondre


On Wednesday, February 03, 2010 9:59 AM Daniel.C wrote:

Erratum.
Lire :
Pour Rixensart (C55)
au lieu de :
Pour Rixensart (B55)
Daniel


On Wednesday, February 03, 2010 10:00 AM rthompson wrote:

Bonjour

Cette fois on avance

Cela r?agit mais les formes deviennent VERT

Quelle que soit le chiffre
Dons ? mon avis il faut changer cette partie-ci
xxxxxxxxxxxxxxxxxxxxxxx
Select Case Range("H" & X).Value
Case Is <= 10
couleur = vbGreen
Case Is <= 20
couleur = vbRed
Case Is <= 30
couleur = vbBlue


xxxxxxxxxxxxxxxxxxxxxx
Comment fait-on pour dire que le montant est entre 11 et 20 par exemple

A bient?t

Rex


On Wednesday, February 03, 2010 10:11 AM michdenis wrote:

As-tu utilis? la derni?re version que j'ai publi?e?

| Cela r?agit mais les formes deviennent VERT

Peu importe la valeur dans la cellule de cette
colonne Range("H" & Ligne).Value ?


On Wednesday, February 03, 2010 10:12 AM rthompson wrote:

Bonjour

Voici la version actuelle

Rex

http://www.cijoint.fr/cjlink.php?file=cj201002/cijQ8VAI9B.xls





On Wednesday, February 03, 2010 10:17 AM rthompson wrote:

Ben oui

http://www.cijoint.fr/cjlink.php?file=cj201002/cijQ8VAI9B.xls

Voici la version que j'utilise actuellement

Rex


On Wednesday, February 03, 2010 10:23 AM rthompson wrote:

Bonjour et merci

Cela fonctionne

MAIS
Je dois absolument m'absenter pour quelques heures

Je te r?ponds tout ? l'heure

Rex


On Wednesday, February 03, 2010 10:25 AM rthompson wrote:

Bonjour

OUI OUI OUI

Je sais que la petite aide m?nag?re dois passer faire le m?nage

Je dois m'absenter quelques heures j'y travail tant?t et je te tiens au
courant

Rex


Bonsour? rthompson avec ferveur ;o))) vous nous disiez :


;o)))
beaucoup de boulot (creation des shapes et de manques ....
les noms de communes ne sont pas propres (pr?sence d'espaces et car(0160))
la shape Estampuis est cr?e mais il n'y a pas de commune Estampuis

Sub ColorShape()
Dim myindex As Long
Dim c As Shape
On Error GoTo suivant
For Each c In Sheets("Wallonie").Shapes
myindex = Application.Index([Totcommunes], Application.Match(UCase(c.Name),
[Communes], 0), 1)
With c.Fill
.Visible = msoTrue
.Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor
for blue
.ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10,
12))
End With
suivant:

Next

End Sub


On Wednesday, February 03, 2010 10:31 AM michdenis wrote:

| Voici la version que j'utilise actuellement

D?sol?, s'il doit y avoir des modifications ? faire
suite ? ta pr?sente version, c'est ? toi de le faire !
je t'ai donn? l'id?e de base !


On Wednesday, February 03, 2010 12:51 PM rthompson wrote:

Et je t'en remercie

Je commence ? avoir une id?e de la piste que je vais suivre

A bient?t

Rex


On Wednesday, February 03, 2010 1:21 PM Modeste wrote:

Bonsour® rthompson avec ferveur ;o))) vous nous disiez :


tu ne peux utiliser la colonne C (plage nommée [EntreeCommune]) pour >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> faire une recherche efficace :
il y a des doublons !!!!!

il faut utiliser les colonnes L et M
après avoir nettoyé les espaces superfétatoires et car(0160)

http://www.cijoint.fr/cjlink.php?file=cj201002/cijx30boTF.xls


On Wednesday, February 03, 2010 2:34 PM michdenis wrote:

| tu ne peux utiliser la colonne C (plage nomm?e
| [EntreeCommune]) pour faire une recherche efficace :
| il y a des doublons !!!!!

A ) Lorsqu'il saisit une donn?e dans une des colonnes G, H ou I
En utilisant l'?v?nement Worksheet_Change, il r?cup?re
le num?ro de la ligne du target.
En utilisant la formule Index(C:C,Ligne) , il va obtenir le nom
de la commune ou il vient d'effectuer une modification.

B ) dans un deuxi?me temps, equiv(nom_commune;L:L;1) donne la
ligne ou la somme de la commune affect?e par la modification.

C ) s'il y a une correspondance entre le nom (l'index) de la shape et
la ligne de la commune en L:L , ce sera suffisant pour affecter seulement
la bonne couleur ? cette shape.

D ) Cette fa?on de faire permet de boucler sur chacune des lignes qu'un
utilisateur peut modifier : Exemple : supprime les donn?es de 2 lignes
en m?me temps....


il faut utiliser les colonnes L et M
apr?s avoir nettoy? les espaces superf?tatoires et car(0160)

http://www.cijoint.fr/cjlink.php?file=cj201002/cijx30boTF.xls


On Wednesday, February 03, 2010 2:42 PM rthompson wrote:

Bonsoir

Avant m?me de regarder de plus pr?s ta proposition
et avant que je ne l'oublie

Comment as-tu fais pour supprimer tous les espaces des noms de communes

Quand moi j'ai fais un Replace cela n'a pas fonctionn?

As tant?t

Rex

PS
Pour le reste je suis encore occup?




Bonsour? rthompson avec ferveur ;o))) vous nous disiez :


tu ne peux utiliser la colonne C (plage nomm?e [EntreeCommune]) pour faire
une recherche efficace :
il y a des doublons !!!!!

il faut utiliser les colonnes L et M
apr?s avoir nettoy? les espaces superf?tatoires et car(0160)

http://www.cijoint.fr/cjlink.php?file=cj201002/cijx30boTF.xls


On Wednesday, February 03, 2010 2:49 PM michdenis wrote:

Dans la fen?tre Rechercher/Remplacer

Dans la case Rechercher : en tenant la touche Alt enfonc?e ? gauche
de la barre d'espacement , tu tapes, 0160... lorsque tu rel?cheras
un espace sera ajout?. Dans la case remplacer, tu la laisses totalement
vide.



"rthompson" a ?crit dans le message de groupe de discussion
Bonjour

OUI OUI OUI

Je sais que la petite aide m?nag?re dois passer faire le m?nage

Je dois m'absenter quelques heures j'y travail tant?t et je te tiens au
courant

Rex


Bonsour? rthompson avec ferveur ;o))) vous nous disiez :


;o)))
beaucoup de boulot (creation des shapes et de manques ....
les noms de communes ne sont pas propres (pr?sence d'espaces et car(0160))
la shape Estampuis est cr?e mais il n'y a pas de commune Estampuis

Sub ColorShape()
Dim myindex As Long
Dim c As Shape
On Error GoTo suivant
For Each c In Sheets("Wallonie").Shapes
myindex = Application.Index([Totcommunes], Application.Match(UCase(c.Name),
[Communes], 0), 1)
With c.Fill
.Visible = msoTrue
.Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor
for blue
.ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10,
12))
End With
suivant:

Next

End Sub


On Wednesday, February 03, 2010 3:37 PM rthompson wrote:

Ben non

Il me met le m?me message d'erreur que si j'y mets juste un espace

Il n'y a pas de donn?es ? remplacer

Et il y en a des espaces dans les cellules

Et cela m?me si je s?lectionne toute la feuille ou une seule cellule

Bizarre, bizarre

Si tu as une id?e????????


Mais pour le reste je vais faire une r?ponse g?n?rale dans une minute

Rex





On Wednesday, February 03, 2010 3:40 PM rthompson wrote:

Bonsoir ? tous et toutes

Mis ? part le petit souci d'espace

Avec toutes les infos que j'ai pris ? l'un et ? l'autre
je crois pouvoir s?rieusement avancer dans ce fichier

Je vous remercie tous et nous nous retrouverons certainement tr?s bient?t

Mais en attendant je vais essayer d'avancer tout seul COMME UN GRAND


A tr?s bient?t

Rex


On Wednesday, February 03, 2010 3:41 PM rthompson wrote:

Bonsoir ? tous et toutes

Mis ? part le petit souci d'espace

Avec toutes les infos que j'ai pris ? l'un et ? l'autre
je crois pouvoir s?rieusement avancer dans ce fichier

Je vous remercie tous et nous nous retrouverons certainement tr?s bient?t

Mais en attendant je vais essayer d'avancer tout seul COMME UN GRAND


A tr?s bient?t

Rex





On Wednesday, February 03, 2010 3:41 PM rthompson wrote:

Bonsoir ? tous et toutes

Mis ? part le petit souci d'espace

Avec toutes les infos que j'ai pris ? l'un et ? l'autre
je crois pouvoir s?rieusement avancer dans ce fichier

Je vous remercie tous et nous nous retrouverons certainement tr?s bient?t

Mais en attendant je vais essayer d'avancer tout seul COMME UN GRAND


A tr?s bient?t

Rex


Bonsour? rthompson avec ferveur ;o))) vous nous disiez :


;o)))
beaucoup de boulot (creation des shapes et de manques ....
les noms de communes ne sont pas propres (pr?sence d'espaces et car(0160))
la shape Estampuis est cr?e mais il n'y a pas de commune Estampuis

Sub ColorShape()
Dim myindex As Long
Dim c As Shape
On Error GoTo suivant
For Each c In Sheets("Wallonie").Shapes
myindex = Application.Index([Totcommunes], Application.Match(UCase(c.Name),
[Communes], 0), 1)
With c.Fill
.Visible = msoTrue
.Solid
'------- immediate IF
'------- 10 is lower value, 11 is schemeColor for green
'------- 20 is higher value, 10 is schemecolor for red, 12 is schemecolor
for blue
.ForeColor.SchemeColor = IIf(myindex < 10, 11, IIf(myindex < 20, 10,
12))
End With
suivant:

Next

End Sub


On Wednesday, February 03, 2010 3:41 PM rthompson wrote:

Bonsoir ? tous et toutes

Mis ? part le petit souci d'espace

Avec toutes les infos que j'ai pris ? l'un et ? l'autre
je crois pouvoir s?rieusement avancer dans ce fichier

Je vous remercie tous et nous nous retrouverons certainement tr?s bient?t

Mais en attendant je vais essayer d'avancer tout seul COMME UN GRAND


A tr?s bient?t

Rex






On Wednesday, February 03, 2010 3:42 PM Daniel.C wrote:

J'ai eu un cas semblable ce matin. Ca ne s'ex?cutait pas avec Excel
mais une macro en venait ? bout :

Sub Nettoyer()
Dim c As Range
Application.ScreenUpdating = False
For Each c In ActiveSheet.UsedRange
c.Value = WorksheetFunction.Clean(c.Value)
c.Value = WorksheetFunction.Trim(c.Value)
Next c









































2 3 4 5 6