Suprimer et décaler vers le haut

Bonjour à tous,

Je comprend que mon problème face à mon fichier excel soit quelque peu compliqué, c'est pourquoi les suggestions qui pourront me permettre d'avancer dans sa résolution seront toutes les bienvenues. Je crois que je n'aurai pas le choix d'impliquer VBA. Voici le problème:

J'ai plusieurs feuilles Excel comportant chacune une matrice de 1778 colonnes par 3160 lignes (le fichier est 300Mo). Les premières cellules du début de chaque colonnes sont composées de cellules affichant #N/A, puis viennent des cellules avec des valeurs. Chaque colonne comprend un nombre différent de cellules contenant des #N/A. Je dois supprimer et décaler vers le haut toutes les cellules contenant des #N/A de chaque feuille afin d'avoir la première valeur de chaque colonne sur la ligne 1.

Je ne suis pas très familier avec le code VBA, alors si vous croyez que la solution ne tient qu'en quelques syntaxes, ce serait grandement apprécié si vous pourriez la partager!

Je vais aussi devoir supprimer toutes les colonnes paires ou impaires (en alternance, une sur deux) mais cela viendra plus tard (quoique si vous avez un truc, il serait grandement apprécié aussi!)

Je joins un fichier excel fictif en exemple afin de vous permettre de visualiser (à petite échelle) ce que je recherche.

Je tiens à vous remercier tous à l'avance pour l'aide que vous pourriez m'apporter.

N'hésitez-pas à répondre si vous avez une piste!

Merci

Bonjour,

Pour le 1er point (supprimer les #N/A)

Sub SupprimeNA()
Dim Lg%, cL%, A%, i%, x
    x = Time
    Application.ScreenUpdating = False
    cL = Cells(1, 2000).End(xlToLeft).Column
    For A = 1 To cL
        Lg = Cells(65536, A).End(xlUp).Row

        For i = Lg To 1 Step -1
            If IsError(Cells(i, A)) Then
                Cells(i, A).Delete Shift:=xlUp
            End If
        Next i
    Next A
    MsgBox ("temps macro = " & Format(Time - x, "hh:mm:ss"))
End Sub

Tu nous diras le temps de traitement du fichier réel, çà risque d'être assez long !)

Amicalement

Claude

Bonjour

Bonjour Claude

Une méthode manuelle qui peut-être faite par macro

Chercher/Remplacer #N/A par rien

Sélectionnes zone des données

F5 ----> Cellules --> Coches Cellules vides

Sur une cellules sélectionnée : clic droit --->Suppression --> décaler les cellules vers le haut

Bonne journée

bonjour,

Je tiens à remercier Claude et Banzai pour leurs conseils.

Je viens d'essayer la méthode de Banzai ne nécessitant aucune macro. Toutefois, l'ordinateur que j'utilise ici ne me permet de supprimer qu'environ les cellules vides d'une quinzaine de colonnes à la fois, faute de mémoire d'Excel j'imagine? Je vais essayer sur un ordinateur plus récent, et si je ne peux toujours pas supprimer les cellules vides de plus d'une quinzaine de colonnes à la fois, je vais tenter avec une macro. Maintenant que toutes mes cellules #N/A sont transformées en cellules vides, est-ce que Claude vous auriez une façon d'adapter la syntaxe de votre code, ou est-ce que Banzai saurait comment automatiser F5 -- cellules -- cocher cellules vides? (Excel ne me permet pas de cocher les cellules vides de plus d'une quinzaine de colonnes de 3160 lignes à la fois)?

Je vous redonnes des nouvelles une fois que j'aurai essayé de supprimer les cellules vides sur un autre ordinateur.

Merci beaucoup

-- 10 Juin 2011, 05:17 --

finalement avec un autre ordinateur, je suis capable de sélectionner toutes les cellules vides en une seule étape et les supprimer et les décaler vers le haut. Le problème est donc règlé! Merci beaucoup à Claude et Banzai!

Rechercher des sujets similaires à "suprimer decaler haut"