Recherche d'1 cellule Excel / à sa couleur. Urgent!!!!!

cs_pou Messages postés 2 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 17 avril 2003 - 15 avril 2003 à 09:18
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 - 17 avril 2003 à 10:06
je suis très grand débutant en VBA, et je cherche une portion de code permettant de trouver dans un tableau Excel une cellule en fonction de sa couleur intérieure... existe-t-il une possibilité avec Find ou quelque chose dans le genre?
En fait , je "dévellope" une petite application à partir d'Excel pour la gestion de fiche de traitement dans les hopitaux (je suis infirmier et j' essaye à mon petit niveau de faire entrer l'informatique et ses possibilités dans mon établissement), à partir d'une série de formulaires et de macros.

3 réponses

cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
15 avril 2003 à 09:38
A ce que je sache, il n'y a pas de méthode Find ou autre pour faire une recherche de cellule sur base de sa couleur.

Ce que tu dois faire, c'est délimiter ta plage de recherche puis passer en revue chacun des cellules afin de voir quel est la couleur de fond définie.

J'espère avoir pû t'aider même si je n'ai pas mis de code.

PS. : dis-moi "POU" pour un infirmier, ça ne fait pas très professionnel ça. ;-)
0
cs_pou Messages postés 2 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 17 avril 2003
17 avril 2003 à 09:44
Merci de cette réponse, je ne pensais avoir de l'aide aussi rapidement... quand je dis que je suis grand débutant, en voici la preuve:
comment fait-on pour "passer en revue" les cellules du point de vue du code (quelquechose du genre for each...next et like?!?) ?

Merci à nouveau pour votre aide éventuelle, sinon j'essairais de me débrouiller seul...

PS: Pou est le surmon que me donne ma femme; et pour un infirmier, ça fait un peu poil à gratter...(comme Linux en matière OS)
0
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
17 avril 2003 à 10:06
Pour passer en revue les cellules, il y a plusieurs méthodes qui dépendent un peu de la manière dont ta feuille se présente.

1ère méthode:
-----------------
Tu veux passer en revue les cellules d'une colonne dont les données se suivent sans interruption.
Dim NbreLignes as Integer
Dim Ligne as Integer
NbreLignes = MaFeuille.Range("A1").CurrentRegion.Rows.Count

For Ligne = 1 to NbreLignes
If MaFeuille.Range("A" & Ligne).Text = "Toto" Then
...
End If
Next

Tu peux adapter le code pour passer en revue les colonnes d'une même ligne

Dim Colonne As Integer
Dim NbreColonnes As Integer
NbreColonnes = MaFeuille.Range("A1").CurrentRegion.Columns.Count

For Colonne = 1 to NbreColonne
If MaFeuille.Cells(1, Colonne).Text = "Toto" Then
...
End If
Next

2ème Méthode:
------------------
Passer en revue les cellules d'une plage de cellule.

For Ligne = 1 To NbreLignes

For Colonne = 1 To NbreColonnes

If MaFeuille.Cells(Ligne, Colonne).Text = "Toto" Then
...
End If

Next Colonne

Next Ligne

3ème méthode:
------------------
Toujours pour passer en revue toutes les cellules d'une plage

Dim Cellule As Cell
Dim Plage As Range

Plage = MaFeuille.Range("A1").CurrentRegion.Address

For Each Cellule In Plage.Cells

If Cellule.Text = "TOTO" Then
...
End If

Next

Voilà... en espérant que ça marche...
Bon courage... Ca me rappelle mes débuts dans la programmation où je m'étais fait également de petites applications en Excel.
0
Rejoignez-nous