Tri par comparaison
DGVDR
-
Heliotte Messages postés 1561 Statut Membre -
Heliotte Messages postés 1561 Statut Membre -
Bonjour,
Je sollicite de nouveau votre aide,
Je cherche à comparer des cases deux à deux et de passer la ligne contenant la case à la valeur supérieur en dessous de celle qui à la valeur inférieur.
Mon code :
C'est la ligne "
Merci pour votre aide,
DGVDR
Je sollicite de nouveau votre aide,
Je cherche à comparer des cases deux à deux et de passer la ligne contenant la case à la valeur supérieur en dessous de celle qui à la valeur inférieur.
Mon code :
Sub tri()
Dim n As Integer
Dim o As Integer
With Worksheets("Enregistrements interventions")
For n = 5 To 150
For o = 1 To 150
If .Range("F" & n).Value > .Range("F" & n + o) Then
.Rows(n).Cut
.Rows(n + o).Insert Shift:=xlDown
End If
Next
Next
End With
End Sub
C'est la ligne "
.Rows(n + o).Insert Shift:=xlDown" qui pose problème.
Merci pour votre aide,
DGVDR
8 réponses
-
Ça fonctionne.
En début de feuille = Option Explicit
Pour plus d'assurance : If .Range("F" & n).Value > .Range("F" & n + o).Value Then
Ceci .Rows(n + o).Insert Shift:=xlDown
ou cela .Rows(NoLigne + o & ":" & NoLigne + o).Select
Selection.Insert Shift:=xlDown fonctionne -
Bonjour Heliotte,
Merci pour cette réponse,
Ceci dit, ca ne marche pas chez moi...
Mon code actuel :Option Explicit Sub tri() Dim n As Integer Dim o As Integer With Worksheets("Enregistrements interventions") For n = 5 To 150 For o = 1 To 150 If .Range("F" & n).Value > .Range("F" & n + o) Then .Rows(n).Cut .Rows(n + o).Insert Shift:=xlUp End If Next o Next n End With End Sub
C'est toujours la ligne " .Rows(n + o).Insert Shift:=xlUp" qui pose problème
Cette ligne ayant pour but de m'insérer la ligne couper par.Rows(n).Cut
en dessous de la ligne à l'indice (n+o)...
Je ne trouve pas l'erreur... ( erreur 1004 )
Merci,
DGVDR -
C'est vraiment le code de coupe/colle qui me manque, avec le fait de coller en dessous .
-
Bonjour DGVDR,
.Rows(n).Cut coupe la ligne(n)
.Rows(n + o).Insert Shift:=xlUp insère une ligne à la ligne (n+o), puis colle ce que tu viens de couper
Quelle est la version d'Excel .. j'ai Excel 2003 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Heliotte,
J'ai 2010. -
Bonjour DGVDR,
Je ne pourrais pas mieux t'aider, je n'ai que la version 2003 .. désolé
Tu peux essayer avec l'enregistreur de macro en Excel .. après tu modifies le code à ta façon. -
Bonjour,
Merci malgré tout pour ton aide Heliotte,
Quelqu'un pourrait-il éclairer notre lanterne ?
DGVDR -
Au cas où personne ne répond à ton appel, c'est préférable de clôturer ce message et d'en créer un nouveau. Peut-être que "michel_m" le verra et pourra certainement t'aider