Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1253 connectés 

  FORUM HardWare.fr
  Programmation

  [Excel]Comment faire cette mise en forme automatique ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Excel]Comment faire cette mise en forme automatique ?

n°56428
Nawhak
à suivre .../...
Posté le 30-08-2001 à 23:13:06  profilanswer
 

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  :)

mood
Publicité
Posté le 30-08-2001 à 23:13:06  profilanswer
 

n°56661
Sylderon
Posté le 31-08-2001 à 20:40:43  profilanswer
 

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+

n°57410
Nawhak
à suivre .../...
Posté le 04-09-2001 à 11:36:55  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Excel]Comment faire cette mise en forme automatique ?

 

Sujets relatifs
[HTML] Comment faire un header et un footer automatique Repertoire par défaut avec VB Excel??
VBA, Excel, ... :-(([PHP] mise à jour de site à l'aide de la fonction readfile()
Recherche personne pour m'aider pour mise en place d'un forumListe déroulante sous Excel
[Excel] Comment mettre le meme pied de page sur toute les feulles[EXCEL/VB] Shag tournament : Sexy vote de stars
[VB] Excel C est facile mais yarrive po Variable Public[HTML]Alignement / Mise en page
Plus de sujets relatifs à : [Excel]Comment faire cette mise en forme automatique ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR