[RESOLU] Definir une feuille excel par defaut pour une macro avec Dim ou Set?

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

Malkav

XLDnaute Nouveau
Bonjour le forum!

Je viens vers vous avec un petit soucis. Il n'est pas ,à mon avis, d'une grosse complexité, mais ça me coince. 🙂

J'ai un classeur avec les feuilles "extract", "janvier", "fevrier", .... jusque "decembre"

je voudrais remplacer mes Sheets("JANVIER") dans le code ci dessous pour qu'elle s'adapte sur les autres feuilles. Par contre je ne sait pas comment ... je n'ai as réussi avec dim ou set, mais je ne suis pas très bon en code (je suis électricien avant tout 😛)

Code:
Sub regroupement()

Application.ScreenUpdating = False
Sheets("extract").Select
'Sheets("JANVIER").Range("A3:C" & Range("A65535").End(xlUp).Row).ClearContents
    Range("A2:C" & Range("A65535").End(xlUp).Row).Copy
    Sheets("JANVIER").Select
    Range("A3").Select
    activesheet.Paste
    activesheet.Range("$A$1:$C$" & Range("A65535").End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlYes
    [A3].Select
 Sheets("extract").Select
'Sheets("JANVIER").Range("A3:C" & Range("A65535").End(xlUp).Row).ClearContents
    Range("A1:F" & Range("A65535").End(xlUp).Row).Copy
    Sheets("JANVIER").Select
    Range("AA1").Select
    activesheet.Paste
    
    Columns("AA:AF").Select
    Application.CutCopyMode = False
    ActiveWorkbook.Worksheets("JANVIER").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("JANVIER").Sort.SortFields.Add Key:=Range( _
        "AE2:AE22850"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("JANVIER").Sort
        .SetRange Range("AA1:AF22850")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    Application.ScreenUpdating = True

End Sub

Merci à vous.
 
Dernière édition:
Re : Definir une feuille excel par defaut pour une macro avec Dim ou Set?

Bonjour,

regarde ceci, espérant que cela puisse t'aider :
Code:
'déclaration en typage de la variable
Dim ws As Worksheet
'initialisation de celle ci
Set ws = Sheets("JANVIER")
'et ensuite dans le code
ws.Range("A3:C" & ws.Range("A65535").End(xlUp).Row).ClearContents

bon après midi
@+
 
Re : Definir une feuille excel par defaut pour une macro avec Dim ou Set?

Merci Pierrot pour ta réponse,

en fait je cherche plus a dire à ma macro " prends en prends en référence "ws" la feuille active. Afin que justement sheets ("janvier"), sheets("février") etc... n'apparaissent pas dans mon code.

J'ai essayé ca, mais seule ma première ligne apparait si je ne précise pas sheet.("extract").select... 🙁

Code:
Sub regroupement()
Application.ScreenUpdating = False
'Sheets("extract").Select
'Sheets("REPHEURESJANVIER").Range("A3:C" & Range("A65535").End(xlUp).Row).ClearContents
    Sheets("extract").Range("A2:C" & Range("A65535").End(xlUp).Row).Copy
    'Sheets("REPHEURESJANVIER").Select
    Range("A3").Select
    activesheet.Paste
    activesheet.Range("$A$1:$C$" & Range("A65535").End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlYes
    [A3].Select
  Application.ScreenUpdating = True
end sub
 
Re : Definir une feuille excel par defaut pour une macro avec Dim ou Set?

Tu es trop fort!

😎

j'avais bien raison avec Dim et Set , mais ma syntaxe avec les "ws" était pourrie...

Je te remercie beaucoup pour ce coup de main....

question bête, comment passe t'on en "résolu"???
 
- 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

Discussions similaires

Réponses
10
Affichages
547
Retour