valeur cachée, cellule non vide

PAPA WALKER

XLDnaute Junior
Bonjour,

J’ai un souci concernant un fichier dans lequel je viens coller une extraction issue de SAP en format Excel.

En résumé, l’extraction SAP n’a pas le format attendu e facilement exploitable. A l’aide de quelques formules, je tente de remettre ça en format acceptable pour moi, puis de figer le résultat des formules, puis de trier l’ensemble pour supprimer les lignes vierges inutiles.
Jusque là, ça ne marche pas trop mal. Mais quand je trie les colonnes, j’ai plus de données dans les 3 premières colonnes que dans les suivantes. Je veux donc supprimer les lignes inutiles.
Exemple :
Si les colonnes ABC ont des données jusqu’à la ligne 1000 et que les colonnes DEF s’arrêtent à 700, Je voudrais supprimer les ligne de 701 à 1000.

Mon souci est que les colonnes DEF qui semblent vides, ne le sont pourtant pas ? Si je tape CTRL+bas. J’arrive à la ligne 1000 ?
Si j’écris pour l’une des cellules concernées NBCAR (D100), la réponse est 0. Si par contre je tape NBVAL(D1000), la réponse est 1

Je pourrais certes trouver une autre manière pour déterminer où s’arrête la partie des données à conserver, mais j’aimerais comprendre pourquoi cette cellule semble contenir quelque chose et aussi comment la vider complètement ? Que contiennent les cellules de la plage E139 :F1000 ?

Merci de votre aide

Le fichier est joint.
 

Pièces jointes

  • Cellules_non_vides.zip
    33.4 KB · Affichages: 57

job75

XLDnaute Barbatruc
Re : valeur cachée, cellule non vide

Bonsoir PAPA WALKER, salut Robert,

Sous Excel 2003 peux pas ouvrir le fichier, mais bref.

Les cellules qui vous intriguent contiennent un texte de longueur nulle, comme vos tests le montrent.

C'est classique avec des données importées.

Pour vider complètement ces cellules, exécutez cette macro :

Code:
Sub Epure()
Range("D1:F1000") = Range("D1:F1000").Value
End Sub

(je suppose que la plage D1:F1000 ne contient pas de formules).

Si vous voulez supprimer en même temps les lignes qui contiennent ces cellules :

Code:
Sub Epure()
Range("D1:F1000") = Range("D1:F1000").Value
Range("D1:F1000").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Bonne nuit et A+
 

Discussions similaires

Réponses
8
Affichages
204

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof