Colorer une cellule selon condition
nonossov
Messages postés
638
Statut
Membre
-
nonossov Messages postés 638 Statut Membre -
nonossov Messages postés 638 Statut Membre -
Bonjour mes amis,
Je vouderai m'aider a trouver une macro qui colore si la valeur de cette cellule n'est pas disponible dans une autre feuil?
Je vouderai m'aider a trouver une macro qui colore si la valeur de cette cellule n'est pas disponible dans une autre feuil?
Configuration: Windows / Firefox 52.0
2 réponses
-
Bonjour,
Vous pouvez développer un peu plus……..!!!-
Bonsoir,
voila, j'ai deux deux Feuil 1 et 2, dans la colonne D de la Feuil 1 :
J'ai par exemple :
0AAA
69999
44566
0BBBB
67777
45666
0XXXXX
68888
0ZZZZ
611111
......
et dans la colonne A de la Feuil 2, j'ai par exemple:
0BBBB
0ZZZZ
0XXXXX
0EEEEE
0SSSSS
.....
la macro va chercher les 0**** dans la Feuil1 colonne D sur la colonne A Feuil2, si le trouve il va rien faire sinon il colore les cellules non trouvées de la colonne C.
Merci infiniment, -
-
-
Re,
Vous avez une partie du code ici:
https://forums.commentcamarche.net/forum/affich-35744823-executer-deux-tache-excel -
-
-
Bonjour,
une facon de faire
Sub Calcul_Date_Couleur() Dim Plage As Range Dim sh1 As Worksheet Dim sh2 As Worksheet Set sh1 = Worksheets("feuil1") Set sh2 = Worksheets("feuil2") With sh1 derlig = .Range("D" & .Rows.Count).End(xlUp).Row 'derniere cellule non vide colonne A Set Plage = .Range("D1:D" & derlig) 'mise en memoire plage de cellules nb1 = Application.CountIf(Plage, "0*") 'nombre de fois "0" et lettre If nb1 > 0 Then ligsh1 = 1 For n = 1 To nb1 If n > 1 Then ligsh1 = .Columns(4).Find("0*", .Cells(ligsh1, 4), , xlWhole).Row Else 'pour cellule ligne 1 If .Cells(1, 4) Like "0*" Then ligsh1 = 1 End If End If VLsh1D = .Cells(ligsh1, 4) VLsh1A = .Cells(ligsh1, 1) With sh2 nb2 = Application.CountIf(.Columns(1), VLsh1D) If nb2 > 0 Then If .Cells(1, 1) = VLsh1D Then ligsh2 = 1 Else ligsh2 = .Columns(1).Find(VLsh1D, .Cells(1, 1), , xlWhole).Row End If VLsh2 = .Cells(ligsh2, 3) If IsDate(VLsh1A) And IsNumeric(VLsh2) Then sh1.Cells(ligsh1, 9) = VLsh1A + VLsh2 End If Else sh1.Cells(ligsh1, 4).Interior.Color = vbRed End If End With Next n End If End With Set Plage = Nothing End Sub