Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel > Forum spécial EXCEL 2007


Réponse
 
LinkBack Outils de la discussion
Vieux 24/11/2007, 16h38   #1 (permalink)
JJ1
XLDnaute Impliqué
 
Date d'inscription: juillet 2006
Messages: 923
Par défaut mise en forme

Bonjour
Savez-vous s'il est possible de "cercler" un nombre (par ex) dans une cellule Excel? par ex 6 et le 6 est entouré dans la cellule (il existe bien : souligné)
merci
Bon samedi
JJ1 est déconnecté   Réponse avec citation
ANNONCES
Vieux 24/11/2007, 17h19   #2 (permalink)
XLDnaute Barbatruc
 
Avatar de jeanpierre
 
Date d'inscription: février 2005
Localisation: Sortie ouest Le mans 6 km
Version Excel : Excel 2000 (PC)
Messages: 7 990
Par défaut Re : mise en forme

Bonjour JJ1, re à tous,

Sous Excel, ce n'est pas prévu, mais tu peux utiliser l'enregistreur de macro qui va te donner ceci, ou quelque chose d'approchant :

Sub tontruc()
ActiveSheet.Shapes.AddShape(msoShapeOval, 236.25, 42#, 67.5, 27.75).Select
End sub

Ensuite, reste à programmer pour que la chose se mette en place... s'il y a des conditions, sinon à chaque valeur, tu lances ta macro, en passant par la cellule active....

L'enregistreur, en tous cas.... bonne école....

Bon WE.

Jean-Pierre

Edit : Sous 2007, je ne sais pas si c'est prévu.....
__________________
En toutes circonstances, il faut savoir juger jusqu'où on peut aller trop loin.

Si vous êtes satisfait des réponses qui vous sont données. Si vous souhaitez que cette énorme base de connaissance Excel puisse vous accompagner longtemps encore....

Aidez-la.


C'est ici : http://www.excel-downloads.com/forum...orter-xld.html

Dernière modification par jeanpierre ; 24/11/2007 à 17h22.
jeanpierre est déconnecté   Réponse avec citation
Vieux 25/11/2007, 00h00   #3 (permalink)
XLDnaute Impliqué
 
Avatar de fred65200
 
Date d'inscription: septembre 2007
Localisation: BAGNÈRES DE BIGORRE
Version Excel : Excel 2007 (PC)
Messages: 699
Par défaut Re : mise en forme

Bonsoir jeanpierre, JJ1

Malheureusement l'enregistreur de macro sur 2007, n'enregistre rien pour l'insertion de forme.

une autre méthode consiste à remplacer les 6 par des .

Code:
Sub SixEnRouge()

'Attention : les valeurs de cellules avec  ne seront plus considérées comme numériques.

Dim i As Integer
Dim C As Range
Dim TP As Byte
For Each C In Selection ' à adapter
  'remplace les 6 par le caractère unicode 6 cerclé  
  C = Replace(C, 6, ChrW(&H2465))  'ChrW(9317) = ChrW(&H2465), le &H indique une valeur héxadécimale
  TP = C.Font.Size + 1 'agrandissement de la police pour les 
  For i = 1 To Len(C)
    'on mets les  en gras rouge et on augmente la taille de police d'un point
    If Mid(C, i, 1) = ChrW(9317) Then
      C.Characters(Start:=i, Length:=1).Font.Bold = True
      C.Characters(Start:=i, Length:=1).Font.ColorIndex = 3
      C.Characters(Start:=i, Length:=1).Font.Size = TP
    End If
  Next i
Next C

End Sub
cordialement
__________________
fred65200

Dernière modification par fred65200 ; 25/11/2007 à 00h08.
fred65200 est déconnecté   Réponse avec citation
Vieux 25/11/2007, 00h53   #4 (permalink)
XLDnaute Barbatruc
 
Avatar de Spitnolan08
 
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 267
Par défaut Re : mise en forme

Bonsoir JJ1, jeanpierre, Fred65200,

JJ1 ne parle pas de macro dans son post... Ou alors vous avez des infos que je n'ai pas

Donc premièrement sans macro :
Insertion/Caractères spéciaux/Symboles
Police = Wingdings1 ou Wingdings2
Puis parcourir les caractères proposés : tu as toute la panoplie

Deuxièmement toujours sans macro :
Taper un 6 dans une cellule
Puis insérer une forme à l'aide de forme automatiques/Formes de base et choisir le rond puis le placer au dessus du 6 et le dimensionner.
Clic droit sur la forme puis onglet couleurs et traits : mettre la transparence à 100%
C'est la seule solution des trois proposées qui te permet d'utiliser le 6 en valeur numérique.

Troisièmement par macro, un peu plus court et basique que Fred65200. (Nota : seule la police Wingdings2 convient)
Code:
Sub Sixercle()
'Inscrit un 6 cerclé en rouge dans la cellule active
    ActiveCell.FormulaR1C1 = "o"
    With ActiveCell.Characters(Start:=1, Length:=1).Font
        .Name = "Wingdings 2"
        .FontStyle = "Normal"
        .Size = 12
        .ColorIndex = 3
    End With
End Sub
Cordialement
__________________
Ne pas oublier d'effectuer une recherche dans les pages "questions-les-plus-frequentes-faq-et-didacticiels" avant de poser une question.
La réponse s'y trouve bien souvent.

Dernière modification par Spitnolan08 ; 25/11/2007 à 00h57.
Spitnolan08 est déconnecté   Réponse avec citation
Vieux 25/11/2007, 01h11   #5 (permalink)
XLDnaute Barbatruc
 
Avatar de jeanpierre
 
Date d'inscription: février 2005
Localisation: Sortie ouest Le mans 6 km
Version Excel : Excel 2000 (PC)
Messages: 7 990
Par défaut Re : mise en forme

Re, Bonsoir Fred, bonsoir Spit,

Certes, il ne parle pas de macro, mais sans, cela reste un peu beaucoup de manip...,
Non ?

Vrai qu'il reste la ou les police(s) Wingdings1 ou Wingdings2... Ben je n'y avais pas pensé....

Pour vous souhaiter bonne nuit.

Jean-Pierre
__________________
En toutes circonstances, il faut savoir juger jusqu'où on peut aller trop loin.

Si vous êtes satisfait des réponses qui vous sont données. Si vous souhaitez que cette énorme base de connaissance Excel puisse vous accompagner longtemps encore....

Aidez-la.


C'est ici : http://www.excel-downloads.com/forum...orter-xld.html
jeanpierre est déconnecté   Réponse avec citation
Vieux 25/11/2007, 01h39   #6 (permalink)
XLDnaute Barbatruc
 
Avatar de Spitnolan08
 
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 267
Par défaut Re : mise en forme

Re,

Pour faire plaisir à jeanpierre, une 4ème (cinquième en comptant celle de Fred) proposition par macro. Elle place un 6 cerclé au centre de la cellule active et peut être facilement adapté à d'autres cas de figure.
Code:
Sub Sicercle()
 Dim Tsh As String, Rsh As String
Dim Tf, Lf, Wf, Hf, Ti, Li, Rh, Rw As Double
Dim Cel As Range

Set Cel = ActiveCell
Wi = 11.25  '***Convient à une police 8
Hi = 11.25

 '***Détermine les caractéristiques de la cellule de réception de l'image
Tf = Cel.Top
Lf = Cel.Left
Wf = Cel.Width
Hf = Cel.Height

Ti = Lf + Wf / 2 - Hi / 2
Li = Tf + Hf / 2 - Wi / 2

'***Insère une zone de texte avec un 6
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, Ti, Li, Wi, Hi).Select
    With Selection
        .Characters.Text = "6"
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
    End With
