insertion couleur forme suivant

  • Initiateur de la discussion fred61
  • Date de début
F

fred61

Guest
bonjour,
j'aimerais pouvoir changer de couleur une forme suivant que dans la feuil1 il y ait marquer un 1 ou pas


je ne me suis peut etre mal expliquer c'est pourquoije vous met une PJ [file name=demonstration_20060522173713.zip size=5599]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/demonstration_20060522173713.zip[/file]
 

Pièces jointes

  • demonstration_20060522173713.zip
    5.5 KB · Affichages: 23

Hervé

XLDnaute Barbatruc
bonjour fred

une proposition en piece jointe

j'ai choisi de nommer les ronds (fred,pascal...) pense à le faire dans ton fichier original.

salut [file name=demonstration1_20060522180705.zip size=9823]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/demonstration1_20060522180705.zip[/file]
 

Pièces jointes

  • demonstration1_20060522180705.zip
    9.6 KB · Affichages: 27
F

fred61

Guest
bonjour mr herve
c'est excatement ce que je voulais faire
merci encore
par contre je ne sais pas comment tu as fait?
est ce que je pourrais avoir une tuto de ce que tu as fait car j'ai essayer de voir mais rien a faire c'est le trou noir

en te remerciant par avance pour ton coup de main
 

ThomasR

XLDnaute Occasionnel
Bonsoir,

Je ne pense pas pouvoir l'expliquer mieux que Herné, mais je vais essayer de t'avancer.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sh As Shape
Dim c As Range

If Target.Column = 1 Then
    For Each sh In Sheets('feuil2').Shapes
       If sh.Type = 1 Then
            sh.Fill.Solid
            sh.Fill.ForeColor.SchemeColor = 10
        End If
    Next sh
    
    On Error Resume Next
    
    For Each c In Range('a1:a' & Range('a65536').End(xlUp).Row)'pour chaque cellule de A1 à A & la derniere ligne saisie
        If c = 1 Then ' si la cellule contient 1
            With Sheets('feuil2').Shapes(c.Offset(0, 1)) ' pour le cercle qui ce nomme ce qui ce trouve dans la cellue 'b' de la feuille 1
                .Fill.Solid
                .Fill.ForeColor.SchemeColor = 17
            End With
        End If
    Next c
End If


End Sub
pour moi la premiere boucle sert à initialiser la couleur de tous les cercles de la feuille 2 (à rouge)

puis la seconde boucle est la pour colorer le cercle qui porte le nom qui ce trouve en colonne 'B' en Vert
en bref pour toi il faut copier les cercles puis leurs donner un nom (a gauche de la barre de formule (ou ce trouve ellips...))
puis les ajouter dans la feuille 1 comme la fait hervé.

PS: reprend moi Hervé si j'ai faux
 
F

fred

Guest
bonjour,
une derniere question si la liste de nom est dans la 4em colonne et les chiffre 1 dans la colonne 3 ou change t-on cela dans le code??

apres promis j'arrete de vous enbeter

et merci encore
 

Hervé

XLDnaute Barbatruc
bonjour tout le monde,
bises à la tata josette de charly

tu ne nous ennuies pas fred, on est là pour aider.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim sh As Shape
Dim c As Range

If Target.Column = 3 Then
       
For Each sh In Sheets('feuil2').Shapes
           
If sh.Type = 1 Then
                        sh.Fill.Solid
                        sh.Fill.ForeColor.SchemeColor = 10
               
End If
       
Next sh
       
       
On Error Resume Next
       
       
For Each c In Range('c1:c' & Range('c65536').End(xlUp).Row)
               
If c = 1 Then
                       
With Sheets('feuil2').Shapes(c.Offset(0, 1))
                                .Fill.Solid
                                .Fill.ForeColor.SchemeColor = 17
                       
End With
               
End If
       
Next c
End If


End Sub

salut
 

Statistiques des forums

Discussions
311 721
Messages
2 081 928
Membres
101 842
dernier inscrit
seb0390