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

Macro lors du chagement d'onglet

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

StDark

Guest
Bonjour,

Je souhaiterai connaitre le code VBA qui me permettrait lors du changement d'onglet de faire une copie d'une colonne sur une autre colonne (toujours sur mon onglet de départ) avec un tri croissant.

Si quelqu'un pouvait m'aider ca serait super sympa.

++
 
Re : Macro lors du chagement d'onglet

Bonjour ST Dark,
Bonjour le forum,

Pour bien t'aider, je pense qu'un petit fichier exemple est nécessaire.
Tu peux te servir de l'événement "Worksheet_Deactivate()" pour identifier le changement d'onglet.

Bonne journée,

Ninbihan
 
Re : Macro lors du chagement d'onglet

Re,

Voila un fichier de test.

Dans la Colonne A je saisis des noms pour les quels je ne veux pas modifier le tri.

Le but lors du changement d'onglet serait de copier la colonne A en colonne C avec un tri croissant.

Comme cela dans mon autre onglet, je dispose en A1 d'une liste triée par ordre alphabétique.

J'espère être assez clair.

Merci en tout cas pour ton aide.

++
 

Pièces jointes

Dernière modification par un modérateur:
Re : Macro lors du chagement d'onglet

Bonsoir StDark, bonsoir Ninbihan 🙂

Ci-joint un petit essai sans prétention avec l'aide de l'enregistreur de macros:

Bonne soirée,

mth

Code:
Private Sub Worksheet_Activate() 'à rattacher à l'onglet Feuil2
 
    Sheets("Feuil1").Columns("A:A").Copy Sheets("Feuil2").Range("C1")
    ActiveWorkbook.Worksheets("Feuil2").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil2").Sort.SortFields.Add Key:=Range("c:c"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil2").Sort
        .SetRange Range("c:c")
        .Orientation = xlTopToBottom
        .Apply
    End With
End Sub
 

Pièces jointes

Re : Macro lors du chagement d'onglet

Bonsoir le fil, StDark, Ninbihan, mth

Maintenant que mth nous a montré la voie ... 🙂
Code:
Private Sub Worksheet_Activate()   [B][COLOR=darkgreen]' à rattacher à l'onglet Feuil2[/COLOR][/B]
 
    Application.ScreenUpdating = False
 
    [B][COLOR=darkgreen]' Ici, le code proposé par mth (par exemple)[/COLOR][/B]
 
    [C:C].Copy Feuil1.[C1]
    [C:C].Delete
 
    With [A1].Validation
        .Delete
        .Add Type:=xlValidateList, Formula1:="=Feuil1!C1:C" & Feuil1.[C65536].End(xlUp).Row
    End With
 
End Sub
PS: Je vais peut-être passer au Duc des Lombards le 15 ou le 16 juillet 🙂

A plus
 
- 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
5
Affichages
724
Réponses
2
Affichages
701
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…