XL 2019 mettre la taille de police du 1er mot à 13 2 ème mot à 11

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 !

dindin

XLDnaute Occasionnel
bonjour le Forum
j'ai dans la colonne A des mots
la colonne B des chiffres entre parenthèse.
j'ai réussi à les assembler dans la colonne C en utilisant un code VBa
par contre je n'arrive pas à mettre la taille de police du 1er mot à 13 2 ème mot à 11
voir capture
Merci d'avance
j'aurais besoin de votre aide.
Capture.JPG
 
bonjour le Forum
j'ai dans la colonne A des mots
la colonne B des chiffres entre parenthèse.
j'ai réussi à les assembler dans la colonne C en utilisant un code VBa
par contre je n'arrive pas à mettre la taille de police du 1er mot à 13 2 ème mot à 11
voir capture
Merci d'avance
j'aurais besoin de votre aide.Regarde la pièce jointe 1050010
Bonjour,
Une piste
Avec mot en A1, chiffre en B1 le tout concatener en C1
VB:
Sub format()
[c1] = [a1] & [b1]
[c1].Characters(1, Len([a1])).Font.Size = 13
[c1].Characters(Len([a1]) + 1, Len([b1])).Font.Size = 11
End Sub
 
Dernière édition:
Bonjour,
Une piste
Avec mot en A1, chiffre en B1 le tout concatener en C1
VB:
Sub format()
[c1] = [a1] & [b1]
[c1].Characters(1, Len([a1])).Font.Size = 13
[c1].Characters(Len([a1]) + 1, Len([b1])).Font.Size = 11
End Sub


j'arrive pas à l'adapter à lacolonne C
VB:
Sub CONCAT()
For i = 1 To Range("C" & Rows.Count).End(xlUp).Row
On Error Resume Next
'Cells(i, 4).Value = Cells(i, 1) & " " & Range("A1").Value & Cells(i, 2) & Range("B1").Value
'Cells(i, 4).Value = Cells(i, 1) & vbCrLf & Range("A1").Value & Cells(i, 2) & Range("B1").Value
'Cells(i, 4).Value = Cells(i, 4).Characters(1, Len(Cells(i, 4)).Font.Size = 18 & Cells(i, 4).Characters(Len(Cells(i, 4)) + 1, Len(Cells(i, 4))).Font.Size = 10
Cells(i, 3).Characters(1, Len([C])).Font.Size = 18
Cells(i, 3).Characters(Len([C]) + 1, Len([C])).Font.Size = 10
Next
End Sub
 
j'arrive pas à l'adapter à lacolonne C
VB:
Sub CONCAT()
For i = 1 To Range("C" & Rows.Count).End(xlUp).Row
On Error Resume Next
'Cells(i, 4).Value = Cells(i, 1) & " " & Range("A1").Value & Cells(i, 2) & Range("B1").Value
'Cells(i, 4).Value = Cells(i, 1) & vbCrLf & Range("A1").Value & Cells(i, 2) & Range("B1").Value
'Cells(i, 4).Value = Cells(i, 4).Characters(1, Len(Cells(i, 4)).Font.Size = 18 & Cells(i, 4).Characters(Len(Cells(i, 4)) + 1, Len(Cells(i, 4))).Font.Size = 10
Cells(i, 3).Characters(1, Len([C])).Font.Size = 18
Cells(i, 3).Characters(Len([C]) + 1, Len([C])).Font.Size = 10
Next
End Sub
Re..
Essaye comme ceci
Dans l'exemple les noms sont en colonne A, les chiffres (sans parenthèse) en colonne B, le résultat en colonne C
VB:
Sub CONCAT()
    Dim C As Range
    For Each C In Range("c1:c" & Cells.Find("*", , , , xlByRows, xlPrevious).Row)
        C = C.Offset(, -2) & " (" & C.Offset(, -1) & ")"
        C.Characters(1, Len(C.Offset(, -2))).Font.Size = 18
        C.Characters(Len(C.Offset(, -2)) + 1, Len(C.Offset(, -1)) + 3).Font.Size = 10
    Next
End Sub
 

Pièces jointes

Re..
Essaye comme ceci
Dans l'exemple les noms sont en colonne A, les chiffres (sans parenthèse) en colonne B, le résultat en colonne C
VB:
Sub CONCAT()
    Dim C As Range
    For Each C In Range("c1:c" & Cells.Find("*", , , , xlByRows, xlPrevious).Row)
        C = C.Offset(, -2) & " (" & C.Offset(, -1) & ")"
        C.Characters(1, Len(C.Offset(, -2))).Font.Size = 18
        C.Characters(Len(C.Offset(, -2)) + 1, Len(C.Offset(, -1)) + 3).Font.Size = 10
    Next
End Sub
Merci jacky67
 
