Comment faire cette mise en forme automatique ? [Excel] - Programmation
Marsh Posté le 31-08-2001 à 20:40:43
A mon avis, il faut passer par de la prog VBA.
Tu crées une macro vide et tu essaies quelque chose comme ça:
Dim sBuf as string
Dim aBuf
sBuf = sheets("NomFeuille_1" ).Cells(x, y) ' (x,y) = cellule contenant ton 1
aBuf = Split(sBuf, "-" ) ' Excel 2000, sinon la programmer (cf + bas)
' Puis boucle sur ta colonne à remplir
For i = 1 To UBound(aBuf)
ActiveSheet.Cells(i, 2) = aBuf(i)
Next i
NB: la fonction Split apparait avec VB6 et VBA sous Office2000
Si ton Excel est plus ancien, voici le code de la fonction Split()
Public Function Split(ByVal sIn As String, Optional sDelim As _
String, Optional nLimit As Long = -1, Optional bCompare As _
VbCompareMethod = vbBinaryCompare) As Variant
Dim sRead As String, sOut() As String, nC As Integer
If sDelim = "" Then
Split = sIn
End If
sRead = ReadUntil(sIn, sDelim, bCompare)
Do
ReDim Preserve sOut(nC)
sOut(nC) = sRead
nC = nC + 1
If nLimit <> -1 And nC >= nLimit Then Exit Do
sRead = ReadUntil(sIn, sDelim)
Loop While sRead <> ""
ReDim Preserve sOut(nC)
sOut(nC) = sIn
Split = sOut
End Function
Je ne suis plus sur de savoir si l'initialisation des params fonctionne sur Excel97 & -
Si ça pose un pb de syntaxe, il faut modifier le code en faisant des init de nLimit avec:
if ismissing(nLimit) then nLimit = -1
et de VbCompareMethod avec:
if ismissing(VbCompareMethod) then VbCompareMethod = vbBinaryCompare
Je crois avoir été complet
A+
Marsh Posté le 30-08-2001 à 23:13:06
Comment faire pour que tous les noms qu il y a en 1 et séparé par des "-" se mettent en forme comme en 2 automatiquement ?
PS : le 1 et le 2 sont sur des feuilles differentes.
Merci de m'éclairer