|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : septembre 2011 Messages : 86 ![]() |
Bonjour
,j'aimerais définir le format de cellules dans une variable pour pouvoir l'utiliser par la suite. Quelqu'un aurait-il une idée, une astuce ? Merci d'avance. PS : voici mon idée qui ne fonctionne pas : Code :
LN = .Range("A2:AF" & DerL).Interior.Color |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Chercheur de bonheur Inscription : août 2007 Messages : 2 255 ![]() |
Bonjour,
ton range conprenant plus d'une cellule, ta variable LN n'est guère suffisante pour contenir ce que tu veux y sauver. Il faut un tableau, vraisemblablement à 2 dimensions, mais l'initialisation sera a réaliser de manière différente (par boucle probablement).
__________________
(\ _ /) Cordialement G@dz (='.'=) (")-(") Vous avez des neurones. Sollicitez-les. ![]() . Si vous êtes aidé, pensez à Voter.
|
|
|
00
|
|
|
#3 | |||
|
Expert Confirmé Sénior
![]() Daniel aucune Inscription : septembre 2011 Messages : 2 004 ![]() |
Bonjour
Essaie la macro suivante; la variable Ln est un tableau des valeurs des couleurs de chaque cellule de la plage : Code :
__________________
Cordialement. Daniel Citation:
|
|||
|
00
|
|
|
#4 | ||
|
Membre régulier
![]() Inscription : septembre 2011 Messages : 86 ![]() |
Bonjour Godzestla et Daniel,
Merci de m'avoir répondu et d'essayer de m'aider ! J'ai essayé de déclarer ma variable LN comme un tableau (en prenant exemple sur une autre variable tableau qui fonctionne) mais en vain... Puis j'essaie d'utiliser le bout de code donné par Daniel mais il me met une erreur d'exécution '1004' Erreur définie par l'application ou l'objet. L'erreur est sur la première ligne (Range("A2:AF" & DerL).Copy). Code :
Merci bcp |
||
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Chercheur de bonheur Inscription : août 2007 Messages : 2 255 ![]() |
Bonjour,
attention Daniel.C, en cas de formattage conditionnel de la couleur, le code que tu proposes risque de ne pas donner le résultat escompté. Je pense qu' il est plus prudent (et plus rapide) d'initialiser directement un tableau Dynamique LN que tu redimensionnes à chaque ajout d'un élément.
__________________
(\ _ /) Cordialement G@dz (='.'=) (")-(") Vous avez des neurones. Sollicitez-les. ![]() . Si vous êtes aidé, pensez à Voter.
|
|
|
00
|
|
|
#6 | |
|
Expert Confirmé Sénior
![]() Daniel aucune Inscription : septembre 2011 Messages : 2 004 ![]() |
Pour Godzestla :
Bonjour, Tu as parfaitement raison en ce qui concerne le tableau dynamique. Je suis passé par une feuille ne sachant pas si le nombre de colonnes de la plage était fixe et comme on ne peut redimensionner que la dernière dimension... Cocotte278 n'a pas parlé de formatage conditionnel mais de la couleur de fond de cellule (interior.color). Pour Cocotte278 : Heu oui, il faut donner une valeur à DerL.
__________________
Cordialement. Daniel Citation:
|
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé
![]() Chercheur de bonheur Inscription : août 2007 Messages : 2 255 ![]() |
@Daniel.C
Citation:
Citation:
Néanmoins,ta solution est bien-sûr
__________________
(\ _ /) Cordialement G@dz (='.'=) (")-(") Vous avez des neurones. Sollicitez-les. ![]() . Si vous êtes aidé, pensez à Voter.
|
||
|
|
00
|
|
|
#8 | ||||
|
Membre régulier
![]() Inscription : septembre 2011 Messages : 86 ![]() |
Encore merci pour vos réponses.
Pour tout dire, je souhaiterais reproduire un tableau Excel dnas une ListView avec la couleur de chaque cellule (qui peut être différente selon les cellules). Il s'agit d'un planning mais j'admets que le nombre de colonne est 32. Le nombre de ligne est 16. Voici mes bouts de codes (ceux qui nous intéressent): Code :
Code :
Code :
.ListItems(.ListItems.Count).ListSubItems.Add = LN(L, C) |
||||
|
|
00
|
|
|
#9 | ||||
|
Expert Confirmé Sénior
![]() Daniel aucune Inscription : septembre 2011 Messages : 2 004 ![]() |
Citation:
Tu peux aussi, comme le suggère Godzestla utiliser : Code :
en tête de module
__________________
Cordialement. Daniel Citation:
|
||||
|
10
|
|
|
#10 |
|
Expert Confirmé
![]() Chercheur de bonheur Inscription : août 2007 Messages : 2 255 ![]() |
Je dirais même plus .
![]() ![]() Daniel.C se décarcasse pour t'aider. Si tu demandes de l'aide, le minimum du minimum est vraiment de lire les réponses et d'en tenir compte.
__________________
(\ _ /) Cordialement G@dz (='.'=) (")-(") Vous avez des neurones. Sollicitez-les. ![]() . Si vous êtes aidé, pensez à Voter.
|
|
|
01
|
|
|
#11 | ||||
|
Membre régulier
![]() Inscription : septembre 2011 Messages : 86 ![]() |
J'ai repris le bout de code que tu m'as donné :
Code :
Code :
Au fait, il sert à quoi le Base 1 ? Merci. PS : j'ai pas besoin qu'on me fasse la morale, c'est vraiment pas évident... Et en plus, si vous êtes suptils... |
||||
|
|
00
|
|
|
#12 | |
|
Expert Confirmé Sénior
![]() Daniel aucune Inscription : septembre 2011 Messages : 2 004 ![]() |
Essaie :
Code :
.ListItems(.ListItems.Count).ListSubItems.ForeColor.RGB = LN(L, c)
__________________
Cordialement. Daniel Citation:
|
|
|
00
|
|
|
#13 | ||
|
Membre régulier
![]() Inscription : septembre 2011 Messages : 86 ![]() |
Merci Daniel
Mais il n'aime pas la méthode "ForeColor". Il met une erreur de compilation "Membre de méthode ou de données introuvable". Pourtant j'avais un exemple avec qui fonctionne bien : Code :
|
||
|
|
00
|
|
|
#14 | |||
|
Expert Confirmé Sénior
![]() Daniel aucune Inscription : septembre 2011 Messages : 2 004 ![]() |
Essaie :
Code :
__________________
Cordialement. Daniel Citation:
|
|||
|
00
|
|
|
#15 | ||
|
Membre régulier
![]() Inscription : septembre 2011 Messages : 86 ![]() |
Ca ne marche toujours pas. C'est toujours le même essage d'erreur que précédemment sur ForeColor.
Je l'utilise ici : Code :
|
||
|
|
00
|
|
|
#16 | ||
|
Expert Confirmé Sénior
![]() Daniel aucune Inscription : septembre 2011 Messages : 2 004 ![]() |
Au fait, j'ai oublié :
signifie que le le premier item d'une table a pour indice 1. Par défaut, c'est 0. Selon le cas, il est plus facile de travailler avec l'un ou l'autre. Des utilisateurs ont aussi du mal avec le 0 origine. Citation:
__________________
Cordialement. Daniel Citation:
|
||
|
00
|
|
|
#17 | ||||
|
Membre régulier
![]() Inscription : septembre 2011 Messages : 86 ![]() |
Ok merci Daniel pour l'explication
ForeColor fonctionne dans le dernier code que je t'ai montré Code :
Code :
|
||||
|
|
00
|
|
|
#18 | |||
|
Expert Confirmé Sénior
![]() Daniel aucune Inscription : septembre 2011 Messages : 2 004 ![]() |
Au temps pour moi, mets :
Code :
Code :
.ListItems(.ListItems.Count).ListSubItems.ForeColor = RGB(255, 0, 0)
__________________
Cordialement. Daniel Citation:
|
|||
|
00
|
|
|
#19 | ||
|
Membre régulier
![]() Inscription : septembre 2011 Messages : 86 ![]() |
Bonjour Daniel,
Ce que tu me proposes ne fonctionne malheureusement pas... Je cherche en vain... Voici mon code : Code :
|
||
|
|
00
|
|
|
#20 | |
|
Expert Confirmé Sénior
![]() Daniel aucune Inscription : septembre 2011 Messages : 2 004 ![]() |
Bonjour,
Tu ne peux pas colorier l'ensemble des subitems, il faaut le faire item par item : Code :
ListView1.ListItems(1).ListSubItems(1).ForeColor = RGB(255, 128, 128)
__________________
Cordialement. Daniel Citation:
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com