Votre question
Résolu

VBA : Rechercher valeur et sélectionner la cellule correspondant + 2 au dessus

Tags :
  • VBA
  • Microsoft Excel
Dernière réponse : dans Programmation
2 Octobre 2017 11:19:20

Bonjour à tous,

Débutant en VBA (depuis deux jours) je suis actuellement face à un problème qui m'empêche d'avancer, j'ai bien chercher des solutions sur le net mais je n'arrive pas à les adapter à ma macro ...

Voici la macro en question :

Dim cel
Dim plage1 As Range

Set plage1 = Sheets("JAN").Range("C7:AG122")

For Each cel In plage1
If cel.Text = Sheets("Para").Range("F3") Then
cel.Interior.ColorIndex = 4

Else
If cel.Text = Sheets("Para").Range("F4") Then
cel.Interior.ColorIndex = 3

End If
End If
Next cel


Le but de cette macro est de repérer dans la feuille "JAN" dans la plage de cellule de C7 à AG 122 la valeur "CONFIRME" équivalent à la cellule F3 de la feuille "Para" et de colorier les cellule trouver en vert. Sinon si la valeur des cellules est égal à "OPTION" qui correspond à la cellule F4 de la feuille "Para" alors colorie en rouge.

Alors tout marche très bien pour les cellules trouvé mais je n'arrive pas à ajouter la condition, colorie également les cellule des deux lignes au dessus et la ligne en dessous de la même colonne à chaque valeur trouver.

Merci d'avance si vous avez des pistes, je continue les recherches de mon côté :) 

Autres pages sur : vba rechercher valeur selectionner cellule correspondant

Meilleure solution

2 Octobre 2017 16:06:46

swiffswiffer a dit :
Bonjour à tous,

Débutant en VBA (depuis deux jours) je suis actuellement face à un problème qui m'empêche d'avancer, j'ai bien chercher des solutions sur le net mais je n'arrive pas à les adapter à ma macro ...

Voici la macro en question :

Dim cel
Dim plage1 As Range

Set plage1 = Sheets("JAN").Range("C7:AG122")

For Each cel In plage1
If cel.Text = Sheets("Para").Range("F3") Then
cel.Interior.ColorIndex = 4

Else
If cel.Text = Sheets("Para").Range("F4") Then
cel.Interior.ColorIndex = 3

End If
End If
Next cel


Le but de cette macro est de repérer dans la feuille "JAN" dans la plage de cellule de C7 à AG 122 la valeur "CONFIRME" équivalent à la cellule F3 de la feuille "Para" et de colorier les cellule trouver en vert. Sinon si la valeur des cellules est égal à "OPTION" qui correspond à la cellule F4 de la feuille "Para" alors colorie en rouge.

Alors tout marche très bien pour les cellules trouvé mais je n'arrive pas à ajouter la condition, colorie également les cellule des deux lignes au dessus et la ligne en dessous de la même colonne à chaque valeur trouver.

Merci d'avance si vous avez des pistes, je continue les recherches de mon côté :) 


Salut,
Alors tout simplement:
  1. '...
  2. If cel.Text = Sheets("Para").Range("F3") Then
  3. cel.Interior.ColorIndex = 4
  4. cel.offest(-2,0).Interior.ColorIndex = 4
  5. cel.offest(-1,0).Interior.ColorIndex = 4
  6. cel.offest(1,0).Interior.ColorIndex = 4
  7. '...


P.S. il est préférable d'utiliser ".value" plutôt que ".text", et spécifie le toujours
(... = Sheets("Para").Range("F3").Value)
partage
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS