Colorer une cellule selon condition

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?

Configuration: Windows / Firefox 52.0

2 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

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

      colore les cellules non trouvées de la colonne C.
      Z'etes sur de la colonne???
      0
    3. nonossov Messages postés 638 Statut Membre
       
      Pardon :), j'ai voulu dire colonne D. Merci
      0
    4. nonossov Messages postés 638 Statut Membre
       
      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
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    1. nonossov Messages postés 638 Statut Membre
       
      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
    2. nonossov Messages postés 638 Statut Membre
       
      Je suis vraiment désolé car a chaque fois j'ajoute qlq chose.

      Désolé
      0
    3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
    4. nonossov Messages postés 638 Statut Membre
       
      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
    5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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