Voici mon probleme :
j'ai des données qui sont issues d'un copier / collage spécial > Valeurs
Je souhaite ensuite supprimer les cellules vides en décalant le reste vers le haut
(Range("A1:35").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp)
Hors, je me rencontre que certainnes cellules sont visuellements vides
mais mon test (colonne B) montre que non !!
Avez-vous une explication ? Ou bien une solution pour supprimer tout de même ces cellules ?
Re : Cellules visuellement vide mais pas en réalité
Bonsoir,
une solution "basique" en attendant mieux :
Code:
Sub test_suppr_vide()
For i = 35 To 1 Step -1
If Not IsEmpty(Cells(i, 1)) And Len(Cells(i, 1)) = 0 Or _
IsEmpty(Cells(i, 1)) Then Cells(i, 1).Delete Shift:=xlUp
Next i
End Sub
Re : Cellules visuellement vide mais pas en réalité
Bonsoir Guigui, david84
Les cellules A4 et A6 contiennent une chaine de caractères de longueur nulle. That's the problem !
=type(A4) renvoie un contenu de type 2 (soit donc une chaine de caractères)
=nbcar(A4) renvoie zéro (longueur nulle)
Le problème provient du copier/collage spécial/valeur.
En plagiant David on peut aussi écrire:
Code:
Sub test1_vide()
For i = 35 To 1 Step -1
If Cells(i, 1) = "" Then Cells(i, 1).Delete Shift:=xlUp
Next i
End Sub
Pour rendre aux cellules leurs valeurs:
Code:
Sub test2_vide()
For i = 1 To 35
Cells(i, 1).Value = Cells(i, 1).Value
Next i
End Sub
Pour créer une cellule d'apparence vide sans qu'elle le soit:
taper ="" dans une cellule
valider
puis faire un copier/collage spécial/valeur.
Re : Cellules visuellement vide mais pas en réalité
Bonsoir,
Mes excuses pour cette réponse tardive.
Un grand merci à vous deux.
J'imaginais bien une histoire de "faux vide" mais n'arrivais pas en m'en sortir, merci à vous.