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

vba for each ws in worksheets ne fonctionne pas

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 !

superbog

XLDnaute Occasionnel
bonsoir,

je me casse la tête depuis des heures. J'ai un classeur avec une centaine de feuille de même structure. J'ai écrit une macro pour supprimer les doublons de certaines plages et je voudrais l'appliquer à toutes les feuilles portant un nom numérique.

voici la macro que j'ai écrite, elle ne fonctionne pas )🙁((((

pour être plus précise, elle lance, prend son temps, se termine par la mention "opération effectuée" mais en réalité aucun doublon effacé.

pourtant, feuille par feuille ca fonctionne...

si quelqu'un a une idée

Code:
Sub dblglobal()

Dim Ws As Worksheet

For Each Ws In Worksheets
     
     If IsNumeric(Ws.Name) Then
        
           Range("J21:M900").Select
    ActiveSheet.Range("$J$21:$M$900").RemoveDuplicates Columns:=Array(1, 2, 3, 4), _
        Header:=xlYes
        
        Range("ad21:ai900").Select
        ActiveWindow.SmallScroll Down:=-900
   ActiveSheet.Range("$ad$21:$ai$900").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6 _
        ), Header:=xlYes
        
        Range("ak21:ap900").Select
        ActiveWindow.SmallScroll Down:=-900
           ActiveSheet.Range("$ak$21:$ap$900").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6 _
        ), Header:=xlYes
   

    Range("O21:T900").Select
    ActiveWindow.SmallScroll Down:=-900
    ActiveSheet.Range("$O$21:$T$900").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6 _
        ), Header:=xlYes
       
        End If
       
    Next Ws
    MsgBox "opération effectuée"





End Sub

merci d'avance, je crise
 
Re : vba for each ws in worksheets ne fonctionne pas

Bonjour superbog,

En regardant ton code, je crois que tu devrais remplacer "Activesheet.Range..." par "WS.range" car sinon tu enlèves les doublons sur la page qui est active au lancement de la macro. (toujours la même)

A tester.
 
- 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
22
Affichages
3 K
Réponses
1
Affichages
687
Réponses
11
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…