Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

OuiOuiNonNon

XLDnaute Nouveau
Bonjour, est ce que quelqu'un saurait comment faire pour créer une boucle et pour ne pas devoir répéter le code a chaque fois.
Je m'explique, cette partie de code permet d'ajouter un commentaire C. La première ligne du commentaire est représenté par A, la deuxième ligne par B, et la troisième ligne par D (je n'ai pas mis C car c'est le commentaire).
Comment faire pour mettre le code (qui met en gras une partie de la ligne du commentaire) sur chaque ligne du commentaire automatiquement sans avoir à mettre A, B, D, etc...

VB:
            .AddComment C(I, J) 'Ajoute le Commentaire C
            A = InStr(1, C(I, J), ":") + 2 'Recherche à partir de quel caractère il faut mettre en gras
            .Comment.Shape.TextFrame.Characters(Start:=A, Length:=1).Font.Bold = True 'Met en gras les caractères séléctionnés
            B = InStr(A + 1, C(I, J), ":") + 2
            .Comment.Shape.TextFrame.Characters(Start:=B, Length:=1).Font.Bold = True
            D = InStr(B + 1, C(I, J), ":") + 2
            .Comment.Shape.TextFrame.Characters(Start:=D, Length:=1).Font.Bold = True
 
Solution
Bonjour OuiOuiNonNon,

juste un essai :
VB:
Dim chn$, p%, i As Byte
chn = C(i, J): p = 1: .AddComment chn 'Ajoute le Commentaire C
For i = 1 To 3
  p = InStr(p, C(i, J), ":") + 2
  .Comment.Shape.TextFrame.Characters(p, 1).Font.Bold = -1
Next i
si ton commentaire fait moins de 256 caractères,
tu peux mettre p As Byte au lieu de p% 😉


soan
Bonjour OuiOuiNonNon,

juste un essai :
VB:
Dim chn$, p%, i As Byte
chn = C(i, J): p = 1: .AddComment chn 'Ajoute le Commentaire C
For i = 1 To 3
  p = InStr(p, C(i, J), ":") + 2
  .Comment.Shape.TextFrame.Characters(p, 1).Font.Bold = -1
Next i
si ton commentaire fait moins de 256 caractères,
tu peux mettre p As Byte au lieu de p% 😉


soan
 
Salut Soan et OuiOuiNonNon,

Comme j'ai aussi fait quelque chose, je le mets :
VB:
A = 0
For k = 1 To 3
A = InStr(A + 1, C(i, J), ":") + 1 'Recherche à partir de quel caractère il faut mettre en gras
Z = InStr(A + 1, C(i, J), Chr(10))
.Comment.Shape.TextFrame.Characters(Start:=A, Length:=Z - A).Font.Bold = True 'Met en gras les caractères séléctionnés
A = Z + 1
Next k
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
703
Réponses
4
Affichages
671
Réponses
8
Affichages
647
Réponses
2
Affichages
330
Retour