Colorier un nombre de cellules sur une plage définie
zanzib91
Messages postés5Date d'inscriptionjeudi 28 mai 2009StatutMembreDernière intervention15 juin 2009
-
28 mai 2009 à 22:16
zanzib91
Messages postés5Date d'inscriptionjeudi 28 mai 2009StatutMembreDernière intervention15 juin 2009
-
6 juin 2009 à 19:20
Bonjour à tous,
j'ai un petit souci de novice :
Sur excel :
dans un champs je tappe 7 et dans un autre je selectionne un code correspondant à une plage de 9 cellules.
Je souhaite que la macro me colorie 7 cases de la plage selectionnée (qui peut être sur deux colonnes soit dit en passant)
Est-ce que quelqu'un à la méthode pour résoudre mon problème sachant qu'il y a une trentaine de codes répondant à 30 plages différentes.
Je sais que c'est un peu coton mais je n'ai rien trouvé sur le net à part des MFC qui ne répondent pas à ma question.
Petite précision : les cellules à remplir sont vides!
je peux envoyer le fichier si besoin
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 29 mai 2009 à 09:33
Salut
Catégorie de la question modifiée VB.Net --> VBA
(rappelle t-en, merci)
Tes questions sont étranges :
"peut être sur deux colonnes" : et ça change quoi ? explique
"qu'il y a une trentaine de codes répondant à 30 plages différentes." : de quoi parles-tu ?
"rien trouvé sur le net à part des MFC" : tu métonnes ! Les MFC décrivent des protocoles, des normes, que veux-tu y trouver sur un applicatif comme Excel ?
Pour scanner les X cellules d'une plage, il y a la syntaxe classique que tu aurais pu trouver dans l'aide :
Dim maCell As Object
For Each maCell In Range("A1:B12")
maCell.Value = "Toto"
Next
A toi de voir ce que tu veux faire avec tes 7, tes 9 et tes "codes"
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
zanzib91
Messages postés5Date d'inscriptionjeudi 28 mai 2009StatutMembreDernière intervention15 juin 2009 29 mai 2009 à 21:03
salut
par MFC j'entendais mise en forme conditoinnelle...
en gros, chaque plage possède son code et est définie par des lignes et des colonnes ex : Q02 (nom plage) = C1:D12.
En tapant 7 en A1 et Q02 en A2, cela me colorie 7 cases de la plage.
Je me suis mal exprimé mais c'est aussi parce que je n'y connait pas grand chose en VBA. Et c'est pour cela que je compte sur votre aide.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 30 mai 2009 à 19:20
Oups, j'ai confondu MFC avec RFC (pas réveillé)
Oui, 7 cases de la plage, mais lesquelles ? dans quel ordre ? difficile puisque tu as 2 colonnes.
La syntaxe proposée fonctionne, il te suffit d'y ajouter les instructions de coloriage.
Pour trouver la syntaxe de ces coloriages, enregistre un macro penda t que tu colories à la main une cellule, puis tu vas voir le code généré dans les macros de la feuille.
Par exemple, j'ai colorié le fond de la cellule active en jaune et ça me donne :
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
Ensuite, tu utilises ce code et, à la place de la référence à la cellule utilisée pour cet enregistrement (Selection), tu mets le contenu de la cellule A1 et A2 ... tu étoffes le code pour le rendre paramétrable, quoi.
A toi de jongler avec les Offset si besoin ...
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)