Traitement des donnees avec if
Bonjour j'ai de la misére a trouver mon erreur ;
ce code nous permet de remplire la colonne AP de chaque ligne par XX
le probléme que j'aurais toujours un XX si la colonne (i,14).value = STU_IIN alors que la colonne AE a une valeur different que
(Completed – Inventory available / Complété - Inventaire disponible) ,
voici mon code :
Sub Decision()
Dim cell As Range
Dim i As Integer
Dim j As Integer
For i = 2 To ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
If CStr(ActiveSheet.Cells(i, 31).Value) = "Completed - Appointment made / Complété - Nomination faite" And _
CStr(ActiveSheet.Cells(i, 14).Value) = "AEP" Or CStr(ActiveSheet.Cells(i, 14).Value) = "CMC_REV" Or CStr(ActiveSheet.Cells(i, 14).Value) = "CMC_APT" _
Or CStr(ActiveSheet.Cells(i, 14).Value) = "CS_TPD" Or CStr(ActiveSheet.Cells(i, 14).Value) = "DM_ID" Then
ActiveSheet.Cells(i, 42).Value = "XX"
End If
Next i
For j = 2 To ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
If CStr(ActiveSheet.Cells(j, 31).Value) = "Completed - Appointment made / Complété - Nomination faite" And _
CStr(ActiveSheet.Cells(j, 14).Value) = "INA_ACIN" Then
ActiveSheet.Cells(i, 42).Value = "XX"
End If
Next j
end sub
Bonjour,
Essaie comme cela
Sub Decision()
Dim cell As Range
Dim i As Integer
Dim j As Integer
For i = 2 To ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
If CStr(ActiveSheet.Cells(i, 31).Value) = "Completed - Appointment made / Complété - Nomination faite" And _
(CStr(ActiveSheet.Cells(i, 14).Value) = "AEP" Or _
CStr(ActiveSheet.Cells(i, 14).Value) = "CMC_REV" Or _
CStr(ActiveSheet.Cells(i, 14).Value) = "CMC_APT" Or _
CStr(ActiveSheet.Cells(i, 14).Value) = "CS_TPD" Or _
CStr(ActiveSheet.Cells(i, 14).Value) = "DM_ID" Or _
CStr(ActiveSheet.Cells(j, 14).Value) = "INA_ACIN") Then
ActiveSheet.Cells(i, 42).Value = "XX"
End If
Next i
End Sub
Remarque : je n'ai rien vu qui ressemble à STU_IIN dans ton code.
A+
Bonsoir,
Je pense que Frangy a mis le doigt sur l'erreur, mais je suis quelque peu intrigué :
- quel est le rôle de la variable cell inutilisée ?
- pourquoi 2 boucles successives sur la même zone ?
- pourquoi une conversion en chaînes de données qui en sont manifestement ?
C'est seulement STU_IN j'ai fais une faute de frappe , je les ai mis dans une seule boucle ca marchait non plus :/
Aussi par ce que c'est pas toujours la meme condition ( (ActiveSheet.Cells(i, 31).Value) = "Completed - Appointment made / Complété - Nomination faite")
Un peu difficile de te suivre...
Une version un peu allégée devrait cependant fonctionner :
Sub Decision()
Dim i As Integer, n As Integer
With ActiveSheet
n = .Cells(.Rows.Count, 1).End(xlUp).Row
For i = 2 To n
If .Cells(i, 31).Value = "Completed - Appointment made / Complété - Nomination faite" Then
Select Case .Cells(i, 14).Value
Case "AEP", "CMC_REV", "CMC_APT", "CS_TPD", "DM_ID", "INA_ACIN"
.Cells(i, 42).Value = "XX"
End Select
End If
Next i
End With
End Sub
Cordialement