VBA condition IF pour export données

Bonjour,

Je me permets de poster pour la première fois sur ce forum car je souhaiterai comprendre comment rajouter une condition SI à ma Macro.

En effet, je cherche à exporter des données, d'un fichier à un autre. J'ai réaliser ce code (après lecture et reprise de code sur de nombreux forum).

Le problème est, étant donné que mon fichier est trop lourd (40.000Lignes), l'export ne veut pas fonctionner.

C'est ainsi que je souhaiterai rajouter une condition dans ma Colonne 0, des Lignes A22 à 40016.

Je voudrais que l'export de données se réalise pour toutes les valeurs excluant <1.000 et >-1000.

Je n'arrive pas à importer cette condition à ma macro

Voici la Macro réalisée tant bien que mal :

Sub Exporter()

'

' Exporter Macro

Range("A22:AQ40015").Select

Selection.Sort Key1:=Range("O22"), Order1:=xlDescending, Header:=xlGuess, _

OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _

DataOption1:=xlSortNormal

Dim derniereLigne As Integer, deliso As Integer

Dim shso As Object, shci As Object '

Set shso = ActiveSheet

With shso

' ActiveSheet.Shapes("Button 4").Select ' instruction inutile ...!

' *** chercher numéro dernière ligne à copier

deliso = .Cells(Rows.Count, 2).End(xlUp).Row

' Select.Active.Sheet Range("A21:AQ40015").Select

Workbooks.Open Filename:="D:\Users\T0155799\Work in progress\Analyse OCF\OCF - Suppliers Payments\Fichierexport.xlsx"

Set shci = Sheets("Compilation")

' *** position première ligne vide

derniereLigne = shci.Cells(Rows.Count, 2).End(xlUp).Row + 1

' derniereLigne.Select

' *** copier plage source vers cible

.Range("A1:S" & deliso).Copy Destination:=shci.Range("A" & derniereLigne)

' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

' :=False, Transpose:=False

' ActiveWorkbook.Save 'fermeture et sauvegarde dans ligne suivante

ActiveWorkbook.Close SaveChanges:=True

End With

Set shso = Nothing

Set shci = Nothing

End Sub

Bonjour et bienvenu(e)

KEKEO a écrit :

l'export ne veut pas fonctionner.

C'est à dire ?

Message d'erreur ?

Se croise les bras ?

Une remarque : Tu as 40 000 lignes à exporter mais tes variables sont déclarées en Integer (maxi : 32767)

Déclare les en Long et refais un test

Si pas ça fournis un fichier

Merci de la réponse très rapide,

J'ai bloqué les variables en Integer à Max 32767 pour effectuer un Test.

Le code marche pour 32767 variables, mais ne marche plus au delà.

Le message d'erreur qui apparait est le suivant :

Erreur d'exécution 6 :

Dépassement de capacité

J'essaye de construire un fichier sans donnée compromettante au plus vite

Bonjour

Modifie ta ligne de code

Dim derniereLigne As Integer, deliso As Integer

Par

Dim derniereLigne As Long, deliso As Long

Au top Merci beaucoup

Rechercher des sujets similaires à "vba condition export donnees"