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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA excel

n°2177825
cmyriam
Posté le 27-02-2013 à 17:30:33  profilanswer
 

Bonjour,
 
Je suis debutante en vba et j'ai donc besoin de votre aide.
Voila j'ai un tableau de donnee du style:
       1  2  3  4  5  6  7  8  9  10
FR1  A  T G  C  A  G  C  T  C  G  
FR2  A  T G  C  T  N  C  T  C  G
FR3  A  T G  C  A  G  G  C  C  G
FR4  A  T A  A  A  G  G  T  T  G
FR5  A  C G  A  A  C  C  T  N  C  
FR6  A  T G  G  T  C  N  C  T  G
 
J'aimerai surligne/ colorie les cases de chaque colonne qui sont differentes de la 1er ligne.
Par exemple pour la colonne 4, je voudrais colorie les A en rouge et le G en vert (car ils sont differents de C qui est sur la 1er ligne). De plus, je voudrais que tous les N soient colories en orange.
 
J'ai essaye de faire un code que voila:
 

Code :
  1. Sub Color_cells_In_All_Sheets()
  2. Dim FirstAddress As String
  3. Dim MySearch As Variant
  4. Dim myColor As Variant
  5. Dim Rng As Range
  6. Dim I As Long
  7. Dim sh As Worksheet
  8. MySearch = Array("N" )
  9. myColor = Array("3" )
  10. For Each sh In ActiveWorkbook.Worksheets
  11. With sh.Cells
  12. .Interior.ColorIndex = xlColorIndexNone
  13. For I = LBound(MySearch) To UBound(MySearch)
  14. Set Rng = .Find(What:=MySearch(I), _
  15. After:=.Cells(.Cells.Count), _
  16. LookIn:=xlFormulas, _
  17. LookAt:=xlWhole, _
  18. SearchOrder:=xlByRows, _
  19. SearchDirection:=xlNext, _
  20. MatchCase:=False)
  21. If Not Rng Is Nothing Then
  22. FirstAddress = Rng.Address
  23. Do
  24. Rng.Interior.ColorIndex = myColor(I)
  25. Set Rng = .FindNext(Rng)
  26. Loop While Not Rng Is Nothing And Rng.Address <> FirstAddress
  27. End If
  28. Next I
  29. End With
  30. Next sh
  31. End Sub


 
Mais lorsque je le lance, j'ai un overflow...
 
Est-ce que quelqu'un, comprend ce qui ne va pas dans mon code.
Sinon, quelqu'un peut-il me proposer un autre code.
 
Merci.

mood
Publicité
Posté le 27-02-2013 à 17:30:33  profilanswer
 

n°2177890
Marc L
Posté le 27-02-2013 à 23:09:28  profilanswer
 

 
           Bonjour.    Pour l'overflow, rien ne me frappe à part peut-être les  .Cells  en ligne 15 vis à vis du  With  en ligne 11 …
 
           Autres points :
 
           - ligne 10 :  boucle sur toutes les feuilles mais il est question d'un tableau, pourquoi le chercher alors sur toutes les feuilles ?
 
           - ligne 14 :  recherche sur toutes les cellules de la feuille au lieu de celles du tableau uniquement …
 
           - ligne 16 :  recherche dans les formules, cela ne serait pas mieux dans les valeurs ?
 
           - Pas de test comparatif entre les cellules de la première ligne et celles des suivantes composant le tableau,
             donc toute cellule trouvée est coloriée, même hors tableau, sans tenir compte de la première ligne …
 
           Donc mettre à plat la problématique pour revoir le schéma / la logique / l'organigramme du code, sinon c'est l'usine à gaz assurée ‼
 

n°2177909
cmyriam
Posté le 28-02-2013 à 09:19:48  profilanswer
 

Okay, je vais essayer ca.
Merci.

n°2177915
hush hush
je savais que ça te plairait
Posté le 28-02-2013 à 10:03:32  profilanswer
 

+1
Et par pitié, des tabulations :o

n°2177926
cmyriam
Posté le 28-02-2013 à 10:41:51  profilanswer
 

J'ai finalement reussi a faire mon fichier.
Le probleme c'est que ca prend en compte le casse.
C'est a dire que ca me colorie les lettres en minuscules alors que se sont les meme lettres que celle en majuscule.
Existe t-il une fonction qui me permette de ne pas surligner les lettres minuscules identiques a la lettre majuscule de depart?
Merci.

n°2177945
hush hush
je savais que ça te plairait
Posté le 28-02-2013 à 12:08:02  profilanswer
 

Tu utilise quelle fonction pour comparer?
Si recherche, ça doit être dans le paramètre matchcase
Si tu fais une comparaison par égalité, tu peux tout passer en majuscules ou minuscules : http://silkyroad.developpez.com/VB [...] eres/#LI-G


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

  VBA excel

 

Sujets relatifs
Utiliser librairies R.euters E.ikon sur Excel VBACréation d'une action en VBA Excel - Besoin d'aide
[HELP] VBA sur ExcelVBA (Excel 2010) Syntaxe Range
(VBA) excel 2003 erreur 1004VBA excel fonctionne en 2010 et plante en 97?
[VBA / Excel] supprimer une ligne sur deux[VBA / Excel] Modéliser dette dynamiquement
Plus de sujets relatifs à : VBA excel


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