recherche avec coloriage de cellule

melgasa

XLDnaute Nouveau
Bonjour,
je voudrais faire la recherche des données dans une feuille contenant plusieurs données et, si le resultat est trouvé, colorier la cellule en question et passer à la cellule suivante qui est validée.
la recherche se passe comme suit:
dans la feuille données j'entre mes informations et la recherche se fait dans la feuille base et s'il trouve il me colorie la cellule dans la feuille données en vert (où j'ai entré la donnée), sinon en jaune.
Plus tard j'aimeraisque ça se fasse automatiquement dès que les informations changent.
j'ai écrit ce code en vba qui marche pour une colonne et c'est la cellule suivante qui est coloriée surement à cause du offset mais quand je mets range (c) ça ne donne rien . j'aimerais pouvoir le faire pour les données de toutes mes cellules.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 1 And Target.Count = 1 Then
      p = Application.Match(Target, Application.Index([données], , 1), 0)
      If Not IsError(p) Then
        Target.Offset(0, 1).Interior.ColorIndex = 4
        Else
        Target.Offset(0, 1).Interior.ColorIndex = 6
      End If
   End If
End Sub
 

Pièces jointes

  • gestion sinistre1.xlsm
    22.3 KB · Affichages: 65

musard

XLDnaute Nouveau
Re : recherche avec coloriage de cellule

Je ne comprend pas pourquoi tu utilises Offset, cela te décale la cellule active et je pense ne te sert à rien dans le cas présent.
A mon avis tu devrais au préalable définir la plage à colorier. un peu comme ça :
Code:
Dim rgCol As Range
rgCol = Range("A" & c.Rows & ":G" & c.Rows)

Ensuite tu appliques la couleur sur la plage de cellules
 

melgasa

XLDnaute Nouveau
Re : recherche avec coloriage de cellule

il ne s'agit pas d'appliquer la couleur à une plage, il s'agit de faire une recherche si le resultat est trouvé alors appliquer une couleur à cette cellule sinon appliquer une autre couleur. mon problème effectivement c'est que je trouve pas la commande pour dire a excel si tu trouves place toi sur la cellule en question et colorie la en vert. je le fais aisement avec offset en lui disant de colorier la cellule suivante.
 

melgasa

XLDnaute Nouveau
Re : recherche avec coloriage de cellule

Merci mais pourrais tu m'expliquer ton code?
je voudrais quelque chose de dynamique dans mon vba. je ne sais pas si quelqu'un me comprend. je voudrais que la recherche puisse faire dans n'importe quelle cellule et le resultat s'appliqer à la cellule en question par la couleur affectée suivant le résultat (trouvé en vert et pas trouvé en jaune).
 

melgasa

XLDnaute Nouveau
Re : recherche avec coloriage de cellule

j'ai moi même trouvé la solution à mon pb mais ça ne marche sue deux colonnes je sais pas trop pourquoi. Quelqu'un pourrait-il examiner ce code pour moi?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
p = Application.Match(Target, Application.Index([courtier], , 1), 0)
m = Application.Match(Target, Application.Index([matricule], , 1), 0)
g = Application.Match(Target, Application.Index([garantie], , 1), 0)
o = Application.Match(Target, Application.Index([opération], , 1), 0)
If Not IsError(p) Or Not IsError(g) Or Not IsError(m) Or Not IsError(o) Then
Target.Offset(0, 0).Interior.ColorIndex = 4
Else
Target.Offset(0, 0).Interior.ColorIndex = 3
End If
End If
End Sub

Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
For Each c In [A2:F13]
p = Application.Match(c, Application.Index([courtier], , 1), 0)
m = Application.Match(c, Application.Index([matricule], , 1), 0)
g = Application.Match(Target, Application.Index([garantie], , 1), 0)
o = Application.Match(Target, Application.Index([opération], , 1), 0)
If Not IsError(p) Or Not IsError(g) Or Not IsError(m) Or Not IsError(o) Then
c.Offset(0, 0).Interior.ColorIndex = 4
Else
c.Offset(0, 0).Interior.ColorIndex = 3
End If
Next c
Application.ScreenUpdating = True
End Sub
 

Pièces jointes

  • resultat.jpg
    resultat.jpg
    97.9 KB · Affichages: 76
  • resultat.jpg
    resultat.jpg
    97.9 KB · Affichages: 72
  • resultat.jpg
    resultat.jpg
    97.9 KB · Affichages: 80
Dernière édition:

melgasa

XLDnaute Nouveau
Re : recherche avec coloriage de cellule

bonjour
j'ai un nouveau problème à propos de mon application vb. voila j'aimerais rechercher la valeur d'une cellule dans une autre feuille dans le même classeur. mais attention , la cellule en question n'est pas toujours la meme et la ligne de la feuille de base n'est pas toujours la meme. j'ai vu un exemple lorsque la celle est tjrs la même je l'ai testé ça marche. mais j'arrive pas à le faire dynamiquement.
merci
 

Discussions similaires

Réponses
2
Affichages
142

Statistiques des forums

Discussions
312 225
Messages
2 086 412
Membres
103 202
dernier inscrit
Claire2BM