[Excel]Comment faire cette mise en forme automatique ?

Comment faire cette mise en forme automatique ? [Excel] - Programmation

Marsh Posté le 30-08-2001 à 23:13:06    

http://ekkinox.free.fr/Images/HFR/excel.png
 
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  :)

Reply

Marsh Posté le 30-08-2001 à 23:13:06   

Reply

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+

Reply

Marsh Posté le 04-09-2001 à 11:36:55    

Ok merci beaucoup, je vais essayer ça
 :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed