XL 2010 Plusieurs écritures dans une même cellule ( Résolu )

Kael_88

XLDnaute Occasionnel
Bonsoir le Forum,

Je me tourne vers vous pour un problème dont je ne trouve pas de solution correct si cela est possible,
je cherche dans une cellule lors de la validation par "entrer" que :
1- le texte soit copié sur deux lignes
2- sur la deuxième ligne, ajouter un "*" et une lettre, devant le texte copié et un "*" à la fin du texte
3- laisser la première ligne dans l’écriture et la taille ou elle se trouve, par contre, la deuxième ligne doit être en écriture "Monotype Corsiva" de taille "24".

Ps: le tout en VBA.

Merci à vous

Cordialement
 

Pièces jointes

  • CB Essai.xlsm
    11 KB · Affichages: 17

Kael_88

XLDnaute Occasionnel
Le forum, @pierrejean ,

Merci, cela fonctionne bien,
Par contre, j'ai un soucis, le format de la deuxième ligne disparaît après un tri qui est fait en Colonne F(ce sont des dates),

1- est il possible de garder le format même après ce tri sur les colonnes A & B ?
2- si on peut pas, peut on appliquer ce format après le tri sur les colonnes A & B seulement ?

Cordialement
 
Dernière édition:

Kael_88

XLDnaute Occasionnel
Le Forum,@pierrejean, @job75,

Merci pour cette remarque, après vérification,
il est vrai qu'il y a une nouvelle mise en forme lors du tri.

ci joint le fichier tel qu'il est conçu, donnée à part bien sur.
le fait de faire le changement après "entrée" me pose le soucis de la recherche de donnée qui vient à l"appui du bouton " MàJ Données ",
donc je peux plus faire le changement au début (désolé et merci @pierrejean ).

Par contre, serait il possible de mettre un bouton "CB" afin de :
1- si on clic dessus, mettre la deuxieme ligne comme prèvu, dans les cellules de la colonne A & B.
2- si on re-clic dessus, cela supprime la deuxieme ligne, afin de pouvoir refaire une recherche.

cordialement
 

Pièces jointes

  • double ligne.xlsm
    40 KB · Affichages: 15

job75

XLDnaute Barbatruc
Re,

Non pas besoin d'ouvrir une nouvelle discussion car c'est assez simple :
Code:
Sub MAJ()
Dim c As Range
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
If Application.CountIf([A:B], "*" & vbLf & "*") Then
    [A:B].Replace vbLf & "*", "", xlPart
Else
    Application.ScreenUpdating = False
    On Error Resume Next 'si aucune SpecialCell
    For Each c In Intersect(Range("A3:B" & Rows.Count), ActiveSheet.UsedRange).SpecialCells(xlCellTypeConstants)
        c = c & vbLf & "*P" & c & "*"
        With c.Characters(InStr(c, "*P")).Font
            .Name = "Monotype Corsiva"
            .Size = 24
        End With
    Next
End If
Rows("2:" & Rows.Count).AutoFit
End Sub
Bonne nuit.
 

Pièces jointes

  • double ligne(1).xlsm
    31.6 KB · Affichages: 12

Kael_88

XLDnaute Occasionnel
@job75,

Merci, cela fonctionne très bien, sauf :
qu'il écrase toutes les dates de la colonne F.

y a t il moyen que le format ne s'applique que sur les lignes visible après le tri (couleur) en colonne F et pas dans tout le tableau (lignes cachées)?

Cordialement
 

job75

XLDnaute Barbatruc
Bonjour Kael_88, Pierre, le forum,

Fichier (2), il suffit de mémoriser les lignes visibles :
Code:
Sub MAJ()
Dim vis As Range, c As Range
Application.ScreenUpdating = False
On Error Resume Next 'si aucune SpecialCell
Set vis = [F:F].SpecialCells(xlCellTypeVisible).EntireRow 'mémorise les lignes visibles
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData 'si la feuille est filtrée
If Application.CountIf([A:B], "*" & vbLf & "*") Then
    [A:B].Replace vbLf & "*", "", xlPart
Else
    For Each c In Intersect(Range("A3:B" & Rows.Count), ActiveSheet.UsedRange).SpecialCells(xlCellTypeConstants)
        c = c & vbLf & "*P" & c & "*"
        With c.Characters(InStr(c, "*P")).Font
            .Name = "Monotype Corsiva"
            .Size = 24
        End With
    Next
End If
Rows("2:" & Rows.Count).AutoFit
Rows("2:" & Rows.Count).Hidden = True 'masque tout
vis.Hidden = False 'affiche les lignes mémorisées
End Sub
Bonne journée.
 

Pièces jointes

  • double ligne(2).xlsm
    32.4 KB · Affichages: 10

Discussions similaires

Statistiques des forums

Discussions
312 046
Messages
2 084 855
Membres
102 688
dernier inscrit
Biquet78