Déplacement automatique d'une ligne selon valeur

Résolu
Ascalon -  
Le Pingou Messages postés 12249 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,

A voir également:

4 réponses

NonoM45 Messages postés 770 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour Ascalon,

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

On peut lancer ce tri en VBA

A+

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
Raymond PENTIER Messages postés 58988 Date d'inscription   Statut Contributeur Dernière intervention   17 351
 

Bonjour Ascalon.

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

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


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
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 

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
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
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 

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


0