Mise en forme texte cellule

Bonjour à toutes et à tous.

J'ai besoin pour mon travail de mettre dans un fichier des noms et prénoms dans une même cellule (colonne A) avec le nom en gras et 1ere lettre majuscule et le prénom avec 1ere lettre majuscule et casse normale.

Du type :

Durand

Bruno

Dupont

Jean

Existe-t-il une macro adaptée sachant que les deux mots doivent être dans la même cellule après avoir été mis à la ligne avec Alt+Entrée.

Je sèche un peu, si quelqu'un à une solution ce serait cool.

Merci

Bonsoir,

Un fichier n'aurait pas été inutile pour te fournir un outil adapté... Tu auras donc à l'adapter !

Sub NomPrénom(nm As String, pnm As String, cdest As Range)
    Dim np, k%
    np = Array(nm, pnm)
    k = Len(nm)
    np(0) = StrConv(np(0), vbUpperCase)
    np(1) = StrConv(np(1), vbProperCase)
    If cdest.Count > 1 Then Set cdest = cdest.Cells(1, 1)
    Application.ScreenUpdating = False
    With cdest
        .Clear
        .Value = Join(np, Chr(10))
        .WrapText = True
        .Characters(1, k).Font.Bold = True
    End With
End Sub

La procédure est à lancer à partir d'une autre procédure qui lui fournira 3 arguments : le nom (sous forme texte, variable ou indication d'une cellule qui le contient), le prénom (même chose), la plage de destination (objet Range, limitée à une cellule, toutefois si la plage indiquée en comportait plusieurs seule la première sera prise en considération).

Exemple d'utilisation :

Sub Test()
    NomPrénom "dubois", "serge", ActiveSheet.Range("C4")
End Sub

ou bien :

Sub Demo()
    With ActiveSheet
        NomPrénom .Cells(2, 1), .Cells(1, 1), .Range("D6")
    End With
End Sub

etc.

Elle peut bien sûr être appelée dans une boucle pour traiter une série de noms...

Cordialement.

Bonjour,

Merci pour cette réponse éclair, mais j'avoue ne pas avoir tout compris .

Je joins un fichier test pour expliciter ma demande, je souhaiterais au final que chaque texte saisi dans une cellule de la colonne A ressemble à celle en A2 (jaune).

Cordialement.

14test.xlsx (9.43 Ko)

Je peux la modifier pour qu'elle traite une sélection de cellules... Mais pour qu'elle puisse opérer correctement, il faut prévoir les noms comprenant plusieurs mots et les prénoms composés. Il serait alors préférable que nom et prénom soient dans des cellules différentes (la macro effacerait ce qui est de trop lors du traitement...

Maintenant si tu prépares en faisant la préparation quasi-complète où il ne reste plus qu'à mettre le nom en gras, c'est possible aussi ! la macro n'aura plus grand chose à faire...

Cordialement.

Bonsoir,

Je pense attacher les noms et prénoms en deux parties par un tiret de la façon suivante :

Dubois-Perret

Jean-Edouard

Est ce possible ?

Merci.


Mais toujours dans la même cellule par contre.

Les pénoms composés ont le plus souvent un tiret. Pour les noms c'est généralement pas.

Il n'y pas de solutions pour mettre la premiere partie (le nom) en gras et la seconde sans ?

Mais si ! Si tu fais le plus gros : mettre noms et prénoms dans des cellules, avec majuscules initiales,sur deux lignes, il ne reste plus qu'à prendre le nom pour le mettre en gras... !

Soit j'ai à supprimer les 2/3 ou les 3/4 de la macro précédente s'il ne reste plus que ça à faire !

Mettons que tu mettes tes noms prénoms dans des cellules, tu tapes tout en minuscules, ce qui ira plus vite, on adopte que les prénoms composés auront toujours un tiret, donc le dernier mot sera toujours le prénom, et là j'ai une matière un peu plus conséquente à traiter...

ok on fait ca et je vais tester.

Voilà à tester...

10patrice72-test.xlsm (22.90 Ko)

Super !

Merci beaucoup MFerrand.

Ce fut un plaisir

Rechercher des sujets similaires à "mise forme texte"