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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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​
 
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:
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

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+
 
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

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.
 
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

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour