Suppression de ligne VBA

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

  1. je ne comprend pas pourtant il trouve mon fichier..je ne sais plus quoi faire
    0
    1. Contributeur
      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
      1. merci michel meme si mon programme n'est pas encore au point aujourd'hui sa me fai avancer ;)
        0
      2. 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
      3. pr info g plutot mi do while not plutot
        0
    2. Contributeur
      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