Souligner qu'une partie d'une cellule excel

cs_louly Messages postés 39 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 8 décembre 2004 - 1 déc. 2004 à 01:31
cs_louly Messages postés 39 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 8 décembre 2004 - 1 déc. 2004 à 14:51
alors pour faire simple j'ai une spreadsheet dans laquel je met qqchose de connue("toto ") et le resultat d'une requete
(result!tata) dans une même cellule disons (A,1).
Je veux pouvoir souligner seulement toto.
"Spreadsheet1.Cells.find("toto").Font.underline = 2"
souligne tout ce k'il y a dans la cellule car find cherche le contenue dans une cellule, mais pointe sur toute la cellule( meme en utilsant la propriete xlPart pour lookat.)

10 réponses

pjcleder Messages postés 183 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 16 septembre 2011 11
1 déc. 2004 à 08:13
PAT
Pour ce genre de chose, je "triche". J'utilise deux cellules. L'une a sa bordure droite invisible, l'autre la gauche. Il y a impression d'une cellule unique. J'ai été confonté une seule fois à cette obligation et comme j'étais dans l'urgence, j'ai fait cette bidouille qui , je le conçois, même à l'époque, n'était pas trés propre mais m'a permis de sastifaire la demande.
0
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
1 déc. 2004 à 09:43
Bonjour

pour faire cela en code tu peux utiliser :


Dim cellule As Range
Dim pos As Integer
Dim aSouligner As String
aSouligner = "toto"

Set cellule = ActiveCell
pos = InStr(1, cellule.Value, aSouligner)

cellule.Characters(pos, Len(aSouligner)).Font.Underline = xlUnderlineStyleSingle



Qui souligne la première occurence de "toto" dans la cellule active.

Il te suffira de changer la cellule sur laquelle tu as besoin de trouver l'occurence "toto".

Si tu as d'autres questions, n'hésite pas :)

Fanny
0
cs_louly Messages postés 39 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 8 décembre 2004 1
1 déc. 2004 à 11:43
merci beaucoup PAT mais pour mon cas o niveau de la mise en page c pas trop ça.
fanny ça m'a l'air d'etre exactement ce ke je cherche, je pense bien avois compris dans kel sens tu veu allé mais le problem c ke je suis sous vb6 et ke cellule.Characters(pos, Len(aSouligner)) ça à pas l'aire d'exister.
cellule.text ne prend pas ces parametres (et n'en prend pas du tout d'ailleur.
si tu connais la methode exact de cellule pour faire ce que tu me dis je pense que tu a regler mon probleme
0
cs_louly Messages postés 39 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 8 décembre 2004 1
1 déc. 2004 à 11:57
en gros kel methode de "cellule as range" me permet de preciser la longueur de la chaine sur laquel je travaille vu ke la position du 1er caractere m'importe peut car dans mon cas la chaine souligner est tjr la 1er.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
1 déc. 2004 à 11:58
Si ob est un objet de type Excel.Application :

pos = InStr(1, cellule.Value, aSouligner)
ob.ActiveCell.Characters(pos, Len(aSouligner)).Font.Underline = xlUnderlineStyleSingle


Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
1 déc. 2004 à 12:02
et tu remplaces pos par 1 si tu soulignes à tous les coups à partir du premier caractère.

Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
cs_louly Messages postés 39 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 8 décembre 2004 1
1 déc. 2004 à 12:24
ce que j'utilise c'est un controle ms office web component avec vb6
la methode Characters je ne l'a trouve sur aucun objet (g suivis la methode de fanny un peu plus haut)
donc ça donne à peu pres ça :

Dim cellule As Range
Set cellule = Spreadsheet1.ActiveCell
cellule.Font.Underline = 2

là il me souligne toute la cellule,

pour une cellule contenant "toto"
si je met
cellule.Characters(1, 4).Font.Underline = 2
il m'insulte en me pretendant que "methode or data member not found";)
0
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
1 déc. 2004 à 14:22
Et sinon il te propose quoi comme différentes méthodes/propriétés sur l'objet cellule ?

Ou te propose t'il plutot pour

(Comme je n'ai jamais utilisé de web component :-p , c'est déjà un peu plus dur).

Fanny
0
cs_louly Messages postés 39 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 8 décembre 2004 1
1 déc. 2004 à 14:48
alors le problem c k'il y'en à bcp dont o moins un bon tiers ke je ne sais pas à koi elle servent donc toute te les reecrire ça parait un peut long :)
tu ne saurait pas regarder? avec OWC10.DLL?
sa serait sympa si tu a le temp merci.
0
cs_louly Messages postés 39 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 8 décembre 2004 1
1 déc. 2004 à 14:51
sinon tampis il soulignerons eux même !!!lol ;)
0
Rejoignez-nous