Probleme VBA

Résolu
Bonjour A TOUS,

J'ai 31 feuilles sur celle-ci je met un bouton avec une vba que voici :

Sub Resultat_Presse()
Dim r As Range
For Each r In Range("presse")
If Range("b1") = r Then
r.Interior.ColorIndex = 3
ElseIf Range("c1") = r Then
r.Interior.ColorIndex = 47
ElseIf Range("d1") = r Then
r.Interior.ColorIndex = 6
ElseIf Range("e1") = r Then
r.Interior.ColorIndex = 43
ElseIf Range("f1") = r Then
r.Interior.ColorIndex = 44
End If
Next
End Sub

est-il possible de faire fonctionner sur toutes les feuilles ?

merci a tous

Cdlmnt :)

9 réponses

  1. Bonjour,
    Oui faire une boucle sur les feuilles du classeur :
    For Each sh In Worksheets
    '......votre code
    '......
    Next sh
    

    1. Bonjour,
      merci, mais pas trés fort en Vba, si je comprend 'votre code' est ma Vba ?

      Cdlmnt ;)
  2. Bonjour,
    Il faut mettre votre code à l'intérieur de la boucle et bien sûr prendre en compte la feuille en cour [sh]

    Indiquez-moi à quoi correspond exactement :
    Range("presse")

  3. Bonjour,
    Merci pour l'exemple.
    Par contre votre [Range("presse")] donne la référence de la feuille 1. Donc n'est pas valable pour les autres.
    Votre code ne fonctionne que pour la feuille 1.
    C'est vraiment compliqué de comprendre ce que vous voulez faire alors je suppose ceci :
    Sur chaque feuille je veux une couleur de fond pour chaque cellule de la plage [B1 :I34] qui correspond à la valeur de référence de la plage [B1 :F1]
    Réponse..........
    Autre problème que faites-vous avec la mise en forme conditionnelle de la feuille 1 car c'est elle qui est prioritaire (exemple la cellule [B3] ne peux pas prendre la couleur rouge car la MFC oblige le gris... !
    Réponse.......
    1. re,
      excuser moi je n'est pas fait attention je vous renvois le fichier mieux éclairer.
      oui vous avez raison pour chaque feuille je veux la couleur de fond et pour la mise en forme je vous l'enlève sur ce fichiers :

      https://www.cjoint.com/c/EGwnJwwcxTx

      A savoir que plus tard fichier fini il y aura 31 feuilles

      Cdlmnt :)
  4. Bonjour,
    En attendant vos réponses, il serait beaucoup plus simple d'utiliser la mise en forme conditionnelle.
    Par exemple vous fixez la MFC pour la feuille 1 et ensuite il vous suffit de sélectionner la plage concernée (B1 ;I34] puis clic sur l'outil reproduire la mise en forme (petit pinceau en haut à gauche). Pour coller la mise en forme conditionnelle, faites glisser le pinceau sur les cellules ou plages de cellules à mettre en forme.

    1. Bonjour,
      Merci, je comprends que l'option MFC (se réalise en 2 minutes sur 1 à 50 feuilles) ne vous intéresse pas.
      La macro dans la soirée

      Note: pour la mise en forme je vous l'enlève sur ce fichiers ----> je le fais moi-même sur les autres feuilles (2, 3 et 4)...!

      Salutations.
      Le Pingou
      1. re,
        excuser moi j'ai été absent mais je ne connais pas le MFC
        Je suis novice et c grâce a des personne comme vous qui donne des éléments que nous avançons
        mais toutes proposition ou explication m'intéresse
        merci encore

        Cdlmnt :)
    2. Bonjour,
      Je vous laisse la découverte.
      Votre fichier : http://www.cjoint.com/c/EGwqnEs1vgY

      1. re,
        j'ai essayer cela marche pour "resultat" mais pas pour " effacer couleur ",
        je vous remercie pour le travail mais 2main je change le fichier avec de nouveaux
        paramètre, les Vba resterons les même nous vous inquiéter pas, il y en aura une de plus

        merci encore et a 2 main, si cela vous ne dérange pas pour me donner un petit coup de main

        Cdlmnt
    3. Bonjour,
      Le fichier avec la correction (problème de [Range ("presse")] qui fait référence à feuille 1 qui m'a échappé
      Le fichier : http://www.cjoint.com/c/EGwuHt1SLtY

      1. Bonjour,
        merci cela marche trés trés bien,encore un grand merci

        Cdlmnt :)
    4. Bonjour.
      Merci, de rien, bonne suite.
      1. Re bonjour,
        j'ai changer mon fichier et je voudrais te demander un petit coup de main
        regarde en page "resultat" le voici :
        https://www.cjoint.com/c/EGxpEbxFQyx
        dit moi que c'est possible

        merci encore

        Cdlmnt
    5. Bonjour,
      J'ai regardé la feuille [Resultat] et les notes.
      A la question, est-ce possible, je pense que c'est réalisable pour autant que l'on connaisse le sujet. Ce qui n'est pas mon cas.
      Désolé mais je ne peux pas vous apporté mon aide.