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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] Mettre en forme une partie d'une cellule

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA] Mettre en forme une partie d'une cellule

n°2308152
jb084
Posté le 29-11-2017 à 17:54:54  profilanswer
 

Bonjour,
 
Je cherche à faire une fonction qui me permet de construire une synthèse bi-dimensionnelle d'une liste.
Je m'explique : j'ai un onglet avec une liste de "Fonctionnalités", chacune d'entre elles étant associées à une Version.
http://reho.st/medium/self/5f8ed6fb01adf71c03c66eb39a3a51c84dd7eaa2.png
Je cherche ensuite à proposer une vision bièdimensionnelle qui me propose la liste des Modules en ligne, en colonne, le contenu de chaque version
http://reho.st/medium/self/c9fbe616219c68a41b933619153e9b7ddd96a1af.png
 
Cherchant à faire simple, j'ai créé une fonction "Module_Version"  prenant en paramètre la fonction et la version et qui va chercher la liste des fonctionnalités, que j'appelle pour chaque croisement de mon tableau

Code :
  1. =Version_Fonction($A3;$C$2)

le résultat étant la copie d'écran ci-dessus.
Je cherche désormais à avoir un formatage conditionnel de la fonction suivant son état de Dev (disons, que soient en gras ce qui a été développé). J'ai vu les caractéristiques ".Font.Bold" par exemple, mais cela s'applique sur une cellule. Or, je me base sur une variable, donc comment faire pour que je puisse effectuer cette mise en forme dans cette procédure ?
 

Code :
  1. Function Version_Fonction(fonction As String, Version As String)
  2.    
  3.     Dim temp_lib As String
  4.     Dim lig_fonction, lig_version As String
  5.     Dim wsExcel As Excel.Worksheet 'Feuille Excel
  6.     Dim i, idxCol, NiveauVisu, lig_niveau As Integer
  7.    
  8.     'wsExcel correspond à la l'onglet à retraiter (corps)
  9.     Set wsExcel = Sheets("Backlog" )
  10.     temp_lib = ""
  11.     idxCol = 3
  12.     rc = vbCrLf
  13.        
  14.     For i = 1 To 500 Step 1
  15.       lig_fonction = wsExcel.Cells(i, 2)
  16.       lig_version = wsExcel.Cells(i, 9)
  17.       'lig_niveau = wsExcel.Cells(i, 5)
  18.       If lig_fonction = fonction And lig_version = Version And NiveauVisu >= lig_niveau Then
  19.         temp_lib = temp_lib & wsExcel.Cells(i, idxCol) & rc
  20.       End If
  21.       Next i
  22.   Version_Fonction = temp_lib
  23. End Function


 
Merci de votre aide
 
PS : Ce n'est certainement pas le plus optimisé, mais c'est un outil de reporting interne basique
 

mood
Publicité
Posté le 29-11-2017 à 17:54:54  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] Mettre en forme une partie d'une cellule

 

Sujets relatifs
[VBA Excel] Recuperer une couleur mise en forme par conditionBarre de recherche interne au site : me mettre sur la piste
[VBA/HTML] SET de champ qui marche en F8 mais pas en F5[VBA] Lecture fichier texte
[VBA] formatage stringMise en forme Format CSV "*.cxr"
[VB /VBA /VBS] Remplir un formulaire HTML a partir d'un wordBesoin d'aide en VBA Excel Concatener + déplacement de donnée
VBA : adapter un userform à plusieurs feuilles 
Plus de sujets relatifs à : [VBA] Mettre en forme une partie d'une cellule


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR