Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Tri dans un tableau

  • Initiateur de la discussion Initiateur de la discussion Eric
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

Eric

Guest
Bonjour à tous,

Par une succession de calculs, j'obtiens un tableau, d'une 50è de lignes et 170 colonnes, rempli de chiffres.
Je souhaite extraire sur une nouvelle colonne uniquement les chiffres contenus entre 2 valeurs (les valeurs comprises entre 20 et 350 par exemple).
Qqu'un aurait-il une idée pour la procédure ?
 
Bonjour Eric,

C'est bien de décrire ton tableau, mais par contre :

"extraire sur une nouvelle colonne uniquement les chiffres contenus entre 2 valeurs "

Tu veux extraire quoi sur une seule nouvelle colonne ? n'importe quel chiffre (Dont la valeur est entre 20 et 350) sur toute la plage A1:FN50 ? ou sur une colonne précise...

Vu que c'est dimanche et que je me repose, si c'est une recherche sur une seule colonne (ici "B") un simple IF combiné avec un AND suffira en mettant cette formule sur la nouvelle colonne :

=SI(ET(B4>=20;B4<=350);B4;"")

Si tu veux chercher la même chose sur toute ta plage, là faudrait du VBA...

Tiens nous au courrant
Bon Dimanche
@+Thierry
 
Bonjour Thierry,

Merci pour ta réponse

Je souhaite effectivement sélectionner toute la plage A1:FN50 pour en
extraire sur la colonne HA tous les chiffres compris entre 2 valeurs
D'avance merci

Désolé pour cette réponse tardive, mais j'ai 10 heures d'avance sur la Métropole

Bonne soirée
@+
Eric
 
Bonsoir Eric, Bonsoir les ami(e)s, bonsoir le Forum

Bon alors pour ton truc, j'ai pensé un truc comme çà...
mais bon pas sur la Colonne "HA" car elle est comprise à l'intérieur de ta plage de recherche.... "A1:FN50"... Donc tu as dû te planter dans ton post ou je n'ai rien capté....

Malgré tout je me pose la question à quoi cela va-t'il te servir d'avoir tes données en vrac cette colonne en FO... (?)
(Elle seront listée dans l'ordre où les valeurs sont trouvées ligne par ligne...)

Bon voilà un code qui (entre autres solutions) devrait le faire...

Sub Recherche()
Dim LigneCollect As Integer
Dim LigneMatch As Integer
Dim ColonneMatch As Integer
Dim ValMin As Integer
Dim ValMax As Integer
On Error Resume Next
ValMin = 20
ValMax = 350

Range("A1:FN50").Select
For LigneMatch = 1 To 50
For ColonneMatch = 1 To 170
If Cells(LigneMatch, ColonneMatch).Value >= ValMin _
And Cells(LigneMatch, ColonneMatch).Value <= ValMax Then
LigneCollect = Range("FO65536").End(xlUp).Row + 1
Sheets(1).Range("FO" & LigneCollect).Value = _
Cells(LigneMatch, ColonneMatch).Value
End If
Next ColonneMatch
Next LigneMatch
Range("FO" & LigneCollect).Select
End Sub

Tiens nous au courant...
Bonne Nuit
@+Thierry
 
Bonjour Thierry,

merci pour ta réponse,

J'ai un message d'erreur : "erreur de compilation; End sub attendu"
alors que j'ai mis un End sub en dernière ligne....

voici ma macro telle qu'écrite dans mon fichier

'
Sub Recherche()
Dim LigneCollect As Integer
Dim LigneMatch As Integer
Dim ColonneMatch As Integer
Dim ValMin As Integer
Dim ValMax As Integer
On Error Resume Next
ValMin = 20
ValMax = 350

Range("A1:FN50").Select
For LigneMatch = 1 To 50
For ColonneMatch = 1 To 170
If Cells(LigneMatch, ColonneMatch).Value >= ValMin _
And Cells(LigneMatch, ColonneMatch).Value
Selection.ClearContents
End Sub
 
Bonjour Eric,

Euh oui... Enfin Non!

Tu n'as qu'à copier l'intégralité du code de mon post non ? Jusqu'au End Sub... Il y est ? non ? tu ne le vois pas ? As tu un problème d'affichage de ce site ?

Bon sinon je ne comprends rien au code que tu as posté...
Qu'est que çà vient faire au milieu "Selection.ClearContents" ...???

Ce ne doit pas pas reporter grand chose...

Bon ben je vais travailler là
Bonne journée ou nuit pour toi...
@+Thierry
 
Bonjour Thierry,

Je suis vraiment désolé,
J'ai modifié lignes et colonnes mais
J'ai toujours mon message d'erreur : "erreur de compilation; End sub attendu"


Sub Recherche()
Dim LigneCollect As Integer
Dim LigneMatch As Integer
Dim ColonneMatch As Integer
Dim ValMin As Integer
Dim ValMax As Integer
On Error Resume Next
ValMin = K1
ValMax = K2

Range("P12:FS51").Select
For LigneMatch = 12 To 51
For ColonneMatch = 16 To 175
If Cells(LigneMatch, ColonneMatch).Value >= ValMin _
And Cells(LigneMatch, ColonneMatch).Value <= ValMax Then
LigneCollect = Range("FO65536").End(xlUp).Row + 1
Sheets(1).Range("G" & LigneCollect).Value = _
Cells(LigneMatch, ColonneMatch).Value
End If
Next ColonneMatch
Next LigneMatch
Range("G" & LigneCollect).Select
End Sub
 
bonjour


tu dois avoir un problème avec le symbole "underscore" (espace souligné => _) utilisé dans le code qui permet de faire des retours à la ligne dans les instructions.

pour faire le retour à la ligne

tu écris ton texte abcdeefskjlfsjf puis un espace, puis l'underscore _ un autre espace et tu appuies sur shift et entrée en même temps, ensuite tu peux continuer d'écrire ton code.

bye
Stéphane
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…