Tsh = Selection.Name
    With Selection.Characters(Start:=1, Length:=1).Font
        .Name = "Arial"
        .FontStyle = "Normal"
        .Size = 8
    End With
    With Selection.ShapeRange
        .Fill.ForeColor.SchemeColor = 65
        .Fill.Transparency = 1#
        .Line.Transparency = 1#
        .Line.Visible = msoFalse
    End With
    
 '***Insère un rond
ActiveSheet.Shapes.AddShape(msoShapeOval, Ti, Li, Wi, Hi).Select
Rsh = Selection.Name
    With Selection.ShapeRange
        .Fill.Transparency = 1#
        .Line.Visible = msoTrue
        .Line.ForeColor.SchemeColor = 10
        .Line.BackColor.RGB = RGB(255, 255, 255) '***ligne en rouge
    End With
    
 '***Aligne les deux formes (Normalement superfétatoire)
ActiveSheet.Shapes.Range(Array(Tsh, Rsh)).Select
Selection.ShapeRange.Align msoAlignMiddles, False
Selection.ShapeRange.Align msoAlignCenters, False
End Sub
__________________
Ne pas oublier d'effectuer une recherche dans les pages "questions-les-plus-frequentes-faq-et-didacticiels" avant de poser une question.
La réponse s'y trouve bien souvent.
Spitnolan08 est déconnecté   Réponse avec citation
Vieux 25/11/2007, 02h13   #7 (permalink)
XLDnaute Barbatruc
 