re
Bonjour a tous les deux
faite moi plaisir précisez le parent ; sait on jamais que ce soit pas le sheets actif qui est concerné 😉 dans un with par exemple
VB:
Sub CONCAT()
    Dim C As Range
    with sheets("toto")
        For Each C In .Range("c1:c" & .Cells.Find("*", , , , xlByRows, xlPrevious).Row)
        C = C.Offset(, -2) & " (" & C.Offset(, -1) & ")"
        C.Characters(1, Len(C.Offset(, -2))).Font.Size = 18
        C.Characters(Len(C.Offset(, -2)) + 1, Len(C.Offset(, -1)) + 3).Font.Size = 10
        Next
end with

End Sub

après le find previous!!!???? je vois pas trop pourquoi sortir l'artillerie lourde mais bon ???😵
sachant que quand un find est lancé on ne l’arrête pas il s’arrête tout seul quand il trouve et génère une erreur quand il trouve rien c'est ballo !!! 😵😕il est de toute maniere plus lourd car il part de tout en bas

donc
For Each C In .Range("c1", .Cells(rows.count,"C").end(xlup))

😉
 
re
Bonjour a tous les deux
faite moi plaisir précisez le parent ; sait on jamais que ce soit pas le sheets actif qui est concerné 😉 dans un with par exemple
VB:
Sub CONCAT()
    Dim C As Range
    with sheets("toto")
        For Each C In .Range("c1:c" & .Cells.Find("*", , , , xlByRows, xlPrevious).Row)
        C = C.Offset(, -2) & " (" & C.Offset(, -1) & ")"
        C.Characters(1, Len(C.Offset(, -2))).Font.Size = 18
        C.Characters(Len(C.Offset(, -2)) + 1, Len(C.Offset(, -1)) + 3).Font.Size = 10
        Next
end with

End Sub

après le find previous!!!???? je vois pas trop pourquoi sortir l'artillerie lourde mais bon ???😵
sachant que quand un find est lancé on ne l’arrête pas il s’arrête tout seul quand il trouve et génère une erreur quand il trouve rien c'est ballo !!! 😵😕il est de toute maniere plus lourd car il part de tout en bas

donc
For Each C In .Range("c1", .Cells(rows.count,"C").end(xlup))

😉

Merci
patricktoulon

le coude fonctionne très bien ainsi que les autres.
par contre j'ai fais une bêtise après avoir posté mon message .
j'ai supprimé les donné des colonnes A et B .
j'essaye depuis hier de modifier le code pour qu'il fasse la changement directement sur la colonne C sans grouper les mots ensemble.
c'est dire mettre le 1 er mot en 14 et le 2 ème en 11
voici ce que j'ai pu faire
VB:
Sub CONCAT()
    Dim C As Range
    For Each C In Range("c1:c" & Cells.Find("*", , , , xlByRows, xlPrevious).Row)
        C = C.Offset(, 0) & " (" & C.Offset(, 0) & ")"
        C.Characters(1, Len(C.Offset(, 0))).Font.Size = 18
        C.Characters(Len(C.Offset(, 0)) + 1, Len(C.Offset(, 0)) + 3).Font.Size = 10
    Next
End Sub
je n'arrive pas à l'adapter pour qu'il fasse le chabgment directement sur la colonne C
Capture.PNG
 
re
ben il faut simplement déterminer la longueur du 1 er mot
donc direct en travaillant sur colonne "C" sans passer par une concaténation de "A" et "B"
et en prime on gère les cellules éventuellement vides et ou celles qui n'ont pas le format "abcdef....(xx...)

VB:
Sub grosetpetit()
    Dim C As Range, x&
    With ActiveSheet    ' ou sheets("toto")
        For Each C In .Range("c1", .Cells(Rows.Count, "C").End(xlUp))
            If C.Value <> "" Then
                 x = Len(Split(C, "(")(0))
                If x < Len(C.Text) Then C.Font.Size = 10: C.Characters(1, x).Font.Size = 18
            End If
        Next
    End With
End Sub

😉
 
re
ben il faut simplement déterminer la longueur du 1 er mot
donc direct en travaillant sur colonne "C" sans passer par une concaténation de "A" et "B"
et en prime on gère les cellules éventuellement vides et ou celles qui n'ont pas le format "abcdef....(xx...)

VB:
Sub grosetpetit()
    Dim C As Range, x&
    With ActiveSheet    ' ou sheets("toto")
        For Each C In .Range("c1", .Cells(Rows.Count, "C").End(xlUp))
            If C.Value <> "" Then
                 x = Len(Split(C, "(")(0))
                If x < Len(C.Text) Then C.Font.Size = 10: C.Characters(1, x).Font.Size = 18
            End If
        Next
    End With
End Sub

😉
Merci
 
- 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

Retour