Ton For To ne va pas changer la feuille active.
De plus, le For Each va scruter toutes les cellules de la colonne A,
y compris celles qui ne sont pas utilisées. Il va donc en scruter environ 1 million de trop.
Pour ces deux raisons, il serait plus propre d'écrire :
1 2 3 4
| Dim WS As Worksheet
For Each WS In Worksheets
For Each cellule In Intersec(WS.Columns(1), WS.UsedRange) |
Si les * sont utilisés pour caractères génériques, ça ne fonctionnera pas avec un simple =.
Il serait préférable d'utiliser la fonction InStr() > 0 pour faire ce type de test.
https://docs.microsoft.com/fr-fr/off...instr-function
Il serait plus propre d'utiliser Resize pour définir cette référence.
Je suis très étonné de ton "62". Il est rare qu'on utilise une référence ligne fixe quand on doit copier une zone après une recherche sur les lignes.
Mais comme ton explication ne permet pas de comprendre ce que tu souhaites faire réellement, difficile de savoir s'il faut le corriger et comment.
Partager