Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Je me suis demandé si cela est réalisable avec un format personnalisé (de cellule), mais je n'ai pas réussi à créer un tel format.
Tu peux ajouter une colonne dont les cellules contiendraient une formule de concaténation des deux valeurs avec un retour chariot, les cellules seraient formatées pour un "renvoi automatique à la ligne".
A noter : il est possible d'insérer un retour chariot dans un format personnalisé comme le seconde onglet de la pièce jointe pour une date (taper mmmm puis CTRL J puis aaaa)).
Bonjour et merci à tous pour vos différentes réponses
Le code de Paf fonctionne mais est-il possible de conserver la mise en forme? J'aimerais que le nom de ville (ville1, ville2....) soit en gras et la ou les lignes du dessous (variable) ne le soit pas.
je n'avais vu les macros existantes Synthese() et Gras(). plutôt que de rajouter une troisième macro, mieux vaut adapter les premières:
Code:
Sub Synthese()
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
t = Selection.Rows.Count
Range(Cells(3, 2), Cells(t + 2, 2)).Select
For Each i In Selection
If i <> "" Then
s = InStr(i, Chr(10))
p1 = Left(i, s - 1)
p2 = Right(i, Len(i) - s)
phrase = phrase & p1 & Chr(10) & p2 & Chr(10)
End If
Next
Cells(t + 3, 2) = Left(phrase, Len(phrase) - 1)
Cells(t + 3, 2).Select
Gras
End Sub
Code:
Sub Gras()
Dim col$, C As Range, s, i%, n%
col = "B"
Columns(col).Cells.Font.Bold = False
On Error Resume Next 'à cause de la cellule fusionnée
For Each C In Columns(col).SpecialCells(xlCellTypeConstants)
s = Split(C, vbLf)
For n = 0 To UBound(s) Step 2
For i = 0 To n
decal = decal + Len(s(i)) + 1
Next
decal = decal - Len(s(0))
C.Characters(decal, Len(s(n))).Font.Bold = True
decal = 0
Next
Next
End Sub
je n'avais vu les macros existantes Synthese() et Gras(). plutôt que de rajouter une troisième macro, mieux vaut adapter les premières:
Code:
Sub Synthese()
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
t = Selection.Rows.Count
Range(Cells(3, 2), Cells(t + 2, 2)).Select
For Each i In Selection
If i <> "" Then
s = InStr(i, Chr(10))
p1 = Left(i, s - 1)
p2 = Right(i, Len(i) - s)
phrase = phrase & p1 & Chr(10) & p2 & Chr(10)
End If
Next
Cells(t + 3, 2) = Left(phrase, Len(phrase) - 1)
Cells(t + 3, 2).Select
Gras
End Sub
Code:
Sub Gras()
Dim col$, C As Range, s, i%, n%
col = "B"
Columns(col).Cells.Font.Bold = False
On Error Resume Next 'à cause de la cellule fusionnée
For Each C In Columns(col).SpecialCells(xlCellTypeConstants)
s = Split(C, vbLf)
For n = 0 To UBound(s) Step 2
For i = 0 To n
decal = decal + Len(s(i)) + 1
Next
decal = decal - Len(s(0))
C.Characters(decal, Len(s(n))).Font.Bold = True
decal = 0
Next
Next
End Sub
a priori la macro Gras() mettait en gras, dans toutes les cellules de la colonne B, une ligne sur deux.
La modification apportée ne change pas cette règle, et il n'y avait aucun décalage lors des essais sur le classeur joint.
Reprécisez donc la règle de mise en forme, ainsi que le décalage constaté.
a priori la macro Gras() mettait en gras, dans toutes les cellules de la colonne B, une ligne sur deux.
La modification apportée ne change pas cette règle, et il n'y avait aucun décalage lors des essais sur le classeur joint.
Reprécisez donc la règle de mise en forme, ainsi que le décalage constaté.
Je souhaiterai en fait que la première ligne de chaque cellule soit en gras. Le nombre de lignes qui suit est variable.
En concaténant le contenu de l'ensemble des cellules dans une même cellule (execution de la macro synthese), la mise en forme est conservée.
en fait il faut tout reprendre ! actuellement c'est la macro Synthese() qui crée la synthèse et puis en dernier appelle la macro Gras() pour toute la colonne B. La mise en gras est basé sur le double saut de ligne et qu'on veut supprimer.
Je ne vois pas de solution simple pour réaliser votre demande
J'avais bien pensé à cette astuce sur V*..., mais je crains que cette donnée ne soit qu'un exemple, et qu'au final on ait des noms de ville réels. Et là .... ?
J'avais bien pensé à cette astuce sur V*..., mais je crains que cette donnée ne soit qu'un exemple, et qu'au final on ait des noms de ville réels. Et là .... ?
- 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