J'aimerais creer une macro qui me permettrait de trier une feuille excel.
L'idee est la suivante: supprimer toutes les lignes vides, et supprimer toutes les lignes dont la premiere cellule n'est pas "work order" ou "due date". Je ne sais pas trop trop comment faut s'y prendre donc si quelqu'un peut m'aider...
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 06/07/2006 by jguillermin
'
For i = 1 To 16000
Cells(i, 1).Select
If ActiveCell.FormulaR1C1 <> "Works order " Then
If ActiveCell.FormulaR1C1 = "Due date" Then
Else: Rows(Cells(i, 1).Row & ":" & Cells(i, 1).Row).Delete Shift:=xlUp
End If
Else
End If
Next i
End Sub
Le trou entre Works order et Then est normal. Ca fonctionne mais qu'a moitie... Il me traite correctement une ligne sur deux... Donc je suis oblige de le lancer deux ou trois fois pour arriver a mon resultat. Une idee?
PS: desole de ne pas mettre d'accents mais je suis actuellement en stage en UK donc je peux pas mettre d'accents
Ouh... c'est moche tout ca...
Quand tu postes sur ppc, met les balise [code ] et [/code ] (sans les espaces) avant et après tes lignes de code.
remplace tes formular1c1 par une variable à laquelle tu affecte une adresse de cellule.
les <> sont trèèèèèèèès peu pratique en vba.
Code :
dim cel as range
set cel=range("A1" ) // si c'est ta colonne A
For i = 0 To 16000
If cel.offset(i) = "Works order" or cel.offset(i) = "due date" Then
Else
range((i+1) & ":" & (i+1)).Delete // pas sur que ca marche le coup du i+1, si c'est le cas, passe par une variable intermédiaire