Colorier un nombre de cellules sur une plage définie

zanzib91 Messages postés 5 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 15 juin 2009 - 28 mai 2009 à 22:16
zanzib91 Messages postés 5 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 15 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

Please help

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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)
0
zanzib91 Messages postés 5 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 15 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.

Merci
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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)
0
zanzib91 Messages postés 5 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 15 juin 2009
6 juin 2009 à 19:20
Ca y est j'ai trouvé la solution,
en cherchant bien, on trouve!

merci pour tes pistes !

A bientot
0
Rejoignez-nous