Probléme adaptation macro

Bonjour,

je suis novice en VBA et je n'arrive pas à modifier une macro:

voila mon probléme:

j'ai une feuille excel dans laquelle je rentre des numéros grâce à des macro (de 1 à 128).

donc à chaque fois que je clic sur un bouton il met le numero correspondant dans la case (colonne B) et passe à la case suivante en attente d'un nouveau clic.

j'ai une macro qui trie toute les lignes d'une zone mais voila ceci est trop long donc j'aimerais la modifier pour avoir le tri simplement de la ligne de la case active (biensûre juste les colonnes indiquées).

je vais intégrer cette macro dans celle des numéro comme cela on auras:

inscription du numéro puis descente d'une case et enfin tri d'une partie de la ligne.

de plus j'aimerais copier la valeur des cases AA-AD de cette même ligne dans les cases BB-BD.

donc dans l'ordre:

copie des cases puis tri.

voici mon code.

Sub TriTout()

    PremiereLigne = 18
    DerniereLigne = 384
    PremiereColonne = 10
    DerniereColonne = 20
    For i = PremiereLigne To DerniereLigne
    TriH Range(Cells(i, PremiereColonne), Cells(i, DerniereColonne))
    Next
    End Sub

    Sub TriH(Plg As Range)
    With ActiveSheet.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Plg, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .SetRange Plg
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlLeftToRight
            .SortMethod = xlPinYin
            .Apply
        End With
    End Sub

à l'avance merci pour votre aide car il ne me reste plus que cela à faire et deux jours dessus sans rien trouver.

ceci est trés important il vas me servir pour des statisques.

bien cordialement,

Daniel

Bonjour,

re bonjour,

je ne peux joindre mon fichier c'est confidentiel désolé.

voici donc un fichier avec juste la macro.

Daniel


oups avec le fichier c'est mieux

fichier trop lourds donc voici une sauvegarde du module.

grrrrrrrrrrrrr

merci à l'avance.

Daniel

7module-1-bas.zip (839.00 Octets)

Me vola de retour.

J’ai fait un fichier test.

Quand je clic sur le bouton il y a inscription d’un deux dans la case active en B et descente d’une case.

J’ai une macro qui fait le tri de la zone jaune par ordre croissant elle fonctionne, mais pas sur cette zone, car il y a des formules.

Mais avec le nombre de données, cela prend 4 minutes et je veux le résultat après chaque entrée donc impossible d’attendre.

je veux donc que la macro fasse d’abord une copie des valeurs (car j’ai des formules) de la ligne précédente de la case active à partir de E (car on vient de donner une valeur à B) vers la colonne W.

puis modifier le code existant pour ne faire le tri sur la zone de la même ligne à partir de W.

Comme cela le tri se fait une ligne à la fois après avoir entré une donnée.

À l’avance merci.

Daniel

7classeur1.xlsm (41.51 Ko)

Bonjour,

je constate qu'il n'y as personne pour m'aider bien dommage je cherche aussi de mon coté mais pour le moment rien n'avance.

alors si une âme charitable se lance pour moi je serais le plus heureux mais bon je sais je demande de trop.

bon aprés midi à tous et bon long WE

Daniel

bonjour à tous,

bon personne pour me venir en aide alors c'est bon je vais me débrouiller autrement.

je vais le faire en manuel toute les 10-15 ligne comme cela pas trop de temps à attendre.

merci à ceux qui on pris le temps de me lire et bon long Week End à tous.

Daniel

Bonjour,

Explications un peu... tordues et difficiles à suivre.

A tester :

Sub Bouton02()
    Dim lig As Long, pl As Range
    ActiveCell.FormulaR1C1 = 2
    lig = ActiveCell.Row
    Set pl = Range(Cells(lig, 10), Cells(lig, 20))
    'copier-coller valeurs pour ler tri
    pl.Copy
    pl.PasteSpecial Paste:=xlPasteValues
    TriH pl
    Range("BB1:BD1").Offset(lig - 1) = Range("AA1:AD1").Offset(lig - 1).Value
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

eric

Bonjour Eric,

tout d'abord merci d'avoir pris le temps de me lire.

je sais c'est pas clair mais ce que tu as fais est presque ça.

je te joint un fichier ou il y as l'explication qui est plus simple car je me suis un peu embroullé.

encore mille merci

Daniel

8essai.xlsm (42.92 Ko)

Bonjour,

Ne met pas tes nombres entre " ", ça te met une chaine au lieu d'un numérique.

Sub Bouton02()
    Dim lig As Long, pl As Range
    ActiveCell.FormulaR1C1 = 2
    lig = ActiveCell.Row
    Set pl = [V1:AK1].Offset(lig - 1)
    pl.Value = [E1:T1].Offset(lig - 1).Value
    TriH pl
    ActiveCell.Offset(1, 0).Select
End Sub

eric

bonjour Eric,

exactement ce qu'il me fallait tu est un champion.

un grand merci tu m'enlève une grosse épine de pied.

allé je m'y remet pour avancer car j'ai encore beaucoup de boulot pour finaliser.

à bientôt j'espére.

Daniel

Rechercher des sujets similaires à "probleme adaptation macro"