Avatar de Spitnolan08
 
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 267
Par défaut Re : mise en forme

Re,

J'ai essayé de supprimer la selection des 2 formes automatiques mais n'y suis pas arrivé pour la 1ère... Par contre j'ai supprimé la dernière partie du code précédent qui n'avait plus lieu d'être.
Code:
Sub Sicercle()
 Dim Tsh As String, Rsh As String
Dim Tf, Lf, Wf, Hf, Ti, Li, Rh, Rw As Double
Dim Cel As Range

Set Cel = ActiveCell
Wi = 11.25  '***Convient à une police 8
Hi = 11.25

'***Détermine les caractéristiques de la cellule de réception de l'image
Tf = Cel.Top
Lf = Cel.Left
Wf = Cel.Width
Hf = Cel.Height

Ti = Lf + Wf / 2 - Hi / 2
Li = Tf + Hf / 2 - Wi / 2

'***Insère une zone de texte avec un 6
Tsh = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, Ti, Li, Wi, Hi).Name
    ActiveSheet.Shapes(Tsh).Select
    With Selection
        .Characters.Text = "6"
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        With .Characters(Start:=1, Length:=1).Font
            .Name = "Arial"
            .FontStyle = "Normal"
            .Size = 8
        End With
        With .ShapeRange
            .Fill.ForeColor.SchemeColor = 65
            .Fill.Transparency = 1#
            .Line.Transparency = 1#
            .Line.Visible = msoFalse
        End With
    End With
    
 '***Insère un rond
Rsh = ActiveSheet.Shapes.AddShape(msoShapeOval, Ti, Li, Wi, Hi).Name
    With ActiveSheet.Shapes(Rsh)
        .Fill.Transparency = 1#
        .Line.Visible = msoTrue
        .Line.ForeColor.SchemeColor = 10
        .Line.BackColor.RGB = RGB(255, 255, 255) '***ligne en rouge
    End With
    
End Sub
Bonne nuit.
__________________
Ne pas oublier d'effectuer une recherche dans les pages "questions-les-plus-frequentes-faq-et-didacticiels" avant de poser une question.
La réponse s'y trouve bien souvent.
Spitnolan08 est déconnecté   Réponse avec citation
Vieux 25/11/2007, 02h19   #8 (permalink)
XLDnaute Impliqué
 
Avatar de fred65200
 
Date d'inscription: septembre 2007
Localisation: BAGNÈRES DE BIGORRE
Version Excel : Excel 2007 (PC)
Messages: 699
Par défaut Re : mise en forme

bonsoir à tous
une autre proposition d'après une macro que j'ai écrite sur un autre forum il y a quelque temps.

Place un dans le coin supérieur gauche des cellule contenant un 6
Code:
Option Explicit
' Chemin du SixRouge à adapter
Private Const GifImage As String = "C:\Users\Fred\Desktop\6.gif"
Sub SixRouge()
Dim i As Integer
Dim C As Range
Dim monTab As Variant
Dim Sh As Shape

monTab = Array()

' suppression des shapes de la feuille, à adapter si tu as déjà des shapes hormis les SixRouges
For Each Sh In ActiveSheet.Shapes
Sh.Delete
Next

