Je soutiens Excel Downloads
Connexion
S'inscrire
Effectuez une recherche sur Excel Downloads...
Effectuez une recherche sur Excel Downloads...
Rechercher dans les titres uniquement
Par:
FORUMS
Nouveaux messages
Rechercher dans les forums
TÉLÉCHARGEMENTS
POUR LES PROFESSIONNELS
Gestion commerciale
Gestion de projets
Gestion du personnel
Tableaux de bord
Comptabilité
Immobilier
Bourse
POUR LES PARTICULIERS
Budgets et comptes
Plannings et calendriers
UTILITAIRES
LEÇONS ET TUTORIAUX
Fonctions Excel
Vba
RESSOURCES PEDAGOGIQUES
Rechercher une ressource
ACTUALITÉS
TUTOS
EXCEL
FORMULES ET FONCTIONS
VBA
POWER QUERY
POWER PIVOT
POWER BI
AUTRES APPLICATIONS
Recherche de tutos vidéos
Connexion
S'inscrire
Quoi de neuf
Effectuez une recherche sur Excel Downloads...
Effectuez une recherche sur Excel Downloads...
Rechercher dans les titres uniquement
Par:
Nouveaux messages
Rechercher dans les forums
Menu
Connexion
S'inscrire
Installer l'application
Installer
FORUMS
Questions
Forum Excel
Comparer 2 valeurs dans 2 feuilles différentes
JavaScript est désactivé. Pour une meilleure expérience, veuillez activer JavaScript dans votre navigateur avant de continuer.
Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement.
Vous devez le mettre à jour ou utiliser un
navigateur alternatif
.
Répondre à la discussion
Message
<blockquote data-quote="Au_noun" data-source="post: 20449989" data-attributes="member: 224656"><p>Bonjour,</p><p></p><p>Je reviens encore vers vous pour une nième fois pour un coup de pouce</p><p></p><p>Le code parcours les chaines de caractères (valeurs) de chaque cellule de la colonne C dans Feuil1 et recherche ces valeurs dans la colonne A de feuil2.</p><p></p><p>Les conditions sont :</p><p></p><p>1 - Si [la cellule de la colonne C est vide alors on met la cellule en rouge]</p><p></p><p>2- Sinon on recherche la (les) valeur(s) de la cellule dans la Feuil2!A, et Si une(les) valeur(s) ne se trouve pas dans Feuil2!A alors on met la cellule en rouge]</p><p></p><p>3 - Sinon si la valeur se trouve dans trouve dans Feuil2!A Et en plus de ça Feuil2!C < Feuil1!D, on met la cellule en Jaune sinon on laisse en blanc.</p><p></p><p>Les conditions 1 et 2 marchent parfaitement bien mais par contre j'ai essayé la condition 3, ça ne marche pas</p><p></p><p>Quelqu'un aura des suggestions à me donner ? Merci.</p><p></p><p>Je mets en pièce jointe le fichier Excel avec le résultat attendu et les explications</p><p></p><p>[CODE=vb]Sub Analyser4()</p><p></p><p>Dim x, NumRows, xPriority2, xPriority1 As Integer</p><p>Dim Cell As Range</p><p>Dim yCell As Range</p><p>Dim zCell As Range</p><p></p><p> Application.ScreenUpdating = False</p><p> </p><p> 'NumRows = Range("A2", Range("A2").End(xlDown)).Rows.Count</p><p> </p><p> 'For x = 5 To NumRows</p><p></p><p> Range("A2:C18").Interior.Color = RGB(255, 255, 255)</p><p> For Each Cell In Range("C2:C18")</p><p> </p><p> 'For Each yCell In Range("D" & x)</p><p> </p><p> 'For Each zCell In Sheets("Feuil2").Range("C" & x)</p><p> </p><p> If IsEmpty(Cell.Value) = True Then</p><p> 'Range("C2").End(xlDown).Interior.Color = RGB(255, 0, 0)</p><p> </p><p> Cell.Offset(0, 0).Interior.Color = RGB(255, 0, 0)</p><p> Else</p><p> LesClass = Split(Cell.Value, ",")</p><p> 'xPriorityI = Split(yCell.Value, "-")(0)</p><p> 'xPriorityP = Split(zCell.Value, "-")(0)</p><p> 'xPriorityI = Mid(Range("D" & x).Value, 2, 1)</p><p> 'xPriorityP = Mid(Sheets("Feuil2").Range("C" & x).Value, 2, 1)</p><p> </p><p> </p><p> For i = 0 To UBound(LesClass)</p><p> Equiv = Application.Match(Trim(LesClass(i)), Sheets("Feuil2").Range("A2:A22"), 0)</p><p> If IsError(Equiv) = True Then</p><p> NonTrouve = True</p><p> Else</p><p> NonTrouve = False</p><p> </p><p> Exit For</p><p> End If</p><p> Next i</p><p> If NonTrouve = True Then</p><p> Cell.Offset(0, 0).Interior.Color = RGB(255, 128, 128)</p><p> </p><p> 'ElseIf IsError(xEquiv) = False And xPriority2 < xPriority1 Then</p><p> 'Range("A" & x).Interior.Color = RGB(224, 255, 96)</p><p> </p><p> 'Exit For</p><p> 'Exit For</p><p> 'Exit For</p><p> </p><p> End If</p><p> End If</p><p> </p><p> 'Next</p><p> 'Next</p><p> Next Cell</p><p> </p><p> 'Next x</p><p> Application.ScreenUpdating = True</p><p>End Sub</p><p>[/CODE]</p></blockquote><p></p>
[QUOTE="Au_noun, post: 20449989, member: 224656"] Bonjour, Je reviens encore vers vous pour une nième fois pour un coup de pouce Le code parcours les chaines de caractères (valeurs) de chaque cellule de la colonne C dans Feuil1 et recherche ces valeurs dans la colonne A de feuil2. Les conditions sont : 1 - Si [la cellule de la colonne C est vide alors on met la cellule en rouge] 2- Sinon on recherche la (les) valeur(s) de la cellule dans la Feuil2!A, et Si une(les) valeur(s) ne se trouve pas dans Feuil2!A alors on met la cellule en rouge] 3 - Sinon si la valeur se trouve dans trouve dans Feuil2!A Et en plus de ça Feuil2!C < Feuil1!D, on met la cellule en Jaune sinon on laisse en blanc. Les conditions 1 et 2 marchent parfaitement bien mais par contre j'ai essayé la condition 3, ça ne marche pas Quelqu'un aura des suggestions à me donner ? Merci. Je mets en pièce jointe le fichier Excel avec le résultat attendu et les explications [CODE=vb]Sub Analyser4() Dim x, NumRows, xPriority2, xPriority1 As Integer Dim Cell As Range Dim yCell As Range Dim zCell As Range Application.ScreenUpdating = False 'NumRows = Range("A2", Range("A2").End(xlDown)).Rows.Count 'For x = 5 To NumRows Range("A2:C18").Interior.Color = RGB(255, 255, 255) For Each Cell In Range("C2:C18") 'For Each yCell In Range("D" & x) 'For Each zCell In Sheets("Feuil2").Range("C" & x) If IsEmpty(Cell.Value) = True Then 'Range("C2").End(xlDown).Interior.Color = RGB(255, 0, 0) Cell.Offset(0, 0).Interior.Color = RGB(255, 0, 0) Else LesClass = Split(Cell.Value, ",") 'xPriorityI = Split(yCell.Value, "-")(0) 'xPriorityP = Split(zCell.Value, "-")(0) 'xPriorityI = Mid(Range("D" & x).Value, 2, 1) 'xPriorityP = Mid(Sheets("Feuil2").Range("C" & x).Value, 2, 1) For i = 0 To UBound(LesClass) Equiv = Application.Match(Trim(LesClass(i)), Sheets("Feuil2").Range("A2:A22"), 0) If IsError(Equiv) = True Then NonTrouve = True Else NonTrouve = False Exit For End If Next i If NonTrouve = True Then Cell.Offset(0, 0).Interior.Color = RGB(255, 128, 128) 'ElseIf IsError(xEquiv) = False And xPriority2 < xPriority1 Then 'Range("A" & x).Interior.Color = RGB(224, 255, 96) 'Exit For 'Exit For 'Exit For End If End If 'Next 'Next Next Cell 'Next x Application.ScreenUpdating = True End Sub [/CODE] [/QUOTE]
Insérer les messages sélectionnés…
Vérification
Répondre
FORUMS
Questions
Forum Excel
Comparer 2 valeurs dans 2 feuilles différentes
Texte copié dans le presse-papier