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

Appel macro dans une boucle

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 !

treza88

XLDnaute Occasionnel
Bonjour a tous

Dans une double boucle , une sur les lignes d'une feuille et l'autre sur les feuilles impaires du classeur je voudrais inserer un appel de macro en l'occurence "Affiche_0", pour quel soit lancer sur chaque feuille impaire, mais depuis mon code ci desous je ne vois pas comment faire.


Code:
Dim I As Integer
   Dim j As Integer
Dim Retour As Integer
Dim WS_Count As Integer
 
 
     Retour = MsgBox("Voulez vous supprimer toute les lignes SPE", vbYesNo + vbCritical, "Attention")
     If Retour = vbYes Then
 
 
         WS_Count = ActiveWorkbook.Worksheets.Count
         For j = 5 To (WS_Count - 2) Step 2
 
         [COLOR=red]Affiche_0[/COLOR]
 
          For I = 5 To Range("D65536").End(xlUp).Row
      If ActiveWorkbook.Worksheets(j).Cells(I, 3).Value = "SPE" Then
      ActiveWorkbook.Worksheets(j).Cells(I, 3).EntireRow.Delete
      I = I - 1
      End If
            Next I
   Next j
     Else
           Exit Sub
     End If


Merci d'avance
 
Dernière édition:
Re : Appel macro dans une boucle

Salut tototiti2008

En essayant de te repondre je pense que j'ai trouvé la solution, j'ai integrer la parti de ma macro directement dans la boucle, j'ai pas testé mais ça doit marcher.
Affiche_0 me permet de réhafficher les lignes qui était préalablement masqué.

Code:
 Dim I As Integer
   Dim j As Integer
Dim Retour As Integer
Dim WS_Count As Integer
         
         
     Retour = MsgBox("Voulez vous supprimer toute les lignes SPE", vbYesNo + vbCritical, "Attention")
     If Retour = vbYes Then
     
     
         WS_Count = ActiveWorkbook.Worksheets.Count
         For j = 5 To (WS_Count - 2) Step 2
         
         
          For I = 5 To Range("D65536").End(xlUp).Row
          [COLOR=red]ActiveWorkbook.Worksheets(j).Cells(I, 3).EntireRow.Hidden = False[/COLOR]
      If ActiveWorkbook.Worksheets(j).Cells(I, 3).Value = "SPE" Then
      ActiveWorkbook.Worksheets(j).Cells(I, 3).EntireRow.Delete
      I = I - 1
      End If
            Next I
   Next j
     Else
           Exit Sub
     End If
   
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

Réponses
15
Affichages
412
Réponses
4
Affichages
618
Réponses
3
Affichages
820
Réponses
5
Affichages
755
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
231
Réponses
8
Affichages
682
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…