Limiter longueur sélection via une valeur dans une cellule

newpol

XLDnaute Nouveau
Bonjour à tous,

Après de nombreux essais infructueux, je me tourne vers les spécialistes afin de m'aider à trouver une solution à ma problématique.

Je souhaiterais faire ce qui suit:

1- Dans un tableau, faire une sélection dans la longueur de lignes dépendrait d'une cellule

2- Coller cette sélection dans un nouveau tableau et faire un trie sur une des colonnes

3- Faire une nouvelle sélection sur ce nouveau tableau dont la longueur de lignes dépendrait aussi d'une cellule.

Avec l'aide de l'enregistreur de macro il m'a été facile de créer une macro qui reprend toute ces étapes.

Mon problème est de trouver un code pour pouvoir faire des sélections qui ont comme longueur de lignes la valeur affichée dans une cellule.

Je vous joins un fichier pour plus de détail et de compréhension.

Merci pour votre aide.
 

Pièces jointes

  • Test_macro.xlsm
    22.9 KB · Affichages: 47
  • Test_macro.xlsm
    22.9 KB · Affichages: 53

Modeste

XLDnaute Barbatruc
Re : Limiter longueur sélection via une valeur dans une cellule

Bonjour newpol,

Je n'envisage pas du tout d'intervenir plus avant dans ton projet (qui m'a l'air bien compliqué ... et je suis un jeune homme simple le premier qui barre le "jeune" et ajoute un 't' à "simple" sera voué aux gémonies) ... Cependant, il me semble que tu pourrais remplacer les deux premières lignes de ton code par celle-ci:
VB:
Range("E3").Resize(Sheets("TEST").[A4], 9).Copy
 

newpol

XLDnaute Nouveau
Re : Limiter longueur sélection via une valeur dans une cellule

Bonjour Modeste,

Ta solution doit être à ton image "simple"...et terriblement efficace...!

C'est exactement ce que je recherchais et après test tout tourne correctement.

Encore merci pour ton aide

A bientôt
 

newpol

XLDnaute Nouveau
Re : Limiter longueur sélection via une valeur dans une cellule

C'est encore moi..!

Pourrais-tu m'aider pour "masquer" les onglets dont la macro a besoin pour calculer.

Je m'explique:
Lorsque je lance la macro on voit tous le déroulé des calculs et on voit que l'on passe d'un onglet à un autre.

Est-il possible de faire en sorte que l'on reste toujours sur l'onglet active sans voir apparaître les autres onglets.

Merci pour ton aide

Sub CONTRIBUTION()
'
' CONTRIBUTION Macro
'

'
'Range("L7:O16").Select
'Selection.ClearContents
'Sheets("Tampon").Select
'Range("B37:J63").Select
'Selection.ClearContents
'Range("B3").Resize(Sheets("Tampon").[L3], 9).Copy
'Range("B37").Select
'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Range("B37").Select
'Range("B37").Resize(Sheets("Tampon").[L3], 9).Select
'Range(Selection, Selection.End(xlDown)).Select
'Application.CutCopyMode = False
'Selection.AutoFilter
'ActiveWorkbook.Worksheets("Tampon").AutoFilter.Sort.SortFields.Clear
'ActiveWorkbook.Worksheets("Tampon").AutoFilter.Sort.SortFields.Add Key:=Range _
("G38:G500"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
'With ActiveWorkbook.Worksheets("Tampon").AutoFilter.Sort
'.Header = xlYes
'.MatchCase = False
'.Orientation = xlTopToBottom
'.SortMethod = xlPinYin
'.Apply
'End With
'Range("G38").Resize(Sheets("Tampon").[L4], 4).Select
'Selection.Copy
'Sheets("Contributions Evol Lactulose").Select
'Range("L7").Select
'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Range("L12").Select
'End Sub
 

Modeste

XLDnaute Barbatruc
Re : Limiter longueur sélection via une valeur dans une cellule

Bonsoir,

N'avais-je pas annoncé que je ne m'engagerais pas plus loin dans le projet? ;)

D'autre part, à l'avenir, ouvre plutôt une nouvelle discussion, lorsque le sujet ou la question sont différents de ceux d'origine ... sinon, certains fils deviennent des sortes de pelotes inextricables.

Pas regardé ton code, mais au vu des "symptômes" évoqués, regarde dans l'aide ou sur ce forum ce qu'on dit de la propriété Application.ScreenUpdating
 

Staple1600

XLDnaute Barbatruc
Re : Limiter longueur sélection via une valeur dans une cellule

Bonsjour à tous


Juste histoire de saluer le simplet (allusion ici au K.I.S.S), pas à l'homme ;)
La macro initiale remaniée
Code:
Sub TRIE()
' TRIE Macro
Range("E3:M15").Copy
Range("E30").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Range("E30:M42").Sort Range("J2"), 1, Header:=xlGuess
Range("J31:J36,L31:L36,M31:M36").Copy
Range("J47").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub

PS: je plussoie à la suggestion de Modeste, la macro CONTRIBUTIONS ne vient pas et n'est pas exploitable sur le fichier joint dans le premier message.
Donc effectivement le plus judicieux serait d'ouvrir une nouvelle discussion pour cette nouvelle question.
 

Modeste

XLDnaute Barbatruc
Re : Limiter longueur sélection via une valeur dans une cellule

Bonjour newpol,
Salut JM :)

KISS, ... kiss ... mais nous n'avons pas gardé les vaches ensemble, que je sache!? :p
Maintenant, lorsque je lis, sur le lien fourni: "Keep it simple, stupid", je m'interroge néanmoins! Le dernier terme sert-il à qualifier et renforcer le 'simple' ... ou l'interlocuteur? ;)
 

newpol

XLDnaute Nouveau
Re : Limiter longueur sélection via une valeur dans une cellule

Salut Modeste, Salut JM,

Je connaissais le French KISS mais pas encore le concept KISS...j'ai la pratique du premier, reste maintenant à m’entraîner pour le second...;)

Effectivement, le code ajouté à mon second message proviens d'un autre fichier que celui ajouté à mon premier message...Désolé de ne pas l'avoir précisé.
J'avais créer un fichier "Test_Macro" pour présenter mon problème et après avoir eu la solution de Modeste j'ai adapté le code pour un autre fichier de travail.

C'est donc bien pour le code inséré dans mon second message que je cherche à ne pas faire apparaître l'onglet "Tampon" (non je ne travail pas chez Tampax...;)

Je vais m'aider du code de JM pour essayer de faire cela moi même...

Je vous tiens vite informés..!

Merci encore
 

newpol

XLDnaute Nouveau
Re : Limiter longueur sélection via une valeur dans une cellule

De retour!

On utilisant la fonction Application.ScreenUpdating= False (en début de code) et = True ( en fin de code) on ne voit plus le déroulé de la macro:cool:

Encore merci pour votre aide et promis j'ouvrirai une nouvelle discussion la prochaine fois qu'un sujet est résolu !

KISS à vous deux!
 

Discussions similaires

Statistiques des forums

Discussions
312 443
Messages
2 088 473
Membres
103 863
dernier inscrit
OUIDDIR