Bonjour,
J'essaie de créer une macro pour prendre les données d'une feuille afin d'y avoir un calcul par un conditionnelle aboutissant au calcul si VRAI OU à rien du tout si faux, jusque là pas de problème, seulement une fois que j'y arrive, il y a pleins d'espaces quand c'est faux et il faudrait que tout soit réunis, comme si je faisais un tri décroissant.
Voila mon code :
Mais le problème, c'est que la supression desl ignes inutiles ne se fait pas hors quand je le fais dans une autre feuille excel (en y mettant seulement le code de suppression de lignes) ça marche parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub CommandButton1_Click() Sheets.Add.Name = "Result EL" Sheets("Result EL").Select ActiveCell.Offset(1, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "=IF(((DATA!R[6]C[15]-DATA!R[6]C[13])<7), DATA!R[6]C[-1], """")" Selection.AutoFill Destination:=ActiveCell.Range("A1:A60"), Type:= _ xlFillDefault ActiveCell.Range("A1:A60").Select End Sub Sub suppr_lignes() For lin = Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1 If Rows(lin).Find("*") Is Nothing Then Rows(lin).Delete Next lin End Sub
J'ai également essayer ce code ci
Mais là ça me fait une erreur de compilation en me disant que le end sub est attendu...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub CommandButton1_Click() Sheets.Add.Name = "Result EL" Sheets("Result EL").Select ActiveCell.Offset(1, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "=IF(((DATA!R[6]C[15]-DATA!R[6]C[13])<7), DATA!R[6]C[-1], """")" Selection.AutoFill Destination:=ActiveCell.Range("A1:A60"), Type:= _ xlFillDefault ActiveCell.Range("A1:A60").Select Sub suppr_lignes() For lin = Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1 If Rows(lin).Find("*") Is Nothing Then Rows(lin).Delete Next lin End Sub
Mon mystère demeure.
Pourriez-vous m'aider????
MERCI D'AVANCE
J
Partager