effacer lignes avec nombre decimaux

so.fine

XLDnaute Nouveau
Bonjour a tous,

Je reviens encore vers vous car votre aide m'a deja ete precieuse...

Voila j'ai un fichier excel qui rassemble tous les resultats de test effectues par une machine. La machine effectue ces test automatiquement avec un interval de temps de o,2. J'ai donc enormement de resultats ranges comme suis :

0,2 x
0,4 x
0,6 x
0,8 x
1 x

C'est resultats peuvent alles jusqu'au nombre 200. Je voudrait donc ne garder que les lignes ou les chiffres dans la colonne du temps sont entiers, soit une incrementation de 5,
Apres plusieurs recherches et essais je n'ai pas reussi a coder une macro cette condition.
Si quelqu'un a une idee ou une solution a me proposer je suis preneuse. Toute aide sera la bienvenue.
 

Pièces jointes

  • exemple.xlsm
    23.2 KB · Affichages: 50
  • exemple.xlsm
    23.2 KB · Affichages: 49
  • exemple.xlsm
    23.2 KB · Affichages: 46
G

Guest

Guest
Re : effacer lignes avec nombre decimaux

Bonjour,

Si j'ai bien compris, dans ton exemple cela revient à ne garder que les cellules contenant un entier!?

Code:
 With Plage.Cells(i)
              If (.Value) - Int(.Value) <> 0 Then Plage.Cells(i).EntireRow.Delete
     'ou If Int(.Value) <> .Value Then Plage.Cells(i).EntireRow.Delete
             End With

A+
 
Dernière modification par un modérateur:

so.fine

XLDnaute Nouveau
Re : effacer lignes avec nombre decimaux

D'abord merci pour ta reponse,
c'est bien ca, je voudrais garder que les entiers de la colonne A.

Quand je colle ton code dans le lecteur vba, il m'indique une erreure au niveau de la ligne "With Plage.Cells(i)"
 

pierrejean

XLDnaute Barbatruc
Re : effacer lignes avec nombre decimaux

Bonjour so.fine

Salut Hasco

A tester:

Code:
Sub efface()
Application.ScreenUpdating = False
For n = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
  If Range("A" & n) - Int(Range("A" & n)) <> 0 Then
   Rows(n).Delete
  End If
Next
Application.ScreenUpdating = True
End Sub

Nb: A mettre dans un module Standard

Edit: Salut Modeste
 

so.fine

XLDnaute Nouveau
Re : effacer lignes avec nombre decimaux

Merci pour ta peoposition, cela marche tres bien. Mais est-il possible de faire la meme chose en remplacant les nombres et non en les copiant. Il y aura plusieurs series de test sur la meme et cela va vite devenir lourd sinon...


J'ai essayer plusieurs code avec des conditions mais je ne sais pas comment exprimer un condition sur nombres decimaux ou entiers :(



" Dim i As Integer
Application.ScreenUpdating = False

With Sheets("Qmat Curves1")

For i = 10480 To 1 Step -1
If "c'est la que je seche" Then
.Rows(i).Delete
End If
Next i

End With

Application.ScreenUpdating = True "
 

so.fine

XLDnaute Nouveau
Re : effacer lignes avec nombre decimaux

J'aurais une petite question pour rebondire la dessus maintenant,

Si je veux ajouter plusieurs serie de donnees sur la meme feuille, y aurait-il un moyen que cette macro s'applique sur chaque nouvelle serie?
si par exemple je met des donne sembleble mais pour un autre objet tester a cote des premiere, en commencant a la colonne D cette fois :confused:
 

pierrejean

XLDnaute Barbatruc
Re : effacer lignes avec nombre decimaux

Re

A tester:

Code:
Sub efface(colonne_d, colonne_f)
Application.ScreenUpdating = False
For n = Range(colonne_d & Rows.Count).End(xlUp).Row To 1 Step -1
  If Range(colonne_d & n) - Int(Range(colonne_d & n)) <> 0 Then
   Range(colonne_d & n & ":" & colonne_f & n).Delete
  End If
Next
Application.ScreenUpdating = True
End Sub


Sub eff_toutes()
Call efface("A", "B")
Call efface("D", "E")
End Sub
 

Statistiques des forums

Discussions
312 352
Messages
2 087 539
Membres
103 583
dernier inscrit
CYP_CHZ