Macro:remplir cell1 par rapport couleur cell2

Résolu
jossdi Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -  
jossdi Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je suis complètement débutant en macro excel.
je voudrais savoir comment remplir une cellule avec un texte en fonction de la couleur d'une autre.
autrement dit:
si la cellule B5 est de couleur bleu alors le message "après-midi apparait dans la cellule C5.
merci d'avance pour votre aide.
jossdi
A voir également:

13 réponses

Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
je pense que tu peux faire un truc du genre
if cells(2,5).interior = "code couleur" then
"instructions"
else
...



endif
0
tigrou
 
si la cellule B5 est de couleur bleu alors le message "après-midi apparait dans la cellule C5.
if range("B" & i).interior = 5 then
range("B" & i).value = "après-midi"
end if

sert toi du i comme d une variable
0
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
le deuxieme range c'est range ("C" & i)
mais sinon la solution doit marcher!
0
jossdi Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
j'ai essayé avec le code suivant:

Sub technologydetail()
If Range("B" & i).interioe = 5 Then
Range("C" & i).Value = "après-midi"
End If
Sheets("technologydetail").Select
End Sub

mais ça ne fonctionne pas.
que puisse modifier pour arriver à mes fins?

Yohann
0
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
as tu bien vérifier que c'était le bleu "5" que tu mettais dans la cellule B5?
pke il y a plein de bleus...
0
jossdi Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
Steefif,
la macro ne s'exécute même pas.
j'ai un message d'erreur; le voici:
erreur d'exécution '1004':
la méthode 'range' de l'objet'_Global'a échoué
0
jossdi Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
je pense à un truc si je dois prendre i comme une variable, ne faut il pas la déclarer
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
alorsil faut mettre.interior, je sai spas si c'ets une faute de frappe ou pas, mais t'a smis .interioe dans ton message.
si c'ets un copier coller faut remédier à ca.
et avant le range il faut que tu séléctionne le sheet à activer
en gors sheets("feuil1").activate par exemple.
voilou.
essaye avec ca, si t'as d'autres soucis, je vais faire des tests
0
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
si il faut que tu mettes tout ca dans une boucle for :

for i = 1 to Cells(Rows.Count, 1).End(xlUp).Row

comme ca ca va te faire ton programme sur toutes tes valeurs
0
jossdi Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
Désolé d'être si nul mais je galère grave...
ci-dessous voici tout le code de ma macro


Sub technologydetail()
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Range("B" & i).Interior = 5 Then
Range("C" & i).Value = "après-midi"
End If
Next
Sheets("technologydetail").Select
End Sub

j'ai essayé de suivre à la lettre tes instructions mais sans résultats
toujours le même message d'erreur et la ligne "if Range("B"&i).interior = 5 Then" surlignée en jaune peut être est ce sur cette ligne qu'il y a le problème?
0
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
je vais jeter un coup d'oeil bouge pas
0
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
sub macro_test

Sheets("Feuil2").Activate
For j = 1 To 90
If j Mod 3 = 0 Then
Cells(j, 2).Interior.ColorIndex = 5
End If
Next j

//là c'ets une phase test j'ai rempli quelques cellules en bleues

For i = 1 To 90
Sheets("Feuil2").Activate
If Cells(i, 2).Interior.ColorIndex = 5 Then
Sheets("Feuil1").Activate
Cells(i, 3).Value = "après-midi"
End If
Next i
Sheets("Feuil1").Select
End Sub

//et là ca marche par contre il faut changer le nombre dans la boucle for
//j'ai mis 90
//mais tu peux changer et mettre ce que tu veux

voila
0
jossdi Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
ok ça marche!!!!!
je te remercie Steefif.
ça fait deux jours que je bloquais sur le sujet.....
je trouve ça cool de ta part de m'avoir filé un coup de main.
il faudra à l'avenir que j'achète un bouquin sur le sujet quand même.

a+
0
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
pas la peine, j'ai appris vba il y a 3 semaine smaintenant
regarde l'aide elle est tres bien.
et sinon tu as toujours les gens d'ici!
moi on m'a bcp aidé!
0
jossdi Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
dac je suivrais ton conseil comme toujours!
;-)
0
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
sujet résolu?
=)
0
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
peux tu mettr ele sujet comme résolu stp? ca fait plus joli quand meme!
=)
0
jossdi Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
it's OK!
0