Remonter un tableau automatiquement

Ozzoun

XLDnaute Nouveau
Bonjour,

Pouvez-vous m'expliquer la logique à suivre pour remonter un tableau automatiquement ?
Je réfléchis à des solutions avant de me lancer dans la création de mon excel..

Côté scénario, j'aurais une liste de numéros d'affaire dont certain ne serait pas forcément utile à chacun. Donc je cherche une solution où en supprimant les lignes indésirables et en exécutant un macro, on remonte toutes les lignes en haut du tableau. Pour me compliquer la tâche, sans supprimer de ligne..

Si vous pouvez m'aiguiller un petit peu :D

Merci d'avance.
 

Ozzoun

XLDnaute Nouveau
J'ai remplacer la ligne indiqué par:
If Not xrg Is Nothing Then xrg.EntireRow.Delete.Resize(, 34).Offset(, 8).xlShiftUp

Pour voir progressivement comment cela fonctionne, mais à l’exécution j'ai un message d'erreur

Erreur d'exécution '424':
Objet requis

Qui pointe sur "xrg.EntireRow.Delete.Resize(, 30).Offset(, 8).xlShiftUp"
 

Ozzoun

XLDnaute Nouveau
Bizarre, j'ai effectuer la modification, désormais j'ai une erreur 1004 "Erreur définie par l'application ou par l'objet"
qui pointe sur "xrg.EntireRow.Resize(, 35).Offset(, 7).Delete xlShiftUp"
 
Dernière édition:

Ozzoun

XLDnaute Nouveau
Bonjour,

@mapomme, avez-vous une idée de pourquoi j'ai une erreur ici ? J'ai tenté plusieurs reformulation de cette instruction mais rien de fructueux..

Merci d'avance


VB:
Sub Complete2()
Dim xcell, xrg As Range

   Application.ScreenUpdating = False
   With Sheets("Data")
      If .FilterMode Then .ShowAllData
      For Each xcell In .Range("a2:a130")
         If xcell = "" Then
            If xrg Is Nothing Then Set xrg = xcell.Resize(, 2) Else Set xrg = Union(xrg, xcell.Resize(, 2))
         End If
      Next xcell
      If Not xrg Is Nothing Then xrg.Delete xlShiftUp
   End With
   With Sheets("Mois")
      Set xrg = Nothing
      If .FilterMode Then .ShowAllData
      On Error Resume Next
      Set xrg = .Columns("b").SpecialCells(xlCellTypeFormulas, xlErrors)
      On Error GoTo 0
      If Not xrg Is Nothing Then xrg.EntireRow.Resize(, 30).Offset(, 8).Delete xlShiftUp
   End With
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 312
Membres
102 860
dernier inscrit
fredo67