Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Remonter un tableau automatiquement

  • Initiateur de la discussion Initiateur de la discussion Ozzoun
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 😀

Merci d'avance.
 
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"
 
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:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

B
Réponses
2
Affichages
2 K
B
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…