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

- 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+++
 
J

JB

Guest
- Merci beaucoup Zon, j'ai essayé et en effet quand la feuille n'existe pas c'était le plantage assuré.
Maintenant avec ta correction cà marche super!

Encore merci et joyeux noël à toi...
JB
 
Z

Zon

Guest
Salut,

Je n'ai pas oublié de End if , on peut écrire si on reste sur la même ligne.

If Mavariable=1 then Monaaction


à la place de

If Mavariable=1 then
Monjaction
End if


A+++
 

Discussions similaires

Réponses
3
Affichages
664
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…