Macro:remplir cell1 par rapport couleur cell2

Résolu
jossdi Messages postés 22 Date d'inscription   Statut Membre -  
jossdi Messages postés 22 Date d'inscription   Statut Membre -
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
Configuration: Windows XP
Firefox 2.0.0.15

13 réponses

  1. Steefif Messages postés 526 Statut Membre 19
     
    je pense que tu peux faire un truc du genre
    if cells(2,5).interior = "code couleur" then
    "instructions"
    else
    ...

    endif
    0
  2. 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
  3. Steefif Messages postés 526 Statut Membre 19
     
    le deuxieme range c'est range ("C" & i)
    mais sinon la solution doit marcher!
    0
    1. jossdi Messages postés 22 Date d'inscription   Statut Membre
       
      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
  4. Steefif Messages postés 526 Statut Membre 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
    1. jossdi Messages postés 22 Date d'inscription   Statut Membre
       
      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
    2. jossdi Messages postés 22 Date d'inscription   Statut Membre
       
      je pense à un truc si je dois prendre i comme une variable, ne faut il pas la déclarer
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Steefif Messages postés 526 Statut Membre 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
  7. Steefif Messages postés 526 Statut Membre 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
  8. jossdi Messages postés 22 Date d'inscription   Statut Membre
     
    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
  9. Steefif Messages postés 526 Statut Membre 19
     
    je vais jeter un coup d'oeil bouge pas
    0
  10. Steefif Messages postés 526 Statut Membre 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
    1. jossdi Messages postés 22 Date d'inscription   Statut Membre
       
      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
  11. Steefif Messages postés 526 Statut Membre 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
    1. jossdi Messages postés 22 Date d'inscription   Statut Membre
       
      dac je suivrais ton conseil comme toujours!
      ;-)
      0
  12. Steefif Messages postés 526 Statut Membre 19
     
    sujet résolu?
    =)
    0
  13. Steefif Messages postés 526 Statut Membre 19
     
    peux tu mettr ele sujet comme résolu stp? ca fait plus joli quand meme!
    =)
    0
  14. jossdi Messages postés 22 Date d'inscription   Statut Membre
     
    it's OK!
    0