Code inactif pour macro sur toutes les feuilles d'un classeur

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

Zougoulou

XLDnaute Nouveau
Bonjour,

Après avoir parcouru le forum j'ai écris ce code :


PHP:
Sub efface_lignes()
 
 Dim ws As Worksheet
 
 For Each ws In Worksheets

'Sur la colonne A efface les doublons'

Range("$A$1:$A$1913").RemoveDuplicates Columns:=1, Header:= _
        xlYes
      
Next ws

End Sub

La macro est active cependant, elle ne s'applique que sur la feuille active alors que mon but est de l'appliquée sur toute les feuilles.

Voyez vous le problème ?

Merci
 
Dernière édition:
Re : Code inactif pour macro sur toutes les feuilles d'un classeur

Avec cette formulation VBA me met en mode débogage.

Erreur441

PHP:
Sub efface_lignes()
 
 Dim ws As Worksheet
 
 For Each ws In Workbook


'Sur la colonne A j'efface les doublons

Range("$A$1:$A$1913").RemoveDuplicates Columns:=1, Header:= _
        xlYes
      
Next ws

End Sub
 
Re : Code inactif pour macro sur toutes les feuilles d'un classeur

Bonjour.
Non:
VB:
ws.Range("$A$1:$A$1913").RemoveDuplicates Columns:=1, Header:=xlYes
D'ailleurs mon conseil c'est de toujours qualifier Range et Cells de quelque chose ne serait-ce que de Activesheet ou Application
Sans cela vous n'êtes jamais sûr à 100% de ce qu'il assume. là, il le répétait, pour autant de fois qu'il y avait de feuilles dans le classeur, toujours sur la même feuille active !
Cordialement
 
Re : Code inactif pour macro sur toutes les feuilles d'un classeur

Merci encore pour votre aide.

Voilà mon code final qui a un peu évolué mais qui fonctionne à présent :
PHP:
Sub efface_lignes()
 
 Dim ws As Worksheet
 
  For Each ws In ThisWorkbook.Worksheets
' Si le nom n'appartient pas à la liste entre guillemets
     If InStr(1, "Graph2 récap index_feuilles", ws.Name) = 0 Then

'Sur la colonne A j'efface les doublons

ws.Range("$A$1:$A$70000").RemoveDuplicates Columns:=1, Header:= _
        xlYes
   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

Discussions similaires

Réponses
7
Affichages
211
Réponses
7
Affichages
620
Réponses
8
Affichages
1 K
Retour