Scinder une cellule en deux ... complications
Résolu/Fermé
anwi
-
28 déc. 2012 à 12:00
Mike-31 Messages postés 18350 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 28 novembre 2024 - 28 déc. 2012 à 22:30
Mike-31 Messages postés 18350 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 28 novembre 2024 - 28 déc. 2012 à 22:30
A voir également:
- Scinder une cellule en deux ... complications
- Aller à la ligne dans une cellule excel - Guide
- Scinder pdf - Guide
- Excel cellule couleur si condition texte - Guide
- Concatener deux cellules excel - Guide
- Verrouiller cellule excel - Guide
5 réponses
keennan
Messages postés
128
Date d'inscription
dimanche 17 juillet 2011
Statut
Membre
Dernière intervention
15 octobre 2014
22
28 déc. 2012 à 12:04
28 déc. 2012 à 12:04
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
Mike-31
Messages postés
18350
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
28 novembre 2024
5 105
Modifié par Mike-31 le 28/12/2012 à 13:52
Modifié par Mike-31 le 28/12/2012 à 13:52
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.
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
28 déc. 2012 à 16:36
28 déc. 2012 à 16:36
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
Mike-31
Messages postés
18350
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
28 novembre 2024
5 105
Modifié par Mike-31 le 28/12/2012 à 22:58
Modifié par Mike-31 le 28/12/2012 à 22:58
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.