Suppression de ligne VBA

Fermé
steaker59 Messages postés 47 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 22 décembre 2013 - 22 nov. 2010 à 15:47
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 23 nov. 2010 à 10:57
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

3 réponses

steaker59 Messages postés 47 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 22 décembre 2013
22 nov. 2010 à 15:54
je ne comprend pas pourtant il trouve mon fichier..je ne sais plus quoi faire
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 312
22 nov. 2010 à 18:08
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 jeudi 28 janvier 2010 Statut Membre Dernière intervention 22 décembre 2013
23 nov. 2010 à 08:40
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 jeudi 28 janvier 2010 Statut Membre Dernière intervention 22 décembre 2013
23 nov. 2010 à 09:53
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 jeudi 28 janvier 2010 Statut Membre Dernière intervention 22 décembre 2013
23 nov. 2010 à 09:57
pr info g plutot mi do while not plutot
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 312
23 nov. 2010 à 10:57
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