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

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 :p)

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:

Pierrot93

XLDnaute Barbatruc
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
@+
 

Malkav

XLDnaute Nouveau
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
 

Malkav

XLDnaute Nouveau
Re : Definir une feuille excel par defaut pour une macro avec Dim ou Set?

Tu es trop fort!

:cool:

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"???
 

Discussions similaires

Réponses
3
Affichages
591

Statistiques des forums

Discussions
312 307
Messages
2 087 096
Membres
103 468
dernier inscrit
TRINITY