Déplacement automatique d'une ligne selon valeur

Résolu
Ascalon -  
Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   -

Bonjour,

Je renseigne un fichier Excel d'électroménagers chaque jour.

Les nouvelles lignes que j'insère, se situe tout en bas de mon tableau, et j'aimerais qu'elle se déplace automatiquement à tel ou tel ligne dans mon tableau en fonction d'une valeur entrée, notamment dans mon cas la marque de l'électroménager.

Par exemple, mes four Electrolux se situe entre les lignes 3 et 23 et la marque "Electrolux" est renseignée en colonne B. A l'insertion d'une nouvelle ligne en 66, je renseigne "Electrolux" en colonne B. La ligne se déplace alors automatiquement en ligne 24.

Merci d'avance pour votre aide et vos conseils :)

Cordialement,

4 réponses

  1. NonoM45 Messages postés 1020 Date d'inscription   Statut Membre Dernière intervention   5
     

    Bonjour Ascalon,

    Il suffit de faire un tri à chaque ajout de nouvelle ligne, non ?

    On peut lancer ce tri en VBA

    A+

    1
    1. Ascalon
       

      Bonjour NonoM45,

      En effet un tri via les filtres fonctionne, mais cela suppose que j'ai une manipulation à effectuer.

      Je souhaite rendre cela automatique au moment où la marque est renseignée.

      S'il s'agit de VBA, auriez-vous un code à me proposer ?

      Merci par avance :)

      0
  2. Raymond PENTIER Messages postés 58216 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     

    Bonjour Ascalon.

    "cela suppose que j'ai une manipulation à effectuer" :

    Un clic sur un bouton, ce n'est quand même pas épuisant !


    1
    1. Ascalon
       

      Monsieur Pentier,

      Croyez-moi, je ne suis pas flemmard et je suis entièrement d'accord avec vous, mais là n'est pas la question.

      Excel est un logiciel intelligent avec la qualité de pouvoir automatiser un certain nombre de choses.

      Ma tâche étant régulière et quotidienne, cela représente pour moi un réel gain de temps.

      Bien cordialement,

      0
  3. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 477
     

    Bonjour,

     S'il s'agit de VBA, auriez-vous un code à me proposer ?

    En utilisant l'enregistrement de macro, vous faites une fois le travail et ensuite vous utiliserai la macro qui a été enregistré.

    Exemple ; Trier la base "A1:K200" sur la colonne B

    Sub Macro2()
    '
    'Trier la base "A1:K200" sur la colonne B
        Range("A1:K200").Select
        Range("K1").Activate
        ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add2 Key:=Range("B2:B166" _
            ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("Feuil1").Sort
            .SetRange Range("A1:J166")
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
        Range("A2").Select
    End Sub
    

    0
    1. Ascalon
       

      Bonjour Le Pingou,

      Merci pour votre réponse.

      A partir de vos éléments, j'ai réussi à résoudre mon besoin.

      Merci beaucoup :)

      0
  4. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 477
     

    Merci, penser de marquer comme résolu si c'est le cas.


    0