Colorier un nombre de cellules sur une plage définie

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

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

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

Ca y est j'ai trouvé la solution,
en cherchant bien, on trouve!

merci pour tes pistes !

A bientot