Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/12/2011, 16h50   #1
Membre du Club
 
Inscription : septembre 2007
Messages : 177
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 177
Points : 50
Points : 50
Envoyer un message via MSN à cynoq
Bonjour,
Je cherche à coloriser une cellule contenant une formule, en fonction du résultat donné par cette formule.
Mon code actuel est le suivant :
Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub Worksheet_Change(ByVal Target As Range)
Dim plage As Range, cell As Range
Dim wsbd As Worksheet
Set wsbd = Sheets("Synthèse")
Set plage = wsbd.Range("F4:O" & wsbd.Range("O65536").End(xlUp).Row)
For Each cell In plage
If cell.Value = 1 Then cell.Interior.ColorIndex = 3
If cell.Value = 2 Then cell.Interior.ColorIndex = 45
Next cell
 
End Sub
Ma plage de cellules concernées est située de F4 à O... Je ne connais pas le nombre de lignes à l'avance.
Avec ce code, rien ne se passe.
Quelqu'un pourrait-il m'aider ?
Merci par avance.

Le message d'erreur apparaît à la ligne 7 du code avec pour message d'erreur :
Citation:
"Incompatibilité de type" n°13
__________________
Cynoq
cynoq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 22h49   #2
Membre actif
 
Homme
Ressources humaines
Inscription : janvier 2011
Messages : 172
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Ressources humaines
Secteur : Bâtiment

Informations forums :
Inscription : janvier 2011
Messages : 172
Points : 166
Points : 166
Bonsoir,

ça ne plante chez moi, mais avec ton code tu ne peut pas colorié juste une cellule mais toute la ligne (F4:O4),essaye de modifié ceci:
Code :
1
2
3
4
Dim Derlig As Long
Derlig = Range("O65536").End(xlUp).Row
Set wsbd = Sheets("Synthèse")
Set plage = wsbd.Range("F4:O" & Derlig)
Cordialement
Gestionnaire_rh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 08h00   #3
Expert Confirmé Sénior
 
Avatar de Qwazerty
 
Homme Stéphane
La très haute tension :D
Inscription : avril 2002
Messages : 2 446
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Âge : 32
Localisation : France

Informations professionnelles :
Activité : La très haute tension :D
Secteur : Service public

Informations forums :
Inscription : avril 2002
Messages : 2 446
Points : 4 620
Points : 4 620
Envoyer un message via MSN à Qwazerty
Salut

Quelle version d'Excel utilises tu?

Car dans ton cas, il me semble que le VBa n'est pas réellement utile. La mise en place de MFC (Mise en Forme Conditionnelle) seraient suffisante.

Dans le cas d'une version Excel supérieur à 2003, la mise en place de MFC serait additionnée d'un tableau qui s'adapte automatiquement lors de rajout de données.

Quand bien même tu utiliserais une version inférieur à 2007, montre nous le code que tu utilises pour ajouter les données et si les donnée sont ajouté à la main, il te suffit soit d’insérer une ligne en bas de tableau afin d'étendre automatiquement les propriétés du tableau (MFC comprises) à ta nouvelle ligne. Soit manuellement d'étendre ton tableau avant de rajouter une ligne de donnée.

++
Qwaz
__________________

MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
HammerFest
Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 10h24   #4
Membre du Club
 
Inscription : septembre 2007
Messages : 177
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 177
Points : 50
Points : 50
Envoyer un message via MSN à cynoq
Merci,
Le code était bon, je l'ai testé dans un classeur vierge et tout passe.
Je l'ai réinsérer dans mon classeur d'origine et c'est OK.
Merci pour vos réponses.
__________________
Cynoq
cynoq est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h11.


 
 
 
 
Partenaires

Hébergement Web