For Each C In Selection ' à adapter
  'recherche des cellules contenant un 6
  If InStr(1, C, 6) > 0 Then
    'insertion des adresses dans un tableau
    ReDim Preserve monTab(UBound(monTab) + 1)
    monTab(UBound(monTab)) = C.Address
  End If
Next C
' insertion des SixRouges
For i = 0 To UBound(monTab)
  InsererSixRouge monTab(i)
Next
End Sub
' procédure pour insérer les SixRouges dans le coin supérieur gauche des cellules.
Sub InsererSixRouge(Adresse As Variant)
Dim SixRouge As Object
Set SixRouge = ActiveSheet.Pictures.Insert(GifImage)
Dim T As Long
Dim L As Long
T = Range(Adresse).Top
L = Range(Adresse).Left
SixRouge.Top = T
SixRouge.Left = L
Set SixRouge = Nothing
End Sub
tu trouveras un six cerclé de rouge en suivant le lien

cordialement
__________________
fred65200

Dernière modification par fred65200 ; 25/11/2007 à 02h22.
fred65200 est déconnecté   Réponse avec citation
Vieux 25/11/2007, 09h07   #9 (permalink)
JJ1
XLDnaute Impliqué
 
Date d'inscription: juillet 2006
Messages: 923
Par défaut Re : mise en forme

Bonjour à tous et surtout merci, c'est très interressant.
Je ne sais pas quelle solution adopter:
La mise en forme est prévu dans le cadre d'une condition SI:
j'ai une ligne de 10 cellules par ex:
En A20:
=SI(toto>titi;A1;"")
Si condition VRAI alors la valeur de A1 apparaîtra en A20 cerclée.
Le top serait de pouvoir cercler, en fonction des conditions sur 3 lignes différentes, avec 3 couleurs!
merci encore et bonne journée
JJ1 est déconnecté   Réponse avec citation
Vieux 25/11/2007, 13h34   #10 (permalink)
XLDnaute Barbatruc
 
Avatar de Spitnolan08
 
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 267
Par défaut Re : mise en forme

Bonjour le fil,
Citation:
Le top serait de pouvoir cercler, en fonction des conditions sur 3 lignes différentes, avec 3 couleurs!
Par macro, ma dernière proposition convient parfaitement à ce cas de figure à condition que tu n'aies pas besoin d'utiliser le résultat.

Mais au delà de l'aspect fun de trouver une solution à ta question, pourquoi n'utilises tu pas les MFC qui sont idéalement prévues pour ce que tu veux faire Seule différence : tu n'auras pas un cercle de couleur mais un fond ou une police de couleurs différentes en fonction du résultat de ton test.

Cordialement
__________________
Ne pas oublier d'effectuer une recherche dans les pages "questions-les-plus-frequentes-faq-et-didacticiels" avant de poser une question.
La réponse s'y trouve bien souvent.
Spitnolan08 est déconnecté   Réponse avec citation
Vieux 25/11/2007, 15h59   #11 (permalink)
JJ1
XLDnaute Impliqué
 
Date d'inscription: juillet 2006
Messages: 923
Par défaut Re : mise en forme

Re,
oui je vais faire une MFC pour les numéros, c'est dommage car je voulais écrire les numéros sortis au Loto avec une mise en forme plus aboutie en agrandissant chaque cellule (ex joint boules de couleur) ça aurait fait plus pro!!!
merci à tous et bon dimanche
Images attachées
Type de fichier : jpg cercles.JPG (14,6 Ko, 6 affichages)
JJ1 est déconnecté   Réponse avec citation
Vieux 25/11/2007, 16h04   #12 (permalink)
XLDnaute Impliqué
 
Avatar de fred65200
 
Date d'inscription: septembre 2007
Localisation: BAGNÈRES DE BIGORRE
Version Excel : Excel 2007 (PC)
Messages: 699
Par défaut Re : mise en forme

re:

Code:
For Each C In Selection ' à adapter
  'recherche des cellules contenant un 6
  If InStr(1, C, 6) > 0 Then
    'insertion des adresses dans un tableau
    ReDim Preserve monTab(UBound(monTab) + 1)
    monTab(UBound(monTab)) = C.Address
  End If
Next C
tu n'as qu'à modifier les conditions

Code:
  If InStr(1, C, 6) > 0 And TOTO > TITI Then
