DanB34
XLDnaute Nouveau
Bonsoir,
Il est arrive qu'il y ait des caractères non visibles (retour chariot, espace)... qui posent problème et qui par définition sont difficilement détectables.
L'idée est de les rechercher et de les supprimer.
Le code ci-dessous, récupéré sur un forum fait le travail, mais effectue la recherche sur toutes les cellules, ce qui peut être long.
J'aimerais limiter le traitement aux cellules comportant des caractères non visibles et pas boucler sur toutes les cellules de la feuille.
	
	
	
	
	
		
Le code suivant repère et sélectionne les cellules comportant des caractères invisibles
	
	
	
	
	
		
Mon problème : je ne parviens pas à associer ces 2 parties pour que les cellules traitées ne soient que celles concernant des caractères non visibles.
Peut-être que ce n'est pas possible ?
Merci d'avance pour vos conseils.
Dan
	
		
			
		
		
	
				
			Il est arrive qu'il y ait des caractères non visibles (retour chariot, espace)... qui posent problème et qui par définition sont difficilement détectables.
L'idée est de les rechercher et de les supprimer.
Le code ci-dessous, récupéré sur un forum fait le travail, mais effectue la recherche sur toutes les cellules, ce qui peut être long.
J'aimerais limiter le traitement aux cellules comportant des caractères non visibles et pas boucler sur toutes les cellules de la feuille.
		VB:
	
	
	Sub Remplace_Caracteres_Invisibles
Dim pl As Range, c As Range
Dim car, tmp, i As Long
car = Array(8, 10, 13, 160)
Set pl = ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants, xlTextValues)
For Each c In pl
    tmp = c.Value
    For i = 0 To UBound(car)
        tmp = Replace(tmp, Chr(car(i)), " ")
    Next i
    c = Application.Trim(tmp)
Next c
	Le code suivant repère et sélectionne les cellules comportant des caractères invisibles
		Code:
	
	
	Range("B13:G100").SpecialCells(2).Select
	Mon problème : je ne parviens pas à associer ces 2 parties pour que les cellules traitées ne soient que celles concernant des caractères non visibles.
Peut-être que ce n'est pas possible ?
Merci d'avance pour vos conseils.
Dan