- Que vaut ma macro?

J

JB

Guest
- Salut les ForuWomen et les ForuMen,

j'ai écrit une petite macro pour lier toutes les feuilles de mon classeur à une feuille récapitulative.
Elle semble fonctionner mais j'aimerais avoir l'avis des pros, svp...
pour me donner leur avis, la simplifier ou la complèter le cas échéant.

Sub TEST()
Dim nomsheet As String
Sheets("Récapituler").Range("A1", Range("A1").End(xlDown)).Select
For Each Cell In Selection
Cell.Select
nomsheet = ActiveCell.Value
If ActiveCell.Offset(0,5).Value <> Sheets(nomsheet).Range("F4").Value Then
ActiveCell.Offset(0,5).Value = Sheets(nomsheet).Range("F4").Value
End If
Next Cell
End Sub

Merci d'avance,
JB
 
Z

Zon

Guest
Salut,

Personne ne t'a répondu, bon tanpis je me lance, du moment que ta macro te satisfait pourquoi bon la changer.
Nettoyer les select et rajouter une vraie fausse gestion d'erreur , et en éliminant une variable (nomsheet) en utilisant la proprité Text d'un range. Si tu avais mis Option Explicit en haut de ton module tu aurais le debugger qui aurait dit cell variable non définie

Sub TEST()
Dim Cell As Range
With Sheets("Récapituler")
For Each Cell In Range(.[A1], .[A1].End(xlDown))
On Error Resume Next 'Si par hasard le nom de feuille n'existe pas ça plante la macro
If Cell.Offset(0, 5).Value <> Sheets(Cell.Text).Range("F4").Value Then Cell.Offset(0, 5).Value = Sheets(Cell.Text).Range("F4").Value
On Error GoTo 0 'On remet à 0 la valeur d'erreur
Next Cell
End With
End Sub


A+++
 

Discussions similaires

Réponses
3
Affichages
664

Statistiques des forums

Discussions
313 035
Messages
2 094 603
Membres
106 060
dernier inscrit
Sophiane29