Je trouve que ta demande évolue, on passe de six encerclés à l'insertion d'image.
Si tu avais été plus précis au départ, cela aurait été plus simple pour tous.
cordialement
__________________
fred65200

Dernière modification par fred65200 ; 25/11/2007 à 16h09.
fred65200 est déconnecté   Réponse avec citation
Vieux 25/11/2007, 16h20   #13 (permalink)
XLDnaute Barbatruc
 
Avatar de Spitnolan08
 
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 267
Par défaut Re : mise en forme

Re,
Citation:
Je trouve que ta demande évolue, on passe de six encerclés à l'insertion d'image.
Je suis entièrement d'accord avec Fred. Personnellement je ne sais plus ce que tu recherches... ni comment tu souhaites l'obtenir...

D'une question "simple" on se retrouve avec une problématique complexe à géométrie variable

Tu as visiblement un fichier qui définit un contexte et une idée (apparemment évolutive) du résultat à obtenir : alors joint les à ta question !
En indiquant l'état de départ et l'état final avec les explications nécessaires à la bonne compréhension du problème.

Cordialement
__________________
Ne pas oublier d'effectuer une recherche dans les pages "questions-les-plus-frequentes-faq-et-didacticiels" avant de poser une question.
La réponse s'y trouve bien souvent.
Spitnolan08 est déconnecté   Réponse avec citation
Vieux 25/11/2007, 16h46   #14 (permalink)
JJ1
XLDnaute Impliqué
 
Date d'inscription: juillet 2006
Messages: 923
Par défaut Re : mise en forme

Re,
non ma demande n'évolue pas, simplement je vous expliquais le pourquoi de mon sujet.(vous en êtes les premiers demandeurs généralement et j'aime bien expliquer aux personnes qui prennent le temps de m'aider, ce qui me semble normal non?)
Un cercle de couleur autour du numéro me convient parfaitement.
Je vais essayer vos méthodes et si j'ai un problème je reviens vers vous.
Merci
JJ1 est déconnecté   Réponse avec citation
Vieux 25/11/2007, 17h19   #15 (permalink)
XLDnaute Barbatruc
 
Avatar de jeanpierre
 
Date d'inscription: février 2005
Localisation: Sortie ouest Le mans 6 km
Version Excel : Excel 2000 (PC)
Messages: 7 990
Par défaut Re : mise en forme

Pour saluer les amis du fils, Fred et Spit, le forum et JJ1,

Non, il est vrai que ta demande n'évolue pas, enfin pas de trop.... ???????!!!!!!!!!! (tout de même du style poupée russe)

Nous ne sommes pas les premiers demandeurs, le premier demandeur c'est toi, tu poses une question, ensuite, nous sommes obligés de demander des expliquations, c'est différent.....
Je lis : "et j'aime bien expliquer aux personnes qui prennent le temps de m'aider,", ben, c'est au début qu'il faut le faire, mais pas à la fin.....

Si la question est, ou était, bien posée dés le départ, il n'y aurait aucun autre questionnement ensuite... simplement une ou plusieurs réponses... adaptées...
__________________
En toutes circonstances, il faut savoir juger jusqu'où on peut aller trop loin.

Si vous êtes satisfait des réponses qui vous sont données. Si vous souhaitez que cette énorme base de connaissance Excel puisse vous accompagner longtemps encore....

Aidez-la.


C'est ici : http://www.excel-downloads.com/forum...orter-xld.html

Dernière modification par jeanpierre ; 25/11/2007 à 17h22.
jeanpierre est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
Mise en forme SUM Forum Excel 3 02/06/2007 15h56
TDC - Mise en forme à la mise à jour petipeton Forum Excel 5 07/12/2006 17h29
la mise en forme conditionnelle prend le dessus sur la mise en forme par VBA! olivier_bahrein Forum Excel 1 03/11/2006 10h17
mise en forme conditionnelle depuis donnée sur une autre forme titel Forum Excel Downloads - Archives 5 04/06/2004 08h52
mise en forme xl Didier Forum Excel Downloads - Archives 7 03/02/2003 14h51


Fuseau horaire GMT +2. Il est actuellement 01h28.


(C) 2006 Excel Downloads