Comparaison deux valeurs sur deux colonnes et ligne differentes Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
z
zeh212
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 18 avril 2018
Version d'Excel : 2007

Message par zeh212 » 18 avril 2018, 11:36

Bonjour ,

Je galère depuis plusieurs jours pour comparer des valeurs qui si situent sur deux colomnes différentes mais sur différentes lignes .
Je parviens à comparer deux valeur différentes sur deux colonnes différentes mais même ligne sans problème.

Ci-joint un schéma avec les valeur à comparer.

Je souhaite comparer les valeurs lorsque la condition : Valeur ligne 17 colonne V = valeur ligne 2 colonne Z , lorsque cette condition est trouvée , il faut que la valeur située ligne 2 colonne R sois égale à la valeur ligne 17 colonne X ...

Il faut que la boucle parcours deux ligne en simultanées jusqu'à que la condition Valeur ligne x colonne V = à la valeur ligne y colonne Z et à ce moment la un IF pour vérifier que la valeur en colonne R ligne x sois égale à la valeur colonne Z ligne y .

Pour résumé mes colonnes sont fixes mais les lignes varient...

Merci d'avance pour votre aide qui me sera précieuse !
Comparaison valeur
Comparaison valeur
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 5'716
Appréciations reçues : 333
Inscrit le : 16 mars 2017
Version d'Excel : 2010

Message par i20100 » 18 avril 2018, 23:22

Bonjour,

une possibilité avec cette formule matricielle, (valider avec ctrl+maj+enter)
=equiv(R2&Z2;X:X&V:V;0)
Vive ces nouvelles saisons qui nous colorent.
isabelle
z
zeh212
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 18 avril 2018
Version d'Excel : 2007

Message par zeh212 » 18 avril 2018, 23:24

Merci mais je souhaiterai l’avoir sous forme de Code en VBA ... je suppose il faut des For imbriqué ?
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 5'716
Appréciations reçues : 333
Inscrit le : 16 mars 2017
Version d'Excel : 2010

Message par i20100 » 19 avril 2018, 00:20

Bonjour,

à tester,
Sub Vérifier()
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To LastRow
  t1 = .Cells(i, "R") & .Cells(i, "Z")
  For n = 2 To LastRow
     t2 = .Cells(n, "X") & .Cells(n, "V")
     If t1 = t2 Then MsgBox "trouvé " & i & " - " & n
  Next n
Next i
End Sub
Vive ces nouvelles saisons qui nous colorent.
isabelle
z
zeh212
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 18 avril 2018
Version d'Excel : 2007

Message par zeh212 » 19 avril 2018, 10:26

Bonjour ,

Le code ne fait pas ce que je cherche :
Dim LastRow             As Integer
    Dim t1                  As String
    Dim t2                  As String
    Dim n                   As Integer
    Dim I                   As Integer
    
    
    With wbterms.Worksheets(s_excel_sheet_name)
    wbterms.Worksheets(s_excel_sheet_name).Activate
    
        LastRow = .Cells(Rows.Count, 1).End(xlUp).Row
        For I = 2 To LastRow
          t1 = .Cells(I, "R") & .Cells(I, "Z")
          For n = 2 To LastRow
             t2 = .Cells(n, "X") & .Cells(n, "V")
             If t1 = t2 Then MsgBox "l'état trouvé" & t2
          Next n
        Next I

    End With
    
Je souhaite lorsque t1=t2 effectuer la vérification que la colonne R de la ligne I sois égale à la colonne X de la ligne n ..

Le msgbox n'affiche pas la valeur , pouvez-vous m'aider svp
msgbox
msgbox
Capture.PNG (13.34 Kio) Vu 570 fois
z
zeh212
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 18 avril 2018
Version d'Excel : 2007

Message par zeh212 » 19 avril 2018, 11:36

Mon sujet est assez urgent :( quelqu'un peut-il m'aider ??
A
Andre13
Membre impliqué
Membre impliqué
Messages : 1'679
Appréciations reçues : 109
Inscrit le : 13 juillet 2017
Version d'Excel : 2007-2013

Message par Andre13 » 19 avril 2018, 12:27

Bonjour toutes et tous

coucou Sabv :wink:

@Zehh12
Si tu souhaites que ta message box affiche correctement essaie-ceci le post de Sabv ci-dessus
remplace :
If t1 = t2 Then MsgBox "l'état trouvé" & t2
par:
If t1 = t2 Then MsgBox "L'état trouvé  " & I & " - " & n 
à tester
crdlt,
André
z
zeh212
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 18 avril 2018
Version d'Excel : 2007

Message par zeh212 » 19 avril 2018, 12:34

Merci pour ta réponse mais le code de SabV ne réalise pas ce que je souhaite vérifier .
ma vérification s'effectue lorsque la condition "Valeur sur la ligne i colonne V = Valeur en ligne j colonne Z" puis lorsque cette égalité est trouvée je dois vérifier que la valeur configuré en colonne X ligne i est égale à la valeur définit en colonne R ligne j ...

pour cela j'ai écris ce code qui à l'air d'être sans faute de syntaxe mais je ne parviens toujours pas a detecter ma vérification :
[/Option Explicit
Private Function VerifFeedbackZeroValue() As Boolean


On Error GoTo ErrorHandler

            Dim n                   As Integer
            Dim I                   As Integer
            Dim LastRow             As Integer
            Dim Valeur1             As String
            Dim SignalFinal         As String
            Dim ValTC1              As String
            Dim ValRetour           As String
            Dim wbterms             As Workbook
            
            Set wbterms = ThisWorkbook
            
    
    
    
         With wbterms.Worksheets("Liste de termes SCADA")
        wbterms.Worksheets("Liste de termes SCADA").Activate
    

            LastRow = .Cells(Rows.Count, 1).End(xlUp).Row
        For I = 2 To LastRow
          Valeur1 = .Cells(I, "R")
          SignalFinal = .Cells(I, "Z")
          For n = 2 To LastRow
             ValTC1 = .Cells(n, "X")
             ValRetour = .Cells(n, "V")
        If ValRetour = SignalFinal And Valeur1 <> ValTC1 Then
            MsgBox "état 1 " & ValTC1 & " non définit en valeur 1 " & Valeur1 & " pour le signal " & SignalFinal, vbOKOnly
        End If
        
            Next n
            Next I
        
    End With

    
'    If myFeedbackZeroValue = Empty And s_Categorie = "C" And myCommandStateValueZero <> Empty Then
'    Call Trace_Erreur("Aucune valeur '0' déclarée")
'    End If

Exit Function
ErrorHandler:
    MsgBox "VerifFeedbackZeroValue error: " & Err.Description, vbOKOnly
End Function
code]
z
zeh212
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 18 avril 2018
Version d'Excel : 2007

Message par zeh212 » 19 avril 2018, 13:10

Pour facilité la compréhension de ma vérification ci-joint une illustration d'une erreur que je dois detecté avec ma fonction :
La valeur définit en colonne R sur la ligne 2 est différente "STOP" de la valeur définit en colonne X de la ligne 18 "MARCHE" ainsi je dois donc detecter cette erreur .

Ci-joint la fichier excel avec la macro .

Merci d'avance pour votre aide
VerifVBA.xlsm
Fichier excel a verifier
(386.11 Kio) Téléchargé 20 fois
erreur
erreur
z
zeh212
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 18 avril 2018
Version d'Excel : 2007

Message par zeh212 » 19 avril 2018, 14:18

UP please ! ::(
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message