Suppression de ligne VBA

steaker59 Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je souhaiterais supprimer les lignes non numéric et garder les intitulé de colonne avec les donnée ci-dessous.
Des ligne se rajoute en row A, B, C.. et ainsi de suite.

Sub num()
Date_j = "_" & Left(Date, 2) & "_" & Mid(Date, 4, 2) & "_" & Right(Date, 2)
With Application.FileSearch
.LookIn = ActiveWorkbook.Path
.Filename = "Controle" & Date_j & ".xls"
If .Execute > 0 Then

For i = 1 To .FoundFiles.Count

Workbooks.Open (.FoundFiles(i))
Application.DisplayAlerts = False

If IsNumeric("A2") = False Then // je regarde ci sa correspond a mes donnée
Rows("1:1").Select
Selection.Delete Shift:=xlUp

Application.DisplayAlerts = True
ActiveWorkbook.Save
ActiveWorkbook.Close
End If
Next i
End If
End With
End Sub

rien ne se passe.. aidez moi plzzzz
A voir également:

3 réponses

steaker59 Messages postés 47 Date d'inscription   Statut Membre Dernière intervention  
 
je ne comprend pas pourtant il trouve mon fichier..je ne sais plus quoi faire
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
bonjour

If  not IsNumeric(range("A2"))  Then 'je regarde si ça correspond a mes données
Rows(1).Delete


je ne comprend pas l'utilité de ton displayalerts surtout que si dans le dernier fichier (i) la condition n'est pas remplie, tu gardes définitivement displayalerts désactivé
(displayalerts est très délicat à manipuler)

Comme tu ouvres des fichiers, tu as + qu'intéret à figer l'écran par cette inscruction avanr la boucle (pour éviter les clignotements et ralentir considérablement la macro)
application.screenupdating=False
0
steaker59 Messages postés 47 Date d'inscription   Statut Membre Dernière intervention  
 
merci michel meme si mon programme n'est pas encore au point aujourd'hui sa me fai avancer ;)
0
steaker59 Messages postés 47 Date d'inscription   Statut Membre Dernière intervention  
 
decidement sa ne marche toujours pas..je reste bloquer. cette fois sa agi bien sur le fichier mais la macro est considerablement longue à s'executer..
Rapell: je souhaite supprimer les lignes de trop et garder les entete de colonne avec mes donnée

Sub num()
Date_j = "_" & Left(Date, 2) & "_" & Mid(Date, 4, 2) & "_" & Right(Date, 2)
With Application.FileSearch
.LookIn = ActiveWorkbook.Path
.Filename = "Controle" & Date_j & ".xls"
If .Execute > 0 Then
Application.ScreenUpdating = False

For i = 1 To .FoundFiles.Count
Workbooks.Open (.FoundFiles(i))
Do While IsNumeric("A2") = False
Rows(1).Select
Selection.Delete Shift:=xlUp
Loop
Next i

End If
End With
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub

La fonction isnumeric prend en compte le format standard comme un numeric ??
0
steaker59 Messages postés 47 Date d'inscription   Statut Membre Dernière intervention  
 
pr info g plutot mi do while not plutot
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
bonjour
La fonction isnumeric prend en compte le format standard comme un numeric ??

je me suis donné la peine de te donner la bonne syntaxe! si tu ne me crois pas, regarde l'aide...

Rapell: je souhaite supprimer les lignes de trop et garder les entete de colonne avec mes donnée

actuellement tu regardes si A2 n'est pas un nombre et alors tu détruis la ligne 1 et tu passes au classeur suivant...

d'autre part tu laisses touts les fichiers ouverts sans les sauvegarder; par contre tu sauvegardes le classeur de la macro et tu demandes de fermer le classeur...

enfin, il risque fort d'avoir des problèmes avec filesearch si tu passes en XL2007

question temps, si tu persistes à utiliser des select-selection malgré ce que je t'ai proposé, ce n'est pas ça qui va diminuer le temps d'exécution....

donc, précises clairement ce que tu veux faire au besoin en mettant un des classeurs en pièce jointe et qqn pourra t'aider
0