Bonjour,
Juste pour prévenir, je suis encore une novice en VBA!
Pour le contexte: Je cherche à catégoriser des produits selon les facteurs: aspect physique, danger, voie d'innocution.
* à l'aspect physique correspond 1 cellule, 3 valeurs possibles --> au final 2 catégories
* au danger correspondent 3 cellules, 5 valeurs possibles --> au final 2 catégories
* au risque correspondent 18 cellules, plein de valeurs possibles --> au final 3 catégories
Et au final du final en combinant les catégories précédentes, 8 catégories
j'ai donc fait des range pour chacun des 3 facteurs (sauf pour l'aspect physique où j'ai finalement directement traité avec la valeur de cellule), et selon les valeurs dans les range, je catégorise.
Pour vous donner une idée de comment je fais, voilà le bout de programme que j'ai écrit pour le cas du danger:
Sub categorie_2()
Dim i As Integer, aspect_physique As String, dangerosité As Range, voie As Range, cel As Range
Dim danger As Integer, voie_inoccution As Integer
For i = 3 To 4
aspect_physique = Cells(i, 7).Value
Set dangerosité = Range(Cells(i, 8), Cells(i, 10))
Set voie = Range(Cells(i, 11), Cells(i, 28))
For Each cel In dangerosité
If cel = "T" Or "T+" Then
danger = 1
ElseIf cel = "Xn" Or "Xi" Or "C" Then
danger = 2
End If
MsgBox danger
Next
Next
End Sub
Sauf que voilà, ça bloque à la ligne en rouge (j'avais essayer une autre manière, même problème) "Erreur 13, Incompatibilité de type".
Le contenu de mes colonnes est au format texte, mais en le passant en standard, ça change pas grand chose...
Qqn aurait une idée d'où provient l'erreur? (et au passage des idées de manières de programmer plus simplement la catégorisation?)
Merci d'avance!
Juste pour prévenir, je suis encore une novice en VBA!
Pour le contexte: Je cherche à catégoriser des produits selon les facteurs: aspect physique, danger, voie d'innocution.
* à l'aspect physique correspond 1 cellule, 3 valeurs possibles --> au final 2 catégories
* au danger correspondent 3 cellules, 5 valeurs possibles --> au final 2 catégories
* au risque correspondent 18 cellules, plein de valeurs possibles --> au final 3 catégories
Et au final du final en combinant les catégories précédentes, 8 catégories
j'ai donc fait des range pour chacun des 3 facteurs (sauf pour l'aspect physique où j'ai finalement directement traité avec la valeur de cellule), et selon les valeurs dans les range, je catégorise.
Pour vous donner une idée de comment je fais, voilà le bout de programme que j'ai écrit pour le cas du danger:
Sub categorie_2()
Dim i As Integer, aspect_physique As String, dangerosité As Range, voie As Range, cel As Range
Dim danger As Integer, voie_inoccution As Integer
For i = 3 To 4
aspect_physique = Cells(i, 7).Value
Set dangerosité = Range(Cells(i, 8), Cells(i, 10))
Set voie = Range(Cells(i, 11), Cells(i, 28))
For Each cel In dangerosité
If cel = "T" Or "T+" Then
danger = 1
ElseIf cel = "Xn" Or "Xi" Or "C" Then
danger = 2
End If
MsgBox danger
Next
Next
End Sub
Sauf que voilà, ça bloque à la ligne en rouge (j'avais essayer une autre manière, même problème) "Erreur 13, Incompatibilité de type".
Le contenu de mes colonnes est au format texte, mais en le passant en standard, ça change pas grand chose...
Qqn aurait une idée d'où provient l'erreur? (et au passage des idées de manières de programmer plus simplement la catégorisation?)
Merci d'avance!