XL 2016 selectionner tout les cellule d'une plage contenant une valeur ou un format

nettoyageduperche

XLDnaute Nouveau
Bonjour,
dans une plage de cellule je cherche a sélectionner toute les cellule comprenant( l'heure) et les supprimer avec un code VBA. afin de garder uniquement les noms
par avance merci pour votre aide
voici l'exemple
6:30​
6:30​
6:30​
6:45​
6:45​
6:45​
Martin
jean
7:00​
7:00​
7:15​
7:15​
7:15​
7:30​
7:30​
7:30​
marcel
7:45​
7:45​
7:45​
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @nettoyageduperche,

Tout dépend si 6:30 est du texte ou un nombre et sans votre fichier (ou un bout de fichier), on ne sait pas.

Si c'est du texte :
  • sélectionner la plage concernée
  • tapez Ctrl+H
  • le texte à rechercher sera *:*
  • on le remplacera par rien (laisser la zone vide)
  • puis Remplacer tout
Si c'est un nombre (ie une vrai heure au sens d'Excel) :
  • sélectionner la plage concernée
  • tapez sur la touche de fonction F5
  • cliquer sur le bouton Cellule...
  • choisir l'option Constantes
  • ne laisser cochée que la case Nombres
  • cliquer sur OK
  • à ce stade toutes les cellules avec heure sont sélectionnées. Appuyer sur Suppr pour les effacer
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Nettoyageduperche, Mapomme,
En PJ, sont dupprimées toute valeur numérique et toute valeur comportant un ":"
VB:
Sub Supprime()
tablo = Range("A1").CurrentRegion
For i = 1 To UBound(tablo)
    For j = 1 To UBound(tablo, 2)
        If IsNumeric(tablo(i, j)) Or tablo(i, j) Like "*:*" Then
            tablo(i, j) = ""
        End If
    Next j
Next i
Range(Cells(1, 1), Cells(UBound(tablo), UBound(tablo, 2))).Resize(UBound(tablo)) = tablo
End Sub
 

Pièces jointes

  • Classeur1.xlsm
    21.9 KB · Affichages: 13

job75

XLDnaute Barbatruc
Bonjour nettoyageduperche, mapomme, sylvanu,

Essayez l'une ou l'autre :
VB:
Sub EffaceHeures()
Range("A1").CurrentRegion.Replace "*:*", ""
End Sub

Sub EffaceNombres()
With Range("A1").CurrentRegion
    .NumberFormat = "hh:mm"
    .Replace "*:*", ""
End With
End Sub
A+
 

nettoyageduperche

XLDnaute Nouveau
bonjour à tous,
les codes ne fonctionne pas, il me supprime les heures soit sur une seul colonne ou juste quelque cellule. c'est un planning a la semaine les heures en petit caractère me serve juste a selectionner les cellules pour positionné l'intervention. je souhaite les effacer avant d'imprimer le planning ou de l'envoyé par mail. par avance merci pour votre aide.
 

Pièces jointes

  • logiciel de planification version 1 bis.xlsm
    334 KB · Affichages: 5

job75

XLDnaute Barbatruc
Bonjourr nettoyageduperche, le forum,
les heures en petit caractère me serve juste a selectionner les cellules pour positionné l'intervention. je souhaite les effacer
Vous n'avez pas essayé de comprendre les solutions proposées !
Ce n'est pourtant pas sorcier d'adapter la macro du post #4 :
VB:
Sub EffaceHeures()
Range("F12:AE133").Replace "*:*", ""
End Sub
Bonne journée.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Job, Nettoyageduperche
En PJ votre fichier avec un bouton Nettoyag qui supprime toutes les heures.
Dans la PJ du post #3, le nettoyage s'effectue exactement pareil mais sur la plage de votre fichier.
Il fallait reprendre la plage de votre nouveau fichier pour que ça marche.

Attention, votre fichier n'est pas anonymisé, veillez à le supprimer. La PJ est anonyme.
 

Pièces jointes

  • logiciel de planification version 1 bisV2.xlsm
    357 KB · Affichages: 4
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 098
Membres
103 116
dernier inscrit
kutobi87