modification code actualisation

  • Initiateur de la discussion Initiateur de la discussion sofiacasandra2016
  • 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 !

S

sofiacasandra2016

Guest
Bonjour à tous,
dans le fichier ci-joint j'ai deux codes que j'ai trouvé dans ce forum et j'ai essayé d'appliquer la même chose pour une autre fichier personnel.
le problème apparaît lorsque je clique sur la feuille recap qui doit faire l'actualisation de l'onglet ODA Matos pour supprimer les lignes vides ou égale à zero mais comme vous pouvez remarque une fois j'appuie sur le feuille recap un message de bug sort et des lignes qui doivent être supprimé dans la feuille ODA Matos ne sont pas effacés

Merci d'avance pour votre assistance
 

Pièces jointes

Bonjour sofiacasandra 🙂

Supprime les lignes après LS = 0 et met ceci à la place, en déclarant avant
Dim derlig As Long, i as Long

'Supprimer ligne si colonnes H ou D vides
On Error Resume Next
Application.ScreenUpdating = False

With Sheets("ODA MATOS")
derlig = .Cells(Rows.Count, 4).End(xlUp).Row
For i = derlig To 8 Step -1
If .Cells(i, 4).Value = 0 Or IsEmpty(.Cells(i, 4)) Then
.Cells(i, 4).EntireRow.Delete shift:=xlUp
ElseIf .Cells(i, 8).Value = 0 Or IsEmpty(.Cells(i, 8)) Then
.Cells(i, 8).EntireRow.Delete shift:=xlUp
End If
Next i
End With
 
Dernière édition:
Bonjour Lonewolf,
merci beaucoup pour la rectification ça marche 🙂 pouvez vous m'expliquer si c'est possible c'était quoi le problème ??
autre chose supposant que ce code je veux l'appliquer sur d'autres feuille (appelée : MANIP) et non pas seulement une,
je la rajoute sur cette ligne : With Sheets("ODA MATOS", "MANIP") comme ça ?

Merci encore une autre fois

Cordialement
Sofia
 
re,
si c'est comme ça ça n'a pas fonctionné pour moi ??


Dim derlig As Long, i As Long

On Error Resume Next
Application.ScreenUpdating = False

nom = Array("ODA MATOS", "MANIP")

For i = 1 To Sheets.Count
If Sheets(i).Name <> nom Then
Exit For
If Sheets(i).Name = nom Then
With Sheets(i)
derlig = .Cells(Rows.Count, 4).End(xlUp).Row
For i = derlig To 8 Step -1
If .Cells(i, 4).Value = 0 Or IsEmpty(.Cells(i, 4)) Then
.Cells(i, 4).EntireRow.Delete shift:=xlUp
ElseIf .Cells(i, 8).Value = 0 Or IsEmpty(.Cells(i, 8)) Then
.Cells(i, 8).EntireRow.Delete shift:=xlUp
End If
Next i


End Sub
 
Re

Désolé pour le quack. Je ne sais pas pourquoi en mettant Array ça ne marche pas. Mais tu peux faire comme ceci 2 méthodes
Avec Sub test, il faut faire attention que tu aie bien "Feuil1", "Feuil2","Feuil3","Feuil4" comme en image, sinon c'est la cata.

vba_project.gif


VB:
Sub test()
For i = 1 To Sheets.Count
  If Sheets(i).Name <> "Ma Feuille" Then
'Le code
End If
Next
End Sub

Sub test2()
Dim ws As Worksheet

For Each ws In ActiveWorkbook.Sheets
  If ws.Name <> "Ma Feuille" Then
'Le code
End If
Next ws
End Sub
 
re,
je ne sais plus quoi mettre pour tester pouvez vous s'il vous plait mettre tout le code parce que ça fonctionne pas chez moi, tout en sachant que les deux feuilles en question sont "ODA MATOS" et "MANIP"
 
Re

VB:
Sub test()
    For Each ws In ActiveWorkbook.Sheets
        If ws.Name = "ODA MATOS" Or ws.Name = "Manip" Then

            With ws
                derlig = .Cells(Rows.Count, 4).End(xlUp).Row
                For i = derlig To 8 Step -1
                    If .Cells(i, 4).Value = 0 Or IsEmpty(.Cells(i, 4)) Then
                        .Cells(i, 4).EntireRow.Delete shift:=xlUp
                    ElseIf .Cells(i, 8).Value = 0 Or IsEmpty(.Cells(i, 8)) Then
                        .Cells(i, 8).EntireRow.Delete shift:=xlUp
                    End If
                Next i
            End With
        Else
            Exit For
        End If
    Next ws
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
8
Affichages
1 K
Réponses
5
Affichages
1 K
K
Réponses
3
Affichages
549
A
Réponses
15
Affichages
2 K
aminovsky
A
T
Réponses
2
Affichages
37 K
tsikoudia91
T
Retour