Améliorer la visibilité des résultats utiles

Bonjour à Tous,

merci d'avance pour votre aide éventuelle, et promis, je vais essayer d'être le plus simple et le plus clair possible (je ne peux pas vous envoyer le document en question : travail/confidentialité).

Présentation:

J'ai un excel de 410 lignes, avec sur chaque ligne une valeur témoin, et 3 résultats (différents ou non) en rapport aux moults tests effectués du genre suivant :

A1 | B1 | C1 | D1 | E1

Nom_test_1 | Résultat_temoin_1 | Résultat_1.1 | Résultat_1.2 | Résultat_1.3

A2 | B2 | C2 | D2 | E2

Nom_test_2 | Résultat_temoin_2 | Résultat_2.1 | Résultat_2.2 | Résultat_2.3

But:

Le but final de la manoeuvre est d'avoir une meilleure visibilité sur les résultats qui ne sont pas exactement égaux au résultat témoin correspondant (même si il n'y en a qu'un sur trois qui est différent). Précision : On parle ici de toute la ligne en question, pas que de la cellule dont le résultat est inexact.

Idées:

J'ai pensé à 2 scénarios différents, malheureusement je ne sais pas les traduire en language excel, je vais donc vous les exposer en version texte simple. Peut-etre en avez-vous d'autres ?

Idée 1 (la suppression, pas le top) :

SI "resultat_temoin_1" = "resultat_1.1" ET = "resultat_1.2" ET = "resultat_1.3"

ALORS Supprimer la ligne ET aller à la ligne suivante

SINON aller à la ligne suivante

FINSI

Idée 2 (la duplication sur une autre sheet, mieux) :

SI "resultat_temoin_1" =/= "resultat_1.1" OU =/= "resultat_1.2" OU =/= "resultat_1.3"

ALORS dupliquer la ligne dans la sheet correspondante ET aller à la ligne suivante

SINON aller à la ligne suivante

FINSI

C'est clair ?

Merci d'avance pour aide.

Théo

bonjour,

une solution pour 2) copie de feuil1 vers feuil2

Sub test()
    k = 0
    With Sheets("feuil1")
        dl = .Range("a" & Rows.Count).End(xlUp).Row
        For i = dl To 1 Step -1
            For j = 2 To 4
                If .Cells(i, 1) <> .Cells(i, j) Then j = 1000
            Next j
            If j > 1000 Then
                k = k + 1
                .Rows(i).Copy Sheets("Feuil2").Rows(k)
            End If
        Next i
    End With
End Sub

change Lenomdetafeuille et lenomdetafeuilleoutuveuxcopier

sub totoduplique()
dim i as long, k as long
k=1
with Sheets("Lenomdetafeuille")
For i = 1 to .range("A" & .rows.count).end(xlup).row
If .range("B" & i) <> .range("C" & i) or .range("B" & i) <> .range("D" & i) or .range("B" & i) <> .range("E" & i) then
.range("A" & i).entirerow.copy destination:= Sheets("lenomdetafeuilleoutuveuxcopier").range("A" & k)
k=k+1
end if
next i
end with
end sub

Attention H2SO4

 For j = 3 To 5
                If .Cells(i, 2) <> .Cells(i, j) Then j = 1000
 Next j

Bonjour Messieurs,

merci pour vos superbes réponses !

Je vais essayer dans la matinée et je reviendrai vers vous.

Théo

Magnifique !

Par décision arbitrale j'ai choisi de tester la solution de EngueEngue (pour la simple raison que c'est le code que j'ai le mieux compris pour pouvoir l'adapter à 100% à mon excel).

Un grand merci donc, ça fonctionne parfaitement ! Merci aussi à H2SO4. Vous m'avez bluffé les gens !

Théo

EngueEngue a écrit :

Attention H2SO4

 For j = 3 To 5
                If .Cells(i, 2) <> .Cells(i, j) Then j = 1000
 Next j

Bonjour EngueEngue,

A quoi dois-je faire attention ? merci de m'expliquer, que je meure moins idiot !

Rechercher des sujets similaires à "ameliorer visibilite resultats utiles"