même macro pour autre feuille

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

S

sympa

Guest
Bonjour à tout le forum,

Jean Marie m'avait écrit une macro. J'aurais aimé utiliser cette même macro en plus sur une autre feuille dont la présentation est identique, seules les données changent. Créer une nouvelle macro en changeant les noms des feuilles ne marche pas sauf si je la place dans un autre classeur. Y a t'il une solution pour avoir ces 2 feuilles ('to' et 'ri') dans le même classeur?
(NB:il y d'autres feuilles dans le classeur)

Voici le code de la macro:
Sub Liste1()
Dim Tablo As Variant
Dim Maplage1 As Range
Dim Maplage2 As Range
Dim NbrMin As Integer, NbrMax As Integer, L As Integer
Dim nbr As Integer
L = 1
With Worksheets('to')
Set Maplage1 = .Range('D1😀' & .Range('D65536').End(xlUp).Row)
Set Maplage2 = .Range('E1:E' & .Range('E65536').End(xlUp).Row)
NbrMax = Application.WorksheetFunction.Max(Maplage1)
NbrMin = Application.WorksheetFunction.Min(Maplage2)
With Worksheets('to')
.Range('J1:J1000').ClearContents
For nbr = NbrMax To NbrMin Step -10
.Cells(L + 1, 10) = nbr
L = L + 1
Next
End With
End With
End Sub

Merci d'avance à celui ou celle qui me donnera la solution.
Bonne journée.
Olivier
 
Bonjour,

Je pensais à déclarer une variable i correspondant à la feuille active. Exemple : i = Activesheet.name -> ensuite With Worksheets('i')

Mais peux-tu fournir les infos suivantes :

Les feuille 'ti' et 'to' sont dans un même classeur ?
La macro en question est dans le classeur comportant les deux feuilles ?

😉
 
Bonjour Dan et Pascal,

Merci pour vos réponses.
Je viens d'essayer mais je n'y suis pas arrivé.
J'ai bien dans le même classeur la feuille 'to' avec sa macro qui fonctionne et j'ai rajouté la feuille 'ri' sur laquelle j'aimerais aussi appliquer la macro.
J'ai changé les 2 lignes de code en: With worksheet('i'). Juste avant j'ai écrit: i= Activesheet.Name (sans préciser de nom) et j'ai essayé de déclarer cette variable: Dim i As string.
La nouvelle macro ne fonctionne pas même sur la 1ère feuille.Où est mon erreur?

Salut.
Olivier
 
Bonsoir Dan, Pascal, Sympa, le Forum

Une approche rapidos avant de fermer le Bureau

Sub Liste1()
Dim Tablo As Variant
Dim Maplage1 As Range
Dim Maplage2 As Range
Dim NbrMin As Integer, NbrMax As Integer, L As Integer
Dim nbr As Integer
Dim WS As Variant

L = 1

For Each WS In Array('To', 'Ri')

   
With Worksheets(WS)
       
Set Maplage1 = .Range('D1😀' & .Range('D65536').End(xlUp).Row)
       
Set Maplage2 = .Range('E1:E' & .Range('E65536').End(xlUp).Row)
        NbrMax = Application.WorksheetFunction.Max(Maplage1)
        NbrMin = Application.WorksheetFunction.Min(Maplage2)
       
            .Range('J1:J1000').ClearContents
           
For nbr = NbrMax To NbrMin Step -10
                .Cells(L + 1, 10) = nbr
                L = L + 1
           
Next
   
End With
Next
End Sub

Bonne Soirée et Week End
[ol]@+Thierry[/ol]
 
Bonjour Dan, Pascal et Thierry,

Merci à Dan et Pascal. Ca fonctionne!
J'avais bien remarqué Pascal l'absence des guillemets mais lorsque j'ai fait l'essai sans doute que je n'avais pas encore déclaré la variable i , ce qui me renvoyait un message d'erreur. La macro est dans un module avec Option Explicit.
Merci aussi à Thierry mais le résultat n'est pas identique...

Bon week end.
Olivier
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
733
Réponses
5
Affichages
911
Réponses
15
Affichages
784
Réponses
3
Affichages
332
Retour