Colorer une cellule selon condition

nonossov Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   -  
nonossov Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   -
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?



Configuration: Windows / Firefox 52.0

2 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Vous pouvez développer un peu plus……..!!!
2
nonossov Messages postés 610 Date d'inscription   Statut Membre Dernière intervention  
 
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,
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

colore les cellules non trouvées de la colonne C.
Z'etes sur de la colonne???
0
nonossov Messages postés 610 Date d'inscription   Statut Membre Dernière intervention  
 
Pardon :), j'ai voulu dire colonne D. Merci
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
0
nonossov Messages postés 610 Date d'inscription   Statut Membre Dernière intervention  
 
Oui vous m'avez donné la premiere partie, j'ai fait qlq modication mais j'ai tjrs besoin de la deuxieme, de colorer les 0**** qui ne figure pas dans Feuil 2.
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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
2
nonossov Messages postés 610 Date d'inscription   Statut Membre Dernière intervention  
 
Merci infiniment, est ce que c'est possible d'ajouter une simple condition: si la macro ne trouve pas les chiffres dans colonne C de Feuil2 elle ne fait rien, c-a-d elle ne colle pas la date de Feuil 1 colonne A. elle laisse la cellule correspondante vide.
0
nonossov Messages postés 610 Date d'inscription   Statut Membre Dernière intervention  
 
Je suis vraiment désolé car a chaque fois j'ajoute qlq chose.

Désolé
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

chaque fois j'ajoute qlq chose.

Y a as d'lezard

code modifie:

                        If IsDate(VLsh1A) And IsNumeric(VLsh2) And VLsh2 <> "" Then
                            sh1.Cells(ligsh1, 9) = VLsh1A + VLsh2
                        End If

0
nonossov Messages postés 610 Date d'inscription   Statut Membre Dernière intervention  
 
Merci infiniment et pardon pour toutes ces demandes, je vous remercie à votre patience.

juste pour cloturer ce sujet, est ce que je peux demander une derniere demande?!!

Est ce que vous pouve m'aider a fair une insertion de la colonne "I" de la Feuil1 entre colonne F et G.

Merci infiniment. <3
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

colonne "I" de la Feuil1 entre colonne F et G
Autant ecrire de suite en colonne G plutôt que la colonne I!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0