Colorer une cellule selon condition

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

  1. Bonjour,

    Vous pouvez développer un peu plus……..!!!
    1. 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,
    2. Bonjour,

      colore les cellules non trouvées de la colonne C.
      Z'etes sur de la colonne???
    3. Pardon :), j'ai voulu dire colonne D. Merci
    4. 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.
  2. 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
    
    1. 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.
    2. Je suis vraiment désolé car a chaque fois j'ajoute qlq chose.

      Désolé
    3. 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
      
      
    4. 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
    5. Bonjour,

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