VBA excel

Résolu
calimero33160 Messages postés 37 Statut Membre -  
calimero33160 Messages postés 37 Statut Membre -
Bonjour,

En fait j'ai un tableur avec des filtres (tri de A à Z), et je souhaite envoyer le classeur à des personnes qui ont un niveau "0" en informatique :-) Voila pourquoi je voudrais trouver un moyen d'intégrer une réactualisation du tri à chaque changement des données, pour pas qu'ils aient à déclencher soit un bouton de macro, soit le raccourci CTRL+ALT+L qui permet de réactualiser.
Une solution ? Merci d'avance.

6 réponses

  1. calimero33160 Messages postés 37 Statut Membre
     
    up ?
    0
  2. florent5528 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
     
    A la rigeur pour simplifier tu mets sur la page un "bouton" relié à ta macro avec marquer en gros "pour faire le tri, appuis moi dessus avec la souris"

    Il n'y aura qu'a cliquer dessus et là même en étant une bille en informatique...

    (solution que j'avais trouvé pour mon père et ça a marché)
    0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour,

    la macro ci dessous se déclenche à un changement dans la Zone A2:A100 et trie cette zone dans l'ordre ascendant (ta demande n'indique pas les coordonnées du tableau, donc...)

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim liste As Range
    Set liste = Range("A2:A100")
    If Intersect(Target, liste) Is Nothing Then: Exit Sub
    Application.EnableEvents = False
    liste.Sort Range("A2"), xlAscending
    Application.EnableEvents = True
    End Sub


    installation: copier cette macro
    clic droit dans le nom de l'onglet-visualiser code
    coller
    0
  4. calimero33160 Messages postés 37 Statut Membre
     
    ok ça c'est pas mal, je connaissais pas Worksheet_Change(ByVal Target As Range)

    En fait plus exactement, si on a un tableau de A1 à B100, on peut utiliser range pour faire le setlist ? genre range (A1:B100) ?

    Mon problème est que je souhaiterais que la colonne A et la colonne B restent liées. Si on a :
    a 1
    b 2
    c 3
    e 4
    f 5
    g 6
    h 7

    et qu'on change le a en z, que le 1 se mette à la fin aussi, qu'il suive le z quoi. C'est possible ? merci d'avance
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      qu'on change le a en z, que le 1 se mette à la fin aussi, qu'il suive le z quoi.

      tu voulais dire qu'il suive le a quoi ??

      Private Sub Worksheet_Change(ByVal Target As Range) 
      Dim liste As Range 
      Set liste = Range("A2:A100") 
      If Intersect(Target, liste) Is Nothing Then: Exit Sub 
      Application.EnableEvents = False 
      range("A2:B100").Sort Range("A2"), xlAscending 
      Application.EnableEvents = True 
      End Sub
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. calimero33160 Messages postés 37 Statut Membre
     
    est ce que tu pourrais mettre des petits commentaires pour chaque ligne, parce que je comprends pas pourquoi le range du setlist c'est A2:A100.

    et oui c'était bien qu'il suive le a :-)
    0
  7. calimero33160 Messages postés 37 Statut Membre
     
    ok j'ai compris le truc ^^

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim liste As Range
    Set liste = Range("B2:B100")
    If Intersect(Target, liste) Is Nothing Then: Exit Sub
    Application.EnableEvents = False
    Range("A2:B100").Sort Range("B2"), xlAscending
    Application.EnableEvents = True
    End Sub

    donc si je fais ça, ça fait la même chose avec pour base un tri en colonne B. Et c'est possible de pas s'arrêter à B100, je veux dire de sélectionner tout A et tout B ?
    0