Problème dans la macro de tri

Bolschack

XLDnaute Nouveau
Bonjour,
j'ai un petit souci au niveau d'une macro que j'ai créer, elle s’exécute correctement mais elle ne répond pas a ce que je recherche vous trouverez ci-joint un petit exemple de ce que je recherche. Je souhaiterais comparer lorsque les numéro de dossier sont les mêmes, la gravité de l'accident suivant le tableau en feuille3 et ajouter un "S" si la gravité et moins importante qu'une autre lésion dans le même numéro de dossier et "OK" sinon pour pouvoir ensuite supprimer toutes les lignes où il y a un "S" pour ne garder qu'une ligne par numéro de dossier c'est a dire la lésion "la plus grave". Voici la macro que j'ai faite:

Code:
    Dim Texte1, Texte2 As String
    Dim Ligne, Colonne1, Colonne2 As Integer
    
    For Each X In Sheets("Feuil1").Range("B2:B" & Sheets("Feuil1").Range("B60000").End(xlUp).Row)
        If X.Offset(Var, 2).Value = X.Offset(Var + 1, 2).Value Then
            Texte1 = X.Offset(Var, 0).Value
            Sheets("Feuil3").Select
            Cells.Find(What:=Texte1, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
                :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
                False, SearchFormat:=False).Activate
            Colonne1 = ActiveCell.Column
            Sheets("Feuil1").Select
            Texte2 = X.Offset(Var + 1, 0).Value
            Sheets("Feuil3").Select
            Cells.Find(What:=Texte2, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
                :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
                False, SearchFormat:=False).Activate
            Colonne2 = ActiveCell.Column
            If Colonne1 < Colonne2 Then
                X.Offset(Var, 3).Value = "OK"
            Else
                X.Offset(Var, 3).Value = "S"
            End If
        End If
    Next

End Sub
 

Pièces jointes

  • ListeAccidents.xlsm
    18.3 KB · Affichages: 56
  • ListeAccidents.xlsm
    18.3 KB · Affichages: 62
  • ListeAccidents.xlsm
    18.3 KB · Affichages: 62

Gareth

XLDnaute Impliqué
Re : Problème dans la macro de tri

Bonjour,

Ci-joint une interprétation.
Que faut il faire s'il y a 2 lésions de meme niveau ?
 

Pièces jointes

  • ListeAccidents.xlsm
    26.2 KB · Affichages: 53
  • ListeAccidents.xlsm
    26.2 KB · Affichages: 60
  • ListeAccidents.xlsm
    26.2 KB · Affichages: 58
Dernière édition:

Bolschack

XLDnaute Nouveau
Re : Problème dans la macro de tri

Merci c'est tout a fait ce que je recherche, en ce qui concerne les lésions de même niveau peu importe la macro me convient la première occurrence me suffit amplement. Mais je voulais savoir si c'était possible d'avoir un petit peu d'explication sur le fonctionnement de la macro car j'ai du mal un peu a comprendre ^^
 

Bolschack

XLDnaute Nouveau
Re : Problème dans la macro de tri

Merci pour cette mise a jour.
J'ai adapté la macro à mon vrai sujet , cependant il me met Erreur d’exécution 13 Incompatibilité de type pour cette ligne de code
Code:
MaZone.Offset(GraviteMax - 1, -4).Resize(1, 4).Copy Sheets("liste").Range("A60000").End(xlUp).Offset(1, 0)
je ne vois pas d'où s cela pourrait venir :/
 

Gareth

XLDnaute Impliqué
Re : Problème dans la macro de tri

Bonjour,

La définition de MaZone ?
En pas à pas à quoi est égal GraviteMax ?
Combien de colonnes y a t il sur ta base ?

Avant cette ligne tu peux rajouter :
msgbox MaZone.address
et
msgbox GraviteMax
et
msgbox Sheets("liste").name

Pour voir
 
Dernière édition:

Gareth

XLDnaute Impliqué
Re : Problème dans la macro de tri

Bonjour,

Je crois que ça plante quand il ne trouve pas dans la colonne Liaison la Gravité correspondante dans Feuil3.
Que veux tu faire dans ce cas ?

Sachant qu'il peut se poser le probleme suivant :
Par exemple pour Roland, s'il y a "PROJEC LIQUIDE" (Mal orthographié, sans le point apres "PROJEC") et "OEDEME". C'est "OEDEME" qui sort... d'un niveau de gravité inférieure.
 

Bolschack

XLDnaute Nouveau
Re : Problème dans la macro de tri

Cela plante toujours et je ne sais pas d'où ça vient :/
Mon tableau va de A à AU en colonne et a environ 1000 lignes qui peuvent être modifier.
Les lésions se trouve dans la colonne Q
Les numéros de dossier dans la colonne T
Donc MaZone.Adresse = $U$2
i = 1, MaVar = nothing et GraviteMax = Erreur 2042
 

Gareth

XLDnaute Impliqué
Re : Problème dans la macro de tri

Re,

Ca plante car MaVar = Nothing !

C'est qu'il y a une cellule dans laquelle il n'a pas de gravité dans la colonne B de Feuil1
Ou qu'une gravité de la colonne B n'existe pas dans la Feuil3
Ou qu'il y a une erreur de syntaxe (un point, un espace, un tiret ...)

Ou des problemes de syntaxe dans le code.
Essaie avec le fichier joint.
 

Pièces jointes

  • Classeur1.xlsm
    26.9 KB · Affichages: 50
  • Classeur1.xlsm
    26.9 KB · Affichages: 50
  • Classeur1.xlsm
    26.9 KB · Affichages: 45
Dernière édition:

Gareth

XLDnaute Impliqué
Re : Problème dans la macro de tri

Bonsoir,

Ci-joint une version qui ne necessite pas (normalement ;)) de réglage.
Tu as juste à saisir dans la macro les 2 bons noms de champs.
 

Pièces jointes

  • Classeur1.xlsm
    27.6 KB · Affichages: 41
  • Classeur1.xlsm
    27.6 KB · Affichages: 49
  • Classeur1.xlsm
    27.6 KB · Affichages: 51

Discussions similaires

Statistiques des forums

Discussions
314 450
Messages
2 109 727
Membres
110 552
dernier inscrit
jasson