Scinder une cellule en deux ... complications
Résolu
anwi
-
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
A voir également:
- Scinder une cellule en deux ... complications
- Excel cellule couleur si condition texte - Guide
- Deux ecran pc - Guide
- Fusionner deux cellules excel en gardant le contenu - Guide
- Aller à la ligne dans une cellule excel - Guide
- Comment faire deux colonnes sur word - Guide
5 réponses
Bonjour,
j'ai bien compris ce que tu veux faire, mais je pense pas que ce soit possible sur Excel. En tout cas pas avec une fusion directement.
j'ai bien compris ce que tu veux faire, mais je pense pas que ce soit possible sur Excel. En tout cas pas avec une fusion directement.
bonjour
pourquoi ne pas faire du vba une cellule = somme de la premier une cellule ou il y a / et la troisieme
pourquoi ne pas faire du vba une cellule = somme de la premier une cellule ou il y a / et la troisieme
Salut,
Les intervenants répondent en fonction de leurs savoir ou de ce qu'ils ont compris, je ne comprends pas l'appréciation négative à Geegee, qui d'après ce que je comprends la solution est de passer par le VBA pour obtenir ce genre d'affichage exemple %
ou on se contente d'un affichage sur la même ligne avec une simple formule
=A1&"/"&B1
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Les intervenants répondent en fonction de leurs savoir ou de ce qu'ils ont compris, je ne comprends pas l'appréciation négative à Geegee, qui d'après ce que je comprends la solution est de passer par le VBA pour obtenir ce genre d'affichage exemple %
ou on se contente d'un affichage sur la même ligne avec une simple formule
=A1&"/"&B1
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Bonjour à tous,
Une proposition qui reprend la concaténation et un peu de VBA.
Le principe est de mettre tes formules de concaténation comme indiqué par Mike-31 =A1&"/"&B1.
Ensuite tu sélectionnes toutes les cellules où tu as tes concaténations et tu lances la macro suivante :
Une proposition qui reprend la concaténation et un peu de VBA.
Le principe est de mettre tes formules de concaténation comme indiqué par Mike-31 =A1&"/"&B1.
Ensuite tu sélectionnes toutes les cellules où tu as tes concaténations et tu lances la macro suivante :
Sub Concat_PourCent() 'A partir d'une sélection de cellules contenant une formule de concaténation de 2 chaînes de caractères séparées par un "/" 'mettre en forme la 1ère chaîne en exposant taille 14 et la 2nde chaîne en indice taille 14. 'la formule disparait et est remplacée par la chaîne mise en forme Set MaSelection = Selection For Each Varea In MaSelection.Areas For Each Vcell In Varea.Cells Vcell.FormulaR1C1 = Vcell.Value2 With Vcell.Characters(Start:=1, Length:=(InStr(Vcell.Value2, "/") - 1)).Font .Size = 14 .Superscript = True .Subscript = False End With With Vcell.Characters(Start:=(InStr(Vcell.Value2, "/") + 1), Length:=(Len(Vcell.Value2) - InStr(Vcell.Value2, "/"))).Font .Size = 14 .Superscript = False .Subscript = True End With Next Next End SubCordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
Si on cherche le VBA, il suffit de compléter le code pour concatener et faire un balayage d'une plage.
exemple des valeurs sont en A et B, ce code détectera automatiquement la plage de A2 à A dernière cellule renseignée, concaténera la colonne A et B et formatera les cellules en C
Sub test()
Dim r As Range 'plage à tester
Dim c As Range 'Cellule du range source
Set r = Range([C2], [A50].End(xlUp).Offset(0, 2)) 'détermine la plage à traiter
Application.ScreenUpdating = False
For Each c In r.Offset(0, -2)
c.Offset(0, 2).Clear 'nettoie précédent format de la plage à traiter
c.Offset(0, 2).Value = c & "/" & c.Offset(0, 1) 'Concatenne colonne A et B
With c.Offset(0, 2).Characters(Start:=1, Length:=(InStr(c.Offset(0, 2).Value, "/") - 1)).Font
.Size = 16
.Superscript = True
End With
With c.Offset(0, 2).Characters(Start:=(InStr(c.Offset(0, 2).Value, "/") + 1), Length:=(Len(c.Offset(0, 2).Value) - InStr(c.Offset(0, 2).Value, "/"))).Font
.Size = 16
.Subscript = True
End With
Next
Application.ScreenUpdating = True
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Si on cherche le VBA, il suffit de compléter le code pour concatener et faire un balayage d'une plage.
exemple des valeurs sont en A et B, ce code détectera automatiquement la plage de A2 à A dernière cellule renseignée, concaténera la colonne A et B et formatera les cellules en C
Sub test()
Dim r As Range 'plage à tester
Dim c As Range 'Cellule du range source
Set r = Range([C2], [A50].End(xlUp).Offset(0, 2)) 'détermine la plage à traiter
Application.ScreenUpdating = False
For Each c In r.Offset(0, -2)
c.Offset(0, 2).Clear 'nettoie précédent format de la plage à traiter
c.Offset(0, 2).Value = c & "/" & c.Offset(0, 1) 'Concatenne colonne A et B
With c.Offset(0, 2).Characters(Start:=1, Length:=(InStr(c.Offset(0, 2).Value, "/") - 1)).Font
.Size = 16
.Superscript = True
End With
With c.Offset(0, 2).Characters(Start:=(InStr(c.Offset(0, 2).Value, "/") + 1), Length:=(Len(c.Offset(0, 2).Value) - InStr(c.Offset(0, 2).Value, "/"))).Font
.Size = 16
.Subscript = True
End With
Next
Application.ScreenUpdating = True
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.