XL 2016 Supprimer des valeurs comprises entre deux valeurs sur Excel

Nicolasz

XLDnaute Nouveau
Bonjour à toutes et tous,

Je travaille sur Excel. Mon problème est que dans une même colonne j'ai la température comprise entre 40.1 °C et 54,7 °C et un courant qui varie de 140 A à 150 A.
J'aimerai simplement supprimer dans cette colonne les valeurs comprises entre 40.1 °C et 54.7 °C afin de n'avoir dans cette colonne plus que mon courant.

Je vous remercie par avance pour vos réponses.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re, bonjour @ChTi160 :)

Un peu perdu du coup.

Bon, une macro qui efface les cellules de la colonne D si la valeur est comprise entre 40,1 et 54,7 ou bien si la valeur n'est pas numérique.
Doit-on conserver les valeurs de courant nulles ? (dans la macro, on les a conservées)

le code dans Module1:
VB:
Sub Test01()
Dim i As Long
   Application.ScreenUpdating = False
   With Sheets("les valeurs")
      If .FilterMode Then .ShowAllData    'pour que END(xlup) soit correct
      For i = .Cells(Rows.Count, "d").End(xlUp).Row To 2 Step -1
         If .Cells(i, "d") >= 40.1 And .Cells(i, "d") <= 54.7 Or Not IsNumeric(.Cells(i, "d")) Then .Cells(i, "d").ClearContents
      Next i
   End With
End Sub
 

Pièces jointes

  • Nicolasz - Supprimer valeurs sous conditions- v1.xlsm
    42.1 KB · Affichages: 1

Nicolasz

XLDnaute Nouveau
Re, bonjour @ChTi160 :)

Un peu perdu du coup.

Bon une macro qui efface les cellules de la colonne D si la valeur est comprise entre 40,1 et 54,7 ou bien si la valeur n'est pas numérique.
Doit-on conserver les valeurs de courant nulles ?

le code dans Module1:
VB:
Sub Test01()
Dim i As Long
   Application.ScreenUpdating = False
   With Sheets("les valeurs")
      If .FilterMode Then .ShowAllData    'pour que END(xlup) soit correct
      For i = .Cells(Rows.Count, "d").End(xlUp).Row To 2 Step -1
         If .Cells(i, "d") >= 40.1 And .Cells(i, "d") <= 54.7 Or Not IsNumeric(.Cells(i, "d")) Then .Cells(i, "d").ClearContents
      Next i
   End With
End Sub
@mapomme oui je dois garder les valeurs de courant nulle pour faire ma moyenne
 

mapomme

XLDnaute Barbatruc
Supporter XLD
@mapomme Sinon aviez vous une méthode afin de séparer les températures des courants en deux colonnes différentes ?
Voir la macro dans Module1.
Quand le traitement a été fait, la colonne E a pour en-tête "Temperature". Ne pas modifier cet en-tête.
On pourrait aussi mettre le résultat sur une feuille résultat afin de conserver les données sources brutes. On se prémunirait ainsi des risques de pertes de données si la macro se passe mal.

Le code dans module1:
VB:
Sub Test02()
Dim derlig As Long, i As Long, t, DeuxEtPlus As Boolean
   Application.ScreenUpdating = False
   With Sheets("les valeurs")
      If .FilterMode Then .ShowAllData                   'pour que END(xlup) soit correct
      derlig = .Cells(Rows.Count, "d").End(xlUp).Row     'dernière ligne de la colonne D
      'on insère une colonne après la colonne D dont le titre doit être "Temperature" obligatoirement
      'si l'en tête de la colonne E est déjà "Temperature alors on quitte la procédure
      If .Cells(1, "e") = "Temperature" Then MsgBox "Traitement déjà fait!", vbInformation: Exit Sub
      .Columns("e:e").Insert
      .Cells(1, "e") = "Temperature"
      t = .Range("d1:e" & derlig).Value   'lecture du tableau des valeurs de la colonne D et E
      For i = 2 To UBound(t)              'boucle sur les lignes de t sauf l'en-tête
         If Not IsNumeric(t(i, 1)) Or (.Cells(i, "d") >= 40.1 And .Cells(i, "d") <= 54.7) Then
            'si la valeur de D n'est pas numérique ou bien est dans l'intervalle [40.1 , 54.7]
            t(i, 2) = t(i, 1)
            t(i, 1) = ""
         End If
      Next i
      Cells(1, "d").Resize(UBound(t), 2).Value = t    'on re-bascule le tableau sur la feuille
   End With
End Sub
 

Pièces jointes

  • Nicolasz - Supprimer valeurs sous conditions- v2.xlsm
    44.8 KB · Affichages: 6
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Et pour supprimer "ionGun:" de la colonne C et n'avoir plus que la pression comment puis-je faire ?
Re,

Voir la v3. On a rajouté les quatre lignes suivantes avant le end with de la macro v2:
VB:
      'colonne C => ne garder que la pression
      On Error Resume Next
      .Columns("C:C").SpecialCells(xlCellTypeConstants, 22).ClearContents
      On Error GoTo 0
 

Pièces jointes

  • Nicolasz - Supprimer valeurs sous conditions- v3.xlsm
    45.2 KB · Affichages: 5

mapomme

XLDnaute Barbatruc
Supporter XLD
Et pour supprimer "ionGun:" de la colonne C et n'avoir plus que la pression comment puis-je faire ?
Vous pouvez aussi le faire très rapidement à la mimine (plus vite à faire qu'à décrire):
  • sélectionner la colonne C
  • appuyer sur la touche de fonction F5
  • cliquer sur le bouton Cellules...
  • cocher Constantes
  • cocher Nombres
  • cliquer sur OK (les cellules qui ne sont pas des nombres sont sélectionnées)
  • Appuyez sur la touche Suppr
Toutes les cellules qui ne sont pas des nombres sont donc effacées.
 

Discussions similaires

Réponses
9
Affichages
336

Statistiques des forums

Discussions
314 493
Messages
2 110 198
Membres
110 703
dernier inscrit
papysurf