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

  • Initiateur de la discussion Initiateur de la discussion Kael_88
  • Date de début Date de début

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 !

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

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:
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

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

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

- 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