Probléme macro

Bonjour à vous cher contributeur du forum ,

je me permet de venir vous solliciter sur un petit problème que je rencontre sur mon stage , pour vous résumer le problème j’utilise un logicielle qui me sort des rapport Exel , malheureusement le logicielle bug et me sort des rapport erronée , je voudrais crée une macro sur le fichier Exel pour vérifier que les critères son bien respecté .

il apparaît que la colonne 123 de la fiche produit par l’outil ne correspond pas à la règle définie par la spec .

En effet vous pourrez constater dans le fichier joint en exemple :

- Ligne 26 : aucune case noire ou grise dans les matrices et pourtant on trouve oui dans la colonne 123 « Position non acceptable dans l'une des matrices (AQR) «

Rappel des critères entraînant une réponse «O » dans la colonne 123 : Positionnement du segment dans une case noire de la matrice (ELS ou PEL) / Positionnement du segment dans une case grise ou noire de la matrice (ELS ou PEL) et écart à l’article 14 ou 8 / Positionnement du segment dans une case grise de la matrice (ELS ou PEL) et année de pose >=2006.

merci d’avance

12a-revoir.xlsx (17.62 Ko)

bonsoir,

voici une Macro qui effectue la vérification suivant les specifications.

je n'ai pu tester correctement car ton fichier ne contient pas de case grise et de case noire et je ne sais pas comment interpréter 'blanc *'

le résultat est mis en colonne AK

Sub controle()

With Worksheets("AR-Synthèse")

derlig = .Range("a" & Rows.Count).End(xlUp).Row

For i = 10 To derlig

' test Positionnement du segment dans une case noire de la matrice (ELS ou PEL)
If .Range("B" & i) = "Noire" Or .Range("C" & i) = "Noire" Then
 res = "O"

' test Positionnement du segment dans une case grise ou noire de la matrice (ELS ou PEL) et écart à l’article 14 ou 8 
ElseIf (.Range("B" & i) = "Noire" Or .Range("C" & i) = "Noire" Or .Range("B" & i) = "Grise" Or .Range("C" & i) = "Grise") And (.Range("D" & i) = "O" Or .Range("E" & i) = "O") Then
 res = "O"

' test  Positionnement du segment dans une case grise de la matrice (ELS ou PEL) et année de pose >=2006
ElseIf (.Range("B" & i) = "Grise" Or .Range("C" & i) = "Grise") And .Range("A" & i) >= 2006 Then
 res = "O"
Else
 res = "N"
End If
'mettre résultat en colonne AK
.Range("AK" & i) = .Range("F" & i) & " devrait être " & res
Next i
End With

End Sub

Bonjour ,

merci beaucoup l'ami tu me sauve la vie .

gracias thanks .

Rechercher des sujets similaires à "probleme macro"