web-dev-qa-db-fra.com

VBA Excel: comment exécuter une fonction pour chaque cellule d'une colonne et parcourir tous les classeurs?

Voici ce que j'ai jusqu'à présent:

Sub TrimColumnD()
   Dim ws As Worksheet

   For Each ws In ThisWorkbook.Worksheets
   Dim c As Range
        For Each c In ActiveSheet.UsedRange.Columns("D").Cells
            c.Value = WorksheetFunction.Trim(c.Value)
        Next c
   Next ws

End Sub

La fonction de découpage ne fonctionne que sur les cellules de la première feuille de calcul, mais c'est tout. Aucune suggestion?

Merci d'avance

9
user2510323

Veuillez modifier cette ligne:

For Each c In ActiveSheet.UsedRange.Columns("D").Cells

dans celui-ci:

For Each c In ws.UsedRange.Columns("D").Cells

Dans votre code, la boucle interne fait référence à la feuille active alors qu'elle doit faire référence à ws variable représentant la feuille.

14
Kazimierz